Order instances on quotients #
We define a Preorder instance on a general Quotient, as the transitive closure of the
x ≤ y ∨ x ≈ y relation. This is the quotient object in the category of preorders.
We show that in the case of a linear order with Set.OrdConnected equivalence classes, this
relation is automatically transitive (we don't need to take the transitive closure), and gives a
LinearOrder structure on the quotient. In that case, the resulting order is sometimes called a
condensation.
Equations
- Quotient.instLE_mathlib = { le := Quotient.lift₂ (Relation.TransGen fun (x y : α) => x ≤ y ∨ x ≈ y) ⋯ }
theorem
Quotient.mk_le_mk
{α : Type u_1}
{s : Setoid α}
[LinearOrder α]
[H : ∀ (x : Quotient s), (Quotient.mk s ⁻¹' {x}).OrdConnected]
{x y : α}
:
instance
Quotient.instLinearOrderOfDecidableRelEquiv
{α : Type u_1}
{s : Setoid α}
[LinearOrder α]
[H : ∀ (x : Quotient s), (Quotient.mk s ⁻¹' {x}).OrdConnected]
[DecidableRel fun (x1 x2 : α) => x1 ≈ x2]
:
LinearOrder (Quotient s)
Equations
- One or more equations did not get rendered due to their size.
theorem
Quotient.lt_of_mk_lt_mk
{α : Type u_1}
{s : Setoid α}
[LinearOrder α]
[H : ∀ (x : Quotient s), (Quotient.mk s ⁻¹' {x}).OrdConnected]
{x y : α}
(h : ⟦x⟧ < ⟦y⟧)
: