Minimal elements under a preorder given as a term #
This file defines the set of minimal elements of a set under a preorder that is passed as a
term rather than found by instance resolution. Mathlib's Minimal reads the order from the
LE instance of the type, which does not fit a setting where many preorders on one type are
in play and the preorder is itself data, as with the lattice of preorders on a type. The
definition here unfolds to Minimal for the membership predicate, so the lemmas of
Mathlib.Order.Minimal apply after letI := p.
Main declarations #
Preorder.minimals: the minimal elements of a set under a preorder.Preorder.mem_minimals_of_subset: an element minimal in a set is minimal in any subset that contains it.Preorder.exists_le_mem_minimals: under a well-founded strict order, every element of a set lies above a minimal element of the set.Preorder.mem_minimals_iff_forall_le,Preorder.mem_minimals_pair: under a total preorder the minimal elements are the least elements, and minimality in a pair is the order relation.Preorder.minimals_nonempty,Preorder.minimals_nonempty_of_finite: on a finite type, and in a finite set, every nonempty set has a minimal element.Preorder.total_lift,Preorder.mem_minimals_lift: the pullback of a linear order along a map is total, and its minimal elements are the elements of least value.Preorder.minimals_ofCriteria_eq: under a criteria-derived preorder, when some element of the set satisfies every criterion, the minimal elements are exactly those that do.
The minimal elements of s under the preorder p.
Equations
- p.minimals s = {a : α | Minimal (fun (x : α) => x ∈ s) a}
Instances For
An element minimal in a set is minimal in any subset that contains it.
Two preorders that agree on a set have the same minimal elements of it.
The minimal elements of a set depend only on the strict order.
Under the preorder that relates every two elements, every element of a set is minimal.
Under a well-founded strict order every element of a set lies above a minimal element of the set.
Under a total preorder the minimal elements of a set are its least elements.
Under a total preorder an element is minimal in a pair exactly when it is below the other element.
On a finite type every nonempty set has a minimal element.
Every nonempty finite set has a minimal element.
Equations
- p.instDecidableMemSetMinimalsOfFintypeOfDecidableRelLeOfDecidablePred s a = decidable_of_iff (a ∈ s ∧ ∀ b ∈ s, b ≤ a → a ≤ b) ⋯
Equations
- Preorder.instDecidableMinimalOfFintypeOfDecidableLEOfDecidablePred_linglib b = decidable_of_iff (P b ∧ ∀ (c : β), P c → c ≤ b → b ≤ c) ⋯
Preorders pulled back along a map #
Equations
- Preorder.instDecidableRelLeOfDecidableLE_linglib f a b = inst✝ (f a) (f b)
Equations
- Preorder.instDecidableRelLtOfDecidableLT_linglib f a b = inst✝ (f a) (f b)
The pullback of a linear order is total.
The minimal elements under the pullback of a linear order are the elements of least value.
Under a criteria-derived preorder, when some element of the set satisfies every criterion, the minimal elements are exactly those that do.