Order homomorphisms and sets #
Sets on sum types are order-equivalent to pairs of sets on each summand.
Instances For
@[simp]
theorem
OrderIso.range_eq
{α : Type u_1}
{β : Type u_2}
[LE α]
[LE β]
(e : α ≃o β)
:
Set.range ⇑e = _root_.Set.univ
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
Order isomorphism between two equal sets.
Instances For
@[simp]
theorem
OrderIso.setCongr_symm_apply
{α : Type u_1}
[Preorder α]
(s t : Set α)
(h : s = t)
(b : { b : α // (fun (x : α) => x ∈ t) b })
:
(RelIso.symm (setCongr s t h)) b = ⟨↑b, ⋯⟩
@[simp]
theorem
OrderIso.setCongr_apply
{α : Type u_1}
[Preorder α]
(s t : Set α)
(h : s = t)
(a : { a : α // (fun (x : α) => x ∈ s) a })
:
(setCongr s t h) a = ⟨↑a, ⋯⟩
noncomputable def
OrderEmbedding.orderIso
{α : Type u_1}
{β : Type u_2}
[LE α]
[LE β]
{f : α ↪o β}
:
We can regard an order embedding as an order isomorphism to its range.
Instances For
@[simp]
theorem
OrderEmbedding.orderIso_apply
{α : Type u_1}
{β : Type u_2}
[LE α]
[LE β]
{f : α ↪o β}
(a : α)
:
orderIso a = ⟨f a, ⋯⟩
noncomputable def
StrictMonoOn.orderIso
{α : Type u_4}
{β : Type u_5}
[LinearOrder α]
[Preorder β]
(f : α → β)
(s : Set α)
(hf : StrictMonoOn f s)
:
If a function f is strictly monotone on a set s, then it defines an order isomorphism
between s and its image.
Instances For
noncomputable def
StrictMono.orderIso
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
:
A strictly monotone function from a linear order is an order isomorphism between its domain and its range.
Instances For
@[simp]
theorem
StrictMono.orderIso_apply
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(a : α)
:
(StrictMono.orderIso f h_mono) a = ⟨f a, ⋯⟩
noncomputable def
StrictMono.orderIsoOfSurjective
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
:
A strictly monotone surjective function from a linear order is an order isomorphism.
Instances For
@[simp]
theorem
StrictMono.coe_orderIsoOfSurjective
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
:
⇑(orderIsoOfSurjective f h_mono h_surj) = f
@[simp]
theorem
StrictMono.orderIsoOfSurjective_symm_apply_self
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
(a : α)
:
(orderIsoOfSurjective f h_mono h_surj).symm (f a) = a
theorem
StrictMono.orderIsoOfSurjective_self_symm_apply
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
(b : β)
:
f ((orderIsoOfSurjective f h_mono h_surj).symm b) = b
theorem
OrderEmbedding.range_inj
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[WellFoundedLT α]
[Preorder β]
{f g : α ↪o β}
:
Two order embeddings on a well-order are equal provided that their ranges are equal.
instance
OrderIso.subsingleton_of_wellFoundedLT
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[WellFoundedLT α]
[Preorder β]
:
Subsingleton (α ≃o β)
instance
OrderIso.subsingleton_of_wellFoundedLT'
{α : Type u_1}
{β : Type u_2}
[LinearOrder β]
[WellFoundedLT β]
[Preorder α]
:
Subsingleton (α ≃o β)
@[implicit_reducible]
instance
OrderIso.subsingleton_of_wellFoundedGT
{α : Type u_1}
{β : Type u_2}
[LinearOrder α]
[WellFoundedGT α]
[Preorder β]
:
Subsingleton (α ≃o β)
instance
OrderIso.subsingleton_of_wellFoundedGT'
{α : Type u_1}
{β : Type u_2}
[LinearOrder β]
[WellFoundedGT β]
[Preorder α]
:
Subsingleton (α ≃o β)
@[implicit_reducible]
Taking complements as an order isomorphism to the order dual.
Instances For
@[simp]
theorem
OrderIso.compl_apply
(α : Type u_1)
[BooleanAlgebra α]
(a✝ : α)
:
(compl α) a✝ = (OrderDual.toDual a✝)ᶜ
@[simp]
theorem
OrderIso.compl_symm_apply
(α : Type u_1)
[BooleanAlgebra α]
(a✝ : αᵒᵈ)
:
(RelIso.symm (compl α)) a✝ = (OrderDual.ofDual a✝)ᶜ