This PR introduces projected minima and maxima, also known as "argmin/argmax", for lists under the names `List.minOn` and `List.maxOn`. It also introduces `List.minIdxOn` and `List.maxIdxOn`, which return the index of the minimal or maximal element. Moreover, there are variants with `?` suffix that return an `Option`. The change further introduces new instances for opposite orders, such as `LE.opposite`, `IsLinearOrder.opposite` etc. The change also adds the missing `Std.lt_irrefl` lemma.
18 lines
572 B
Text
18 lines
572 B
Text
/-
|
|
Copyright (c) 2025 Lean FRO, LLC. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Paul Reichert
|
|
-/
|
|
module
|
|
|
|
prelude
|
|
public import Init.Data.Order.Ord
|
|
public import Init.Data.Order.Classes
|
|
public import Init.Data.Order.ClassesExtra
|
|
public import Init.Data.Order.Lemmas
|
|
public import Init.Data.Order.LemmasExtra
|
|
public import Init.Data.Order.Factories
|
|
public import Init.Data.Order.FactoriesExtra
|
|
public import Init.Data.Order.MinMaxOn
|
|
public import Init.Data.Order.Opposite
|
|
public import Init.Data.Order.PackageFactories
|