Unbundled relation classes #
In this file we prove some properties of Is* classes defined in
Mathlib/Order/Defs/Unbundled.lean.
The main difference between these classes and the usual order classes (Preorder etc) is that
usual classes extend LE and/or LT while these classes take a relation as an explicit argument.
Alias of Std.Refl.swap.
Alias of Std.Asymm.swap.
Alias of Std.Trichotomous.swap.
Construct a partial order from an isStrictOrder relation.
See note [reducible non-instances].
Equations
Instances For
Construct a linear order from an IsStrictTotalOrder relation.
See note [reducible non-instances].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Order connection #
A connected order is one satisfying the condition a < c → a < b ∨ b < c.
This is recognizable as an intuitionistic substitute for a ≤ b ∨ b ≤ a on
the constructive reals, and is also known as negative transitivity,
since the contrapositive asserts transitivity of the relation ¬ a < b.
- conn (a b c : α) : lt a c → lt a b ∨ lt b c
A connected order is one satisfying the condition
a < c → a < b ∨ b < c.
Instances
Inverse Image #
Alias of InvImage.trichotomous.
Well-order #
A well-founded relation. Not to be confused with IsWellOrder.
- wf : WellFounded r
The relation is
WellFounded, as a proposition.
Instances
The lexicographical order of well-founded relations is well-founded.
Induction on a well-founded relation.
All values are accessible under the well-founded relation.
Creates data, given a way to generate a value from all that compare as less under a well-founded
relation. See also IsWellFounded.fix_eq.
Equations
- IsWellFounded.fix r = ⋯.fix
Instances For
The value from IsWellFounded.fix is built from the previous ones as specified.
Derive a WellFoundedRelation instance from an isWellFounded instance.
Equations
- IsWellFounded.toWellFoundedRelation r = { rel := r, wf := ⋯ }
Instances For
A class for a well-founded relation <.
Equations
- WellFoundedLT α = IsWellFounded α fun (x1 x2 : α) => x1 < x2
Instances For
A class for a well-founded relation >.
Equations
- WellFoundedGT α = IsWellFounded α fun (x1 x2 : α) => x2 < x1
Instances For
A well order is a well-founded linear order.
- wf : WellFounded r
Instances
Inducts on a well-founded < relation.
Inducts on a well-founded > relation.
All values are accessible under the well-founded <.
All values are accessible under the well-founded >.
Creates data, given a way to generate a value from all that compare as lesser. See also
WellFoundedLT.fix_eq.
Equations
- WellFoundedLT.fix = IsWellFounded.fix fun (x1 x2 : α) => x1 < x2
Instances For
Creates data, given a way to generate a value from all that compare as greater.
See also WellFoundedGT.fix_eq.
Equations
- WellFoundedGT.fix = IsWellFounded.fix fun (x1 x2 : α) => x2 < x1
Instances For
The value from WellFoundedLT.fix is built from the previous ones as specified.
The value from WellFoundedGT.fix is built from the successive ones as specified.
Derive a WellFoundedRelation instance from a WellFoundedLT instance.
Equations
- WellFoundedLT.toWellFoundedRelation = IsWellFounded.toWellFoundedRelation fun (x1 x2 : α) => x1 < x2
Instances For
Derive a WellFoundedRelation instance from a WellFoundedGT instance.
Equations
- WellFoundedGT.toWellFoundedRelation = IsWellFounded.toWellFoundedRelation fun (x1 x2 : α) => x2 < x1
Instances For
Construct a decidable linear order from a well-founded linear order.
Equations
Instances For
Derive a WellFoundedRelation instance from an IsWellOrder instance.
Equations
- IsWellOrder.toHasWellFounded = { rel := fun (x1 x2 : α) => x1 < x2, wf := ⋯ }
Instances For
Alias of Prod.wellFoundedLT.
Alias of Prod.wellFoundedGT.
A bounded or final set. Not to be confused with Bornology.IsBounded.
Instances For
Alias of Order.Preimage.antisymm.
Strict-non strict relations #
An unbundled relation class stating that r is the nonstrict relation corresponding to the
strict relation s. Compare lt_iff_le_not_ge. This is mostly meant to provide dot
notation on (⊆) and (⊂).
The relation
ris the nonstrict relation corresponding to the strict relations.
Instances
A version of right_iff_left_not_left with explicit r and s.
⊆ and ⊂ #
Set notation form of le_of_eq_of_le
Set notation form of ne_of_not_ge
Set notation form of le_refl
Set notation form of le_antisymm
Set notation form of ge_antisymm
Set notation form of ne_of_not_le
Set notation form of le_antisymm_iff
Set notation form of le_rfl
Set notation form of ge_antisymm_iff
Set notation form of Eq.ge
Set notation form of le_of_le_of_eq
Set notation form of ge_of_eq
Set notation form of le_of_eq
Set notation form of le_trans
Set notation form of Eq.trans_le
Alias of LE.le.trans_eq.
Alias of Eq.subset.
Set notation form of Eq.le
Alias of subset_trans.
Set notation form of le_trans
Alias of subset_antisymm.
Set notation form of le_antisymm
Alias of superset_antisymm.
Set notation form of ge_antisymm
Set notation form of ne_of_lt
Set notation form of lt_irrefl
Set notation form of lt_of_lt_of_eq
Set notation form of ne_of_gt
Set notation form of lt_of_eq_of_lt
Set notation form of lt_trans
Set notation form of Eq.trans_lt
Set notation form of lt_asymm
Alias of ssubset_irrefl.
Set notation form of lt_irrefl
Alias of LT.lt.trans_eq.
Alias of LT.lt.false.
Alias of LT.lt.trans.
Alias of LT.lt.asymm.
Set notation form of LE.le.not_gt
Set notation form of LE.le.lt_of_not_ge
Set notation form of LE.le.lt_of_ne
Set notation form of LE.le.eq_or_lt
Set notation form of not_le_of_gt
Set notation form of LT.lt.not_ge
Set notation form of Ne.lt_of_le
Set notation form of LE.le.eq_of_not_lt'
Set notation form of lt_or_eq_of_le
Set notation form of le_of_lt
Set notation form of lt_of_le_of_ne
Set notation form of lt_of_lt_of_le
Set notation form of eq_of_le_of_not_lt
Set notation form of lt_iff_le_and_ne
Set notation form of le_iff_lt_or_eq
Set notation form of LT.lt.trans_le
Set notation form of LE.le.trans_lt
Set notation form of LE.le.eq_of_not_lt
Set notation form of eq_or_lt_of_le
Set notation form of not_lt_of_ge
Set notation form of lt_of_le_not_ge
Set notation form of LE.le.lt_or_eq
Set notation form of lt_of_ne_of_le
Set notation form of eq_of_le_of_not_lt'
Set notation form of lt_iff_le_not_ge
Set notation form of lt_of_le_of_lt
Set notation form of LT.lt.le
Alias of ssubset_iff_subset_not_superset.
Set notation form of lt_iff_le_not_ge
Alias of not_subset_of_ssuperset.
Set notation form of not_le_of_gt
Alias of not_ssubset_of_superset.
Set notation form of not_lt_of_ge
Alias of ssubset_of_subset_not_superset.
Set notation form of lt_of_le_not_ge
Alias of LT.lt.not_superset.
Set notation form of LT.lt.not_ge
Alias of LE.le.not_ssuperset.
Set notation form of LE.le.not_gt
Alias of LE.le.ssubset_of_not_superset.
Set notation form of LE.le.lt_of_not_ge
Alias of LT.lt.subset.
Set notation form of LT.lt.le
Alias of LT.lt.not_superset.
Set notation form of LT.lt.not_ge
Alias of LE.le.not_ssuperset.
Set notation form of LE.le.not_gt
Alias of LE.le.ssubset_of_not_superset.
Set notation form of LE.le.lt_of_not_ge
Alias of eq_of_subset_of_not_ssubset'.
Set notation form of eq_of_le_of_not_lt'
Alias of LE.le.eq_of_not_ssubset'.
Set notation form of LE.le.eq_of_not_lt'
Alias of LE.le.trans_ssubset.
Set notation form of LE.le.trans_lt
Alias of LT.lt.trans_subset.
Set notation form of LT.lt.trans_le
Alias of LE.le.ssubset_of_ne.
Set notation form of LE.le.lt_of_ne
Alias of LE.le.eq_or_ssubset.
Set notation form of LE.le.eq_or_lt
Alias of LE.le.ssubset_or_eq.
Set notation form of LE.le.lt_or_eq
Alias of LE.le.eq_of_not_ssubset.
Set notation form of LE.le.eq_of_not_lt
Alias of LE.le.eq_of_not_ssuperset.
Alias of LE.le.eq_of_not_ssubset'.
Set notation form of LE.le.eq_of_not_lt'
Alias of ssubset_iff_subset_and_ne.
Set notation form of lt_iff_le_and_ne
Conversion of bundled order typeclasses to unbundled relation typeclasses #
A version of Std.le_refl that works with Std.Refl (· ≥ ·).
This is needed for to_dual translations because Std.le_refl requires Std.Refl (· ≤ ·),
but after translation instReflLe becomes instReflGe : Std.Refl (· ≥ ·).
Alias of isTrans_ge.
Alias of isTrans_le.
Alias of isTrans_gt.
Alias of isTrans_lt.