Order homomorphisms and sets #
Order isomorphism between two equal sets.
Equations
- OrderIso.setCongr s t h = { toEquiv := Equiv.setCongr h, map_rel_iff' := (_ : ∀ {a b : ↑s}, (Equiv.setCongr h) a ≤ (Equiv.setCongr h) b ↔ (Equiv.setCongr h) a ≤ (Equiv.setCongr h) b) }
Instances For
noncomputable def
OrderEmbedding.orderIso
{α : Type u_2}
{β : Type u_3}
[LE α]
[LE β]
{f : α ↪o β}
:
We can regard an order embedding as an order isomorphism to its range.
Equations
- OrderEmbedding.orderIso = let src := Equiv.ofInjective ⇑f (_ : Function.Injective ⇑f); { toEquiv := src, map_rel_iff' := (_ : ∀ {a b : α}, f a ≤ f b ↔ a ≤ b) }
Instances For
noncomputable def
StrictMonoOn.orderIso
{α : Type u_6}
{β : Type u_7}
[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.
Equations
- StrictMonoOn.orderIso f s hf = { toEquiv := Set.BijOn.equiv f (_ : Set.BijOn f s (f '' s)), map_rel_iff' := (_ : ∀ {a b : ↑s}, f ↑a ≤ f ↑b ↔ ↑a ≤ ↑b) }
Instances For
@[simp]
theorem
StrictMono.orderIso_apply
{α : Type u_2}
{β : Type u_3}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(a : α)
:
(StrictMono.orderIso f h_mono) a = { val := f a, property := (_ : ∃ (y : α), f y = f a) }
noncomputable def
StrictMono.orderIso
{α : Type u_2}
{β : Type u_3}
[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.
Equations
- StrictMono.orderIso f h_mono = { toEquiv := Equiv.ofInjective f (_ : Function.Injective f), map_rel_iff' := (_ : ∀ {a b : α}, f a ≤ f b ↔ a ≤ b) }
Instances For
noncomputable def
StrictMono.orderIsoOfSurjective
{α : Type u_2}
{β : Type u_3}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
:
α ≃o β
A strictly monotone surjective function from a linear order is an order isomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
StrictMono.coe_orderIsoOfSurjective
{α : Type u_2}
{β : Type u_3}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
:
⇑(StrictMono.orderIsoOfSurjective f h_mono h_surj) = f
@[simp]
theorem
StrictMono.orderIsoOfSurjective_symm_apply_self
{α : Type u_2}
{β : Type u_3}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
(a : α)
:
(OrderIso.symm (StrictMono.orderIsoOfSurjective f h_mono h_surj)) (f a) = a
theorem
StrictMono.orderIsoOfSurjective_self_symm_apply
{α : Type u_2}
{β : Type u_3}
[LinearOrder α]
[Preorder β]
(f : α → β)
(h_mono : StrictMono f)
(h_surj : Function.Surjective f)
(b : β)
:
f ((OrderIso.symm (StrictMono.orderIsoOfSurjective f h_mono h_surj)) b) = b
@[simp]
theorem
OrderIso.compl_symm_apply
(α : Type u_2)
[BooleanAlgebra α]
:
∀ (a : αᵒᵈ), (RelIso.symm (OrderIso.compl α)) a = (compl ∘ ⇑OrderDual.ofDual) a
@[simp]
theorem
OrderIso.compl_apply
(α : Type u_2)
[BooleanAlgebra α]
:
∀ (a : α), (OrderIso.compl α) a = (⇑OrderDual.toDual ∘ compl) a
Taking complements as an order isomorphism to the order dual.
Equations
- One or more equations did not get rendered due to their size.