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.
@[instance_reducible]
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_reducible]
instance Quotient.instLinearOrder {α : 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⟧) :