Lexicographic order and order isomorphisms #
Main declarations #
OrderIso.sumLexIioIciandOrderIso.sumLexIicIoi: ifαis a linear order andx : α, thenαis order isomorphic to bothIio x ⊕ₗ Ici xandIic x ⊕ₗ Ioi x.Prod.Lex.prodUniqueandProd.Lex.uniqueProd:α ×ₗ βis order isomorphic to one side if the other side isUnique.
Relation isomorphism #
A relation is isomorphic to the lexicographic sum of elements less than x and elements not
less than x.
Equations
- RelIso.sumLexComplLeft r x = { toEquiv := Equiv.sumCompl fun (x_1 : α) => r x_1 x, map_rel_iff' := ⋯ }
Instances For
A relation is isomorphic to the lexicographic sum of elements not greater than x and elements
greater than x.
Equations
- RelIso.sumLexComplRight r x = { toEquiv := (Equiv.sumComm { x_1 : α // ¬r x x_1 } (Subtype (r x))).trans (Equiv.sumCompl (r x)), map_rel_iff' := ⋯ }
Instances For
Order isomorphism #
A linear order is isomorphic to the lexicographic sum of elements less than x and elements
greater or equal to x.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A linear order is isomorphic to the lexicographic sum of elements less or equal to x and
elements greater than x.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Degenerate products #
Lexicographic product type with Unique type on the right is OrderIso to the left.
Equations
Instances For
Equiv.prodAssoc promoted to an order isomorphism of lexicographic products.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equiv.sumProdDistrib promoted to an order isomorphism of lexicographic products.
Right distributivity doesn't hold. A counterexample is ℕ ×ₗ (Unit ⊕ₗ Unit) ≃o ℕ
which is not isomorphic to ℕ ×ₗ Unit ⊕ₗ ℕ ×ₗ Unit ≃o ℕ ⊕ₗ ℕ.
Equations
- One or more equations did not get rendered due to their size.