Order homomorphisms and sets #
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.