Monotonicity on intervals #
In this file we prove that a function is (strictly) monotone (or antitone) on a linear order α
provided that it is (strictly) monotone on (-∞, a]
and on [a, +∞)
. We also provide an order
isomorphism order_iso_Ioo_neg_one_one
between the open interval (-1, 1)
in a linear ordered
field and the whole field.
@[protected]
theorem
strict_mono_on.Iic_union_Ici
{α : Type u_1}
{β : Type u_2}
[linear_order α]
[preorder β]
{a : α}
{f : α → β}
(h₁ : strict_mono_on f (set.Iic a))
(h₂ : strict_mono_on f (set.Ici a)) :
If f
is strictly monotone both on (-∞, a]
and [a, ∞)
, then it is strictly monotone on the
whole line.
@[protected]
theorem
strict_anti_on.Iic_union_Ici
{α : Type u_1}
{β : Type u_2}
[linear_order α]
[preorder β]
{a : α}
{f : α → β}
(h₁ : strict_anti_on f (set.Iic a))
(h₂ : strict_anti_on f (set.Ici a)) :
If f
is strictly antitone both on (-∞, a]
and [a, ∞)
, then it is strictly antitone on the
whole line.
@[protected]
theorem
monotone_on.Iic_union_Ici
{α : Type u_1}
{β : Type u_2}
[linear_order α]
[preorder β]
{a : α}
{f : α → β}
(h₁ : monotone_on f (set.Iic a))
(h₂ : monotone_on f (set.Ici a)) :
monotone f
@[protected]
theorem
antitone_on.Iic_union_Ici
{α : Type u_1}
{β : Type u_2}
[linear_order α]
[preorder β]
{a : α}
{f : α → β}
(h₁ : antitone_on f (set.Iic a))
(h₂ : antitone_on f (set.Ici a)) :
antitone f
theorem
strict_mono_of_odd_strict_mono_on_nonneg
{G : Type u_1}
{H : Type u_2}
[linear_ordered_add_comm_group G]
[ordered_add_comm_group H]
{f : G → H}
(h₁ : ∀ (x : G), f (-x) = -f x)
(h₂ : strict_mono_on f (set.Ici 0)) :
theorem
monotone_of_odd_of_monotone_on_nonneg
{G : Type u_1}
{H : Type u_2}
[linear_ordered_add_comm_group G]
[ordered_add_comm_group H]
{f : G → H}
(h₁ : ∀ (x : G), f (-x) = -f x)
(h₂ : monotone_on f (set.Ici 0)) :
monotone f
In a linear ordered field, the whole field is order isomorphic to the open interval (-1, 1)
.
We consider the actual implementation to be a "black box", so it is irreducible.
theorem
Union_Ioo_of_mono_of_is_glb_of_is_lub
{α : Type u_1}
{β : Type u_2}
[semilattice_sup α]
[linear_order β]
{f g : α → β}
{a b : β}
(hf : antitone f)
(hg : monotone g)
(ha : is_glb (set.range f) a)
(hb : is_lub (set.range g) b) :