Intermediate Value Theorem #

In this file we prove the Intermediate Value Theorem: if f : α → β is a function defined on a connected set s that takes both values ≤ a and values ≥ a on s, then it is equal to a at some point of s. We also prove that intervals in a dense conditionally complete order are preconnected and any preconnected set is an interval. Then we specialize IVT to functions continuous on intervals.

Main results #

• IsPreconnected_I?? : all intervals I?? are preconnected,
• IsPreconnected.intermediate_value, intermediate_value_univ : Intermediate Value Theorem for connected sets and connected spaces, respectively;
• intermediate_value_Icc, intermediate_value_Icc': Intermediate Value Theorem for functions on closed intervals.

Miscellaneous facts #

• IsClosed.Icc_subset_of_forall_mem_nhdsWithin : “Continuous induction” principle; if s ∩ [a, b] is closed, a ∈ s, and for each x ∈ [a, b) ∩ s some of its right neighborhoods is included s, then [a, b] ⊆ s.
• IsClosed.Icc_subset_of_forall_exists_gt, IsClosed.mem_of_ge_of_forall_exists_gt : two other versions of the “continuous induction” principle.
• ContinuousOn.StrictMonoOn_of_InjOn_Ioo : Every continuous injective f : (a, b) → δ is strictly monotone or antitone (increasing or decreasing).

Tags #

intermediate value theorem, connected space, connected set

Intermediate value theorem on a (pre)connected space #

In this section we prove the following theorem (see IsPreconnected.intermediate_value₂): if f and g are two functions continuous on a preconnected set s, f a ≤ g a at some a ∈ s and g b ≤ f b at some b ∈ s, then f c = g c at some c ∈ s. We prove several versions of this statement, including the classical IVT that corresponds to a constant function g.

theorem intermediate_value_univ₂ {X : Type u} {α : Type v} [] [] [] {a : X} {b : X} {f : Xα} {g : Xα} (hf : ) (hg : ) (ha : f a g a) (hb : g b f b) :
∃ (x : X), f x = g x

Intermediate value theorem for two functions: if f and g are two continuous functions on a preconnected space and f a ≤ g a and g b ≤ f b, then for some x we have f x = g x.

theorem intermediate_value_univ₂_eventually₁ {X : Type u} {α : Type v} [] [] [] {a : X} {l : } [] {f : Xα} {g : Xα} (hf : ) (hg : ) (ha : f a g a) (he : g ≤ᶠ[l] f) :
∃ (x : X), f x = g x
theorem intermediate_value_univ₂_eventually₂ {X : Type u} {α : Type v} [] [] [] {l₁ : } {l₂ : } [] [] {f : Xα} {g : Xα} (hf : ) (hg : ) (he₁ : f ≤ᶠ[l₁] g) (he₂ : g ≤ᶠ[l₂] f) :
∃ (x : X), f x = g x
theorem IsPreconnected.intermediate_value₂ {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {b : X} (ha : a s) (hb : b s) {f : Xα} {g : Xα} (hf : ) (hg : ) (ha' : f a g a) (hb' : g b f b) :
∃ x ∈ s, f x = g x

Intermediate value theorem for two functions: if f and g are two functions continuous on a preconnected set s and for some a b ∈ s we have f a ≤ g a and g b ≤ f b, then for some x ∈ s we have f x = g x.

theorem IsPreconnected.intermediate_value₂_eventually₁ {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {l : } (ha : a s) [] (hl : ) {f : Xα} {g : Xα} (hf : ) (hg : ) (ha' : f a g a) (he : g ≤ᶠ[l] f) :
∃ x ∈ s, f x = g x
theorem IsPreconnected.intermediate_value₂_eventually₂ {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {l₁ : } {l₂ : } [] [] (hl₁ : ) (hl₂ : ) {f : Xα} {g : Xα} (hf : ) (hg : ) (he₁ : f ≤ᶠ[l₁] g) (he₂ : g ≤ᶠ[l₂] f) :
∃ x ∈ s, f x = g x
theorem IsPreconnected.intermediate_value {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {b : X} (ha : a s) (hb : b s) {f : Xα} (hf : ) :
Set.Icc (f a) (f b) f '' s

Intermediate Value Theorem for continuous functions on connected sets.

theorem IsPreconnected.intermediate_value_Ico {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {l : } (ha : a s) [] (hl : ) {f : Xα} (hf : ) {v : α} (ht : Filter.Tendsto f l (nhds v)) :
Set.Ico (f a) v f '' s
theorem IsPreconnected.intermediate_value_Ioc {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {l : } (ha : a s) [] (hl : ) {f : Xα} (hf : ) {v : α} (ht : Filter.Tendsto f l (nhds v)) :
Set.Ioc v (f a) f '' s
theorem IsPreconnected.intermediate_value_Ioo {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {l₁ : } {l₂ : } [] [] (hl₁ : ) (hl₂ : ) {f : Xα} (hf : ) {v₁ : α} {v₂ : α} (ht₁ : Filter.Tendsto f l₁ (nhds v₁)) (ht₂ : Filter.Tendsto f l₂ (nhds v₂)) :
Set.Ioo v₁ v₂ f '' s
theorem IsPreconnected.intermediate_value_Ici {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {l : } (ha : a s) [] (hl : ) {f : Xα} (hf : ) (ht : Filter.Tendsto f l Filter.atTop) :
Set.Ici (f a) f '' s
theorem IsPreconnected.intermediate_value_Iic {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {a : X} {l : } (ha : a s) [] (hl : ) {f : Xα} (hf : ) (ht : Filter.Tendsto f l Filter.atBot) :
Set.Iic (f a) f '' s
theorem IsPreconnected.intermediate_value_Ioi {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {l₁ : } {l₂ : } [] [] (hl₁ : ) (hl₂ : ) {f : Xα} (hf : ) {v : α} (ht₁ : Filter.Tendsto f l₁ (nhds v)) (ht₂ : Filter.Tendsto f l₂ Filter.atTop) :
f '' s
theorem IsPreconnected.intermediate_value_Iio {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {l₁ : } {l₂ : } [] [] (hl₁ : ) (hl₂ : ) {f : Xα} (hf : ) {v : α} (ht₁ : Filter.Tendsto f l₁ Filter.atBot) (ht₂ : Filter.Tendsto f l₂ (nhds v)) :
f '' s
theorem IsPreconnected.intermediate_value_Iii {X : Type u} {α : Type v} [] [] [] {s : Set X} (hs : ) {l₁ : } {l₂ : } [] [] (hl₁ : ) (hl₂ : ) {f : Xα} (hf : ) (ht₁ : Filter.Tendsto f l₁ Filter.atBot) (ht₂ : Filter.Tendsto f l₂ Filter.atTop) :
Set.univ f '' s
theorem intermediate_value_univ {X : Type u} {α : Type v} [] [] [] (a : X) (b : X) {f : Xα} (hf : ) :
Set.Icc (f a) (f b)

Intermediate Value Theorem for continuous functions on connected spaces.

theorem mem_range_of_exists_le_of_exists_ge {X : Type u} {α : Type v} [] [] [] {c : α} {f : Xα} (hf : ) (h₁ : ∃ (a : X), f a c) (h₂ : ∃ (b : X), c f b) :
c

Intermediate Value Theorem for continuous functions on connected spaces.

(Pre)connected sets in a linear order #

In this section we prove the following results:

• IsPreconnected.ordConnected: any preconnected set s in a linear order is ord_connected, i.e. a ∈ s and b ∈ s imply Icc a b ⊆ s;

• IsPreconnected.mem_intervals: any preconnected set s in a conditionally complete linear order is one of the intervals Set.Icc, set.Ico, set.Ioc, set.Ioo, Set.Ici, Set.Iic, Set.Ioi, Set.Iio; note that this is false for non-complete orders: e.g., in ℝ \ {0}, the set of positive numbers cannot be represented as Set.Ioi _.

theorem IsPreconnected.Icc_subset {α : Type v} [] [] {s : Set α} (hs : ) {a : α} {b : α} (ha : a s) (hb : b s) :
Set.Icc a b s

If a preconnected set contains endpoints of an interval, then it includes the whole interval.

theorem IsPreconnected.ordConnected {α : Type v} [] [] {s : Set α} (h : ) :
theorem IsConnected.Icc_subset {α : Type v} [] [] {s : Set α} (hs : ) {a : α} {b : α} (ha : a s) (hb : b s) :
Set.Icc a b s

If a preconnected set contains endpoints of an interval, then it includes the whole interval.

theorem IsPreconnected.eq_univ_of_unbounded {α : Type v} [] [] {s : Set α} (hs : ) (hb : ) (ha : ) :
s = Set.univ

If preconnected set in a linear order space is unbounded below and above, then it is the whole space.

theorem IsConnected.Ioo_csInf_csSup_subset {α : Type u} [] [] {s : Set α} (hs : ) (hb : ) (ha : ) :
Set.Ioo (sInf s) (sSup s) s

A bounded connected subset of a conditionally complete linear order includes the open interval (Inf s, Sup s).

theorem eq_Icc_csInf_csSup_of_connected_bdd_closed {α : Type u} [] [] {s : Set α} (hc : ) (hb : ) (ha : ) (hcl : ) :
s = Set.Icc (sInf s) (sSup s)
theorem IsPreconnected.Ioi_csInf_subset {α : Type u} [] [] {s : Set α} (hs : ) (hb : ) (ha : ) :
theorem IsPreconnected.Iio_csSup_subset {α : Type u} [] [] {s : Set α} (hs : ) (hb : ) (ha : ) :
theorem IsPreconnected.mem_intervals {α : Type u} [] [] {s : Set α} (hs : ) :
s {Set.Icc (sInf s) (sSup s), Set.Ico (sInf s) (sSup s), Set.Ioc (sInf s) (sSup s), Set.Ioo (sInf s) (sSup s), Set.Ici (sInf s), Set.Ioi (sInf s), Set.Iic (sSup s), Set.Iio (sSup s), Set.univ, }

A preconnected set in a conditionally complete linear order is either one of the intervals [Inf s, Sup s], [Inf s, Sup s), (Inf s, Sup s], (Inf s, Sup s), [Inf s, +∞), (Inf s, +∞), (-∞, Sup s], (-∞, Sup s), (-∞, +∞), or ∅. The converse statement requires α to be densely ordered.

theorem setOf_isPreconnected_subset_of_ordered {α : Type u} [] [] :
{s : Set α | } Set.range (Function.uncurry Set.Icc) Set.range (Function.uncurry Set.Ico) Set.range (Function.uncurry Set.Ioc) Set.range (Function.uncurry Set.Ioo) (Set.range Set.Ici Set.range Set.Ioi Set.range Set.Iic Set.range Set.Iio {Set.univ, })

A preconnected set is either one of the intervals Icc, Ico, Ioc, Ioo, Ici, Ioi, Iic, Iio, or univ, or ∅. The converse statement requires α to be densely ordered. Though one can represent ∅ as (Inf s, Inf s), we include it into the list of possible cases to improve readability.

Intervals are connected #

In this section we prove that a closed interval (hence, any ord_connected set) in a dense conditionally complete linear order is preconnected.

theorem IsClosed.mem_of_ge_of_forall_exists_gt {α : Type u} [] [] {a : α} {b : α} {s : Set α} (hs : IsClosed (s Set.Icc a b)) (ha : a s) (hab : a b) (hgt : xs Set.Ico a b, Set.Nonempty (s Set.Ioc x b)) :
b s

A "continuous induction principle" for a closed interval: if a set s meets [a, b] on a closed subset, contains a, and the set s ∩ [a, b) has no maximal point, then b ∈ s.

theorem IsClosed.Icc_subset_of_forall_exists_gt {α : Type u} [] [] {a : α} {b : α} {s : Set α} (hs : IsClosed (s Set.Icc a b)) (ha : a s) (hgt : xs Set.Ico a b, y, Set.Nonempty (s Set.Ioc x y)) :
Set.Icc a b s

A "continuous induction principle" for a closed interval: if a set s meets [a, b] on a closed subset, contains a, and for any a ≤ x < y ≤ b, x ∈ s, the set s ∩ (x, y] is not empty, then [a, b] ⊆ s.

theorem IsClosed.Icc_subset_of_forall_mem_nhdsWithin {α : Type u} [] [] [] {a : α} {b : α} {s : Set α} (hs : IsClosed (s Set.Icc a b)) (ha : a s) (hgt : xs Set.Ico a b, s nhdsWithin x ()) :
Set.Icc a b s

A "continuous induction principle" for a closed interval: if a set s meets [a, b] on a closed subset, contains a, and for any x ∈ s ∩ [a, b) the set s includes some open neighborhood of x within (x, +∞), then [a, b] ⊆ s.

theorem isPreconnected_Icc_aux {α : Type u} [] [] [] {a : α} {b : α} (x : α) (y : α) (s : Set α) (t : Set α) (hxy : x y) (hs : ) (ht : ) (hab : Set.Icc a b s t) (hx : x Set.Icc a b s) (hy : y Set.Icc a b t) :
theorem isPreconnected_Icc {α : Type u} [] [] [] {a : α} {b : α} :

A closed interval in a densely ordered conditionally complete linear order is preconnected.

theorem isPreconnected_uIcc {α : Type u} [] [] [] {a : α} {b : α} :
theorem Set.OrdConnected.isPreconnected {α : Type u} [] [] [] {s : Set α} (h : ) :
theorem isPreconnected_iff_ordConnected {α : Type u} [] [] [] {s : Set α} :
theorem isPreconnected_Ici {α : Type u} [] [] [] {a : α} :
theorem isPreconnected_Iic {α : Type u} [] [] [] {a : α} :
theorem isPreconnected_Iio {α : Type u} [] [] [] {a : α} :
theorem isPreconnected_Ioi {α : Type u} [] [] [] {a : α} :
theorem isPreconnected_Ioo {α : Type u} [] [] [] {a : α} {b : α} :
theorem isPreconnected_Ioc {α : Type u} [] [] [] {a : α} {b : α} :
theorem isPreconnected_Ico {α : Type u} [] [] [] {a : α} {b : α} :
theorem isConnected_Ici {α : Type u} [] [] [] {a : α} :
theorem isConnected_Iic {α : Type u} [] [] [] {a : α} :
theorem isConnected_Ioi {α : Type u} [] [] [] {a : α} [] :
theorem isConnected_Iio {α : Type u} [] [] [] {a : α} [] :
theorem isConnected_Icc {α : Type u} [] [] [] {a : α} {b : α} (h : a b) :
theorem isConnected_Ioo {α : Type u} [] [] [] {a : α} {b : α} (h : a < b) :
theorem isConnected_Ioc {α : Type u} [] [] [] {a : α} {b : α} (h : a < b) :
theorem isConnected_Ico {α : Type u} [] [] [] {a : α} {b : α} (h : a < b) :
instance ordered_connected_space {α : Type u} [] [] [] :
Equations
• (_ : ) = (_ : )
theorem setOf_isPreconnected_eq_of_ordered {α : Type u} [] [] [] :
{s : Set α | } = Set.range (Function.uncurry Set.Icc) Set.range (Function.uncurry Set.Ico) Set.range (Function.uncurry Set.Ioc) Set.range (Function.uncurry Set.Ioo) (Set.range Set.Ici Set.range Set.Ioi Set.range Set.Iic Set.range Set.Iio {Set.univ, })

In a dense conditionally complete linear order, the set of preconnected sets is exactly the set of the intervals Icc, Ico, Ioc, Ioo, Ici, Ioi, Iic, Iio, (-∞, +∞), or ∅. Though one can represent ∅ as (sInf s, sInf s), we include it into the list of possible cases to improve readability.

Intermediate Value Theorem on an interval #

In this section we prove several versions of the Intermediate Value Theorem for a function continuous on an interval.

theorem intermediate_value_Icc {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Icc (f a) (f b) f '' Set.Icc a b

Intermediate Value Theorem for continuous functions on closed intervals, case f a ≤ t ≤ f b.

theorem intermediate_value_Icc' {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Icc (f b) (f a) f '' Set.Icc a b

Intermediate Value Theorem for continuous functions on closed intervals, case f a ≥ t ≥ f b.

theorem intermediate_value_uIcc {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} {f : αδ} (hf : ContinuousOn f (Set.uIcc a b)) :
Set.uIcc (f a) (f b) f '' Set.uIcc a b

Intermediate Value Theorem for continuous functions on closed intervals, unordered case.

theorem intermediate_value_Ico {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Ico (f a) (f b) f '' Set.Ico a b
theorem intermediate_value_Ico' {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Ioc (f b) (f a) f '' Set.Ico a b
theorem intermediate_value_Ioc {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Ioc (f a) (f b) f '' Set.Ioc a b
theorem intermediate_value_Ioc' {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Ico (f b) (f a) f '' Set.Ioc a b
theorem intermediate_value_Ioo {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Ioo (f a) (f b) f '' Set.Ioo a b
theorem intermediate_value_Ioo' {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} (hab : a b) {f : αδ} (hf : ContinuousOn f (Set.Icc a b)) :
Set.Ioo (f b) (f a) f '' Set.Ioo a b
theorem ContinuousOn.surjOn_Icc {α : Type u} [] [] [] {δ : Type u_1} [] [] {s : Set α} [hs : ] {f : αδ} (hf : ) {a : α} {b : α} (ha : a s) (hb : b s) :
Set.SurjOn f s (Set.Icc (f a) (f b))

Intermediate value theorem: if f is continuous on an order-connected set s and a, b are two points of this set, then f sends s to a superset of Icc (f x) (f y).

theorem ContinuousOn.surjOn_uIcc {α : Type u} [] [] [] {δ : Type u_1} [] [] {s : Set α} [hs : ] {f : αδ} (hf : ) {a : α} {b : α} (ha : a s) (hb : b s) :
Set.SurjOn f s (Set.uIcc (f a) (f b))

Intermediate value theorem: if f is continuous on an order-connected set s and a, b are two points of this set, then f sends s to a superset of [f x, f y].

theorem Continuous.surjective {α : Type u} [] [] [] {δ : Type u_1} [] [] {f : αδ} (hf : ) (h_top : Filter.Tendsto f Filter.atTop Filter.atTop) (h_bot : Filter.Tendsto f Filter.atBot Filter.atBot) :

A continuous function which tendsto Filter.atTop along Filter.atTop and to atBot along at_bot is surjective.

theorem Continuous.surjective' {α : Type u} [] [] [] {δ : Type u_1} [] [] {f : αδ} (hf : ) (h_top : Filter.Tendsto f Filter.atBot Filter.atTop) (h_bot : Filter.Tendsto f Filter.atTop Filter.atBot) :

A continuous function which tendsto Filter.atBot along Filter.atTop and to Filter.atTop along atBot is surjective.

theorem ContinuousOn.surjOn_of_tendsto {α : Type u} [] [] [] {δ : Type u_1} [] [] {f : αδ} {s : Set α} [] (hs : ) (hf : ) (hbot : Filter.Tendsto (fun (x : s) => f x) Filter.atBot Filter.atBot) (htop : Filter.Tendsto (fun (x : s) => f x) Filter.atTop Filter.atTop) :
Set.SurjOn f s Set.univ

If a function f : α → β is continuous on a nonempty interval s, its restriction to s tends to at_bot : Filter β along at_bot : Filter ↥s and tends to Filter.atTop : Filter β along Filter.atTop : Filter ↥s, then the restriction of f to s is surjective. We formulate the conclusion as Function.surjOn f s Set.univ.

theorem ContinuousOn.surjOn_of_tendsto' {α : Type u} [] [] [] {δ : Type u_1} [] [] {f : αδ} {s : Set α} [] (hs : ) (hf : ) (hbot : Filter.Tendsto (fun (x : s) => f x) Filter.atBot Filter.atTop) (htop : Filter.Tendsto (fun (x : s) => f x) Filter.atTop Filter.atBot) :
Set.SurjOn f s Set.univ

If a function f : α → β is continuous on a nonempty interval s, its restriction to s tends to Filter.atTop : Filter β along Filter.atBot : Filter ↥s and tends to Filter.atBot : Filter β along Filter.atTop : Filter ↥s, then the restriction of f to s is surjective. We formulate the conclusion as Function.surjOn f s Set.univ.

theorem Continuous.strictMono_of_inj_boundedOrder {α : Type u} [] [] [] {δ : Type u_1} [] [] [] {f : αδ} (hf_c : ) (hf : f f ) (hf_i : ) :
theorem Continuous.strictAnti_of_inj_boundedOrder {α : Type u} [] [] [] {δ : Type u_1} [] [] [] {f : αδ} (hf_c : ) (hf : f f ) (hf_i : ) :
theorem Continuous.strictMono_of_inj_boundedOrder' {α : Type u} [] [] [] {δ : Type u_1} [] [] [] {f : αδ} (hf_c : ) (hf_i : ) :
theorem Continuous.strictMonoOn_of_inj_rigidity {α : Type u} [] [] [] {δ : Type u_1} [] [] {f : αδ} (hf_c : ) (hf_i : ) {a : α} {b : α} (hab : a < b) (hf_mono : StrictMonoOn f (Set.Icc a b)) :

Suppose α is equipped with a conditionally complete linear dense order and f : α → δ is continuous and injective. Then f is strictly monotone (increasing) if it is strictly monotone (increasing) on some closed interval [a, b].

theorem ContinuousOn.strictMonoOn_of_injOn_Icc {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} {f : αδ} (hab : a b) (hfab : f a f b) (hf_c : ContinuousOn f (Set.Icc a b)) (hf_i : Set.InjOn f (Set.Icc a b)) :

Suppose f : [a, b] → δ is continuous and injective. Then f is strictly monotone (increasing) if f(a) ≤ f(b).

theorem ContinuousOn.strictAntiOn_of_injOn_Icc {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} {f : αδ} (hab : a b) (hfab : f b f a) (hf_c : ContinuousOn f (Set.Icc a b)) (hf_i : Set.InjOn f (Set.Icc a b)) :

Suppose f : [a, b] → δ is continuous and injective. Then f is strictly antitone (decreasing) if f(b) ≤ f(a).

theorem ContinuousOn.strictMonoOn_of_injOn_Icc' {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} {f : αδ} (hab : a b) (hf_c : ContinuousOn f (Set.Icc a b)) (hf_i : Set.InjOn f (Set.Icc a b)) :

Suppose f : [a, b] → δ is continuous and injective. Then f is strictly monotone or antitone (increasing or decreasing).

theorem Continuous.strictMono_of_inj {α : Type u} [] [] [] {δ : Type u_1} [] [] {f : αδ} (hf_c : ) (hf_i : ) :

Suppose α is equipped with a conditionally complete linear dense order and f : α → δ is continuous and injective. Then f is strictly monotone or antitone (increasing or decreasing).

theorem ContinuousOn.strictMonoOn_of_injOn_Ioo {α : Type u} [] [] [] {δ : Type u_1} [] [] {a : α} {b : α} {f : αδ} (hab : a < b) (hf_c : ContinuousOn f (Set.Ioo a b)) (hf_i : Set.InjOn f (Set.Ioo a b)) :

Every continuous injective f : (a, b) → δ is strictly monotone or antitone (increasing or decreasing).