Module docstring
{"# Order homomorphisms
This file defines order homomorphisms, which are bundled monotone functions. A preorder
homomorphism f : α →o β is a function α → β along with a proof that ∀ x y, x ≤ y → f x ≤ f y.
Main definitions
In this file we define the following bundled monotone maps:
* OrderHom α β a.k.a. α →o β: Preorder homomorphism.
An OrderHom α β is a function f : α → β such that a₁ ≤ a₂ → f a₁ ≤ f a₂
* OrderEmbedding α β a.k.a. α ↪o β: Relation embedding.
An OrderEmbedding α β is an embedding f : α ↪ β such that a ≤ b ↔ f a ≤ f b.
Defined as an abbreviation of @RelEmbedding α β (≤) (≤).
* OrderIso: Relation isomorphism.
An OrderIso α β is an equivalence f : α ≃ β such that a ≤ b ↔ f a ≤ f b.
Defined as an abbreviation of @RelIso α β (≤) (≤).
We also define many OrderHoms. In some cases we define two versions, one with ₘ suffix and
one without it (e.g., OrderHom.compₘ and OrderHom.comp). This means that the former
function is a \"more bundled\" version of the latter. We can't just drop the \"less bundled\" version
because the more bundled version usually does not work with dot notation.
OrderHom.id: identity map asα →o α;OrderHom.curry: an order isomorphism betweenα × β →o γandα →o β →o γ;OrderHom.comp: composition of two bundled monotone maps;OrderHom.compₘ: composition of bundled monotone maps as a bundled monotone map;OrderHom.const: constant function as a bundled monotone map;OrderHom.prod: combineα →o βandα →o γintoα →o β × γ;OrderHom.prodₘ: a more bundled version ofOrderHom.prod;OrderHom.prodIso: order isomorphism betweenα →o β × γand(α →o β) × (α →o γ);OrderHom.diag: diagonal embedding ofαintoα × αas a bundled monotone map;OrderHom.onDiag: restrict a monotone mapα →o α →o βto the diagonal;OrderHom.fst: projectionProd.fst : α × β → αas a bundled monotone map;OrderHom.snd: projectionProd.snd : α × β → βas a bundled monotone map;OrderHom.prodMap:Prod.map f gas a bundled monotone map;Pi.evalOrderHom: evaluation of a function at a pointFunction.eval ias a bundled monotone map;OrderHom.coeFnHom: coercion to function as a bundled monotone map;OrderHom.apply: application of anOrderHomat a point as a bundled monotone map;OrderHom.pi: combine a family of monotone mapsf i : α →o π iinto a monotone mapα →o Π i, π i;OrderHom.piIso: order isomorphism betweenα →o Π i, π iandΠ i, α →o π i;OrderHom.subtype.val: embeddingSubtype.val : Subtype p → αas a bundled monotone map;OrderHom.dual: reinterpret a monotone mapα →o βas a monotone mapαᵒᵈ →o βᵒᵈ;OrderHom.dualIso: order isomorphism betweenα →o βand(αᵒᵈ →o βᵒᵈ)ᵒᵈ;OrderHom.compl: order isomorphismα ≃o αᵒᵈgiven by taking complements in a boolean algebra;
We also define two functions to convert other bundled maps to α →o β:
OrderEmbedding.toOrderHom: convertα ↪o βtoα →o β;RelHom.toOrderHom: convert aRelHombetween strict orders to anOrderHom.
Tags
monotone map, bundled morphism "}