mathlib documentation

topology.algebra.order.basic

Theory of topology on ordered spaces #

Main definitions #

The order topology on an ordered space is the topology generated by all open intervals (or equivalently by those of the form (-∞, a) and (b, +∞)). We define it as preorder.topology α. However, we do not register it as an instance (as many existing ordered types already have topologies, which would be equal but not definitionally equal to preorder.topology α). Instead, we introduce a class order_topology α (which is a Prop, also known as a mixin) saying that on the type α having already a topological space structure and a preorder structure, the topological structure is equal to the order topology.

We also introduce another (mixin) class order_closed_topology α saying that the set of points (x, y) with x ≤ y is closed in the product space. This is automatically satisfied on a linear order with the order topology.

We prove many basic properties of such topologies.

Main statements #

This file contains the proofs of the following facts. For exact requirements (order_closed_topology vs order_topology, preorder vs partial_order vs linear_order etc) see their statements.

Open / closed sets #

Convergence and inequalities #

Min, max, Sup and Inf #

Implementation notes #

We do not register the order topology as an instance on a preorder (or even on a linear order). Indeed, on many such spaces, a topology has already been constructed in a different way (think of the discrete spaces or , or that could inherit a topology as the completion of ), and is in general not defeq to the one generated by the intervals. We make it available as a definition preorder.topology α though, that can be registered as an instance when necessary, or for specific types.

@[class]
structure order_closed_topology (α : Type u_1) [topological_space α] [preorder α] :
Prop

A topology on a set which is both a topological space and a preorder is order-closed if the set of points (x, y) with x ≤ y is closed in the product space. We introduce this as a mixin. This property is satisfied for the order topology on a linear order, but it can be satisfied more generally, and suffices to derive many interesting properties relating order and topology.

Instances of this typeclass
theorem dense.order_dual {α : Type u} [topological_space α] {s : set α} (hs : dense s) :
@[protected, instance]
theorem is_closed_le_prod {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] :
is_closed {p : α × α | p.fst p.snd}
theorem is_closed_le {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f g : β α} (hf : continuous f) (hg : continuous g) :
is_closed {b : β | f b g b}
theorem is_closed_le' {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] (a : α) :
is_closed {b : α | b a}
theorem is_closed_Iic {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] {a : α} :
theorem is_closed_ge' {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] (a : α) :
is_closed {b : α | a b}
theorem is_closed_Ici {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] {a : α} :
theorem is_closed_Icc {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] {a b : α} :
@[simp]
theorem closure_Icc {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] (a b : α) :
@[simp]
theorem closure_Iic {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] (a : α) :
@[simp]
theorem closure_Ici {α : Type u} [topological_space α] [preorder α] [t : order_closed_topology α] (a : α) :
theorem le_of_tendsto_of_tendsto {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f g : β α} {b : filter β} {a₁ a₂ : α} [b.ne_bot] (hf : filter.tendsto f b (nhds a₁)) (hg : filter.tendsto g b (nhds a₂)) (h : f ≤ᶠ[b] g) :
a₁ a₂
theorem tendsto_le_of_eventually_le {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f g : β α} {b : filter β} {a₁ a₂ : α} [b.ne_bot] (hf : filter.tendsto f b (nhds a₁)) (hg : filter.tendsto g b (nhds a₂)) (h : f ≤ᶠ[b] g) :
a₁ a₂

Alias of le_of_tendsto_of_tendsto.

theorem le_of_tendsto_of_tendsto' {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f g : β α} {b : filter β} {a₁ a₂ : α} [b.ne_bot] (hf : filter.tendsto f b (nhds a₁)) (hg : filter.tendsto g b (nhds a₂)) (h : (x : β), f x g x) :
a₁ a₂
theorem le_of_tendsto {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f : β α} {a b : α} {x : filter β} [x.ne_bot] (lim : filter.tendsto f x (nhds a)) (h : ∀ᶠ (c : β) in x, f c b) :
a b
theorem le_of_tendsto' {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f : β α} {a b : α} {x : filter β} [x.ne_bot] (lim : filter.tendsto f x (nhds a)) (h : (c : β), f c b) :
a b
theorem ge_of_tendsto {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f : β α} {a b : α} {x : filter β} [x.ne_bot] (lim : filter.tendsto f x (nhds a)) (h : ∀ᶠ (c : β) in x, b f c) :
b a
theorem ge_of_tendsto' {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] {f : β α} {a b : α} {x : filter β} [x.ne_bot] (lim : filter.tendsto f x (nhds a)) (h : (c : β), b f c) :
b a
@[simp]
theorem closure_le_eq {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f g : β α} (hf : continuous f) (hg : continuous g) :
closure {b : β | f b g b} = {b : β | f b g b}
theorem closure_lt_subset_le {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f g : β α} (hf : continuous f) (hg : continuous g) :
closure {b : β | f b < g b} {b : β | f b g b}
theorem continuous_within_at.closure_le {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f g : β α} {s : set β} {x : β} (hx : x closure s) (hf : continuous_within_at f s x) (hg : continuous_within_at g s x) (h : (y : β), y s f y g y) :
f x g x
theorem is_closed.is_closed_le {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f g : β α} {s : set β} (hs : is_closed s) (hf : continuous_on f s) (hg : continuous_on g s) :
is_closed {x ∈ s | f x g x}

If s is a closed set and two functions f and g are continuous on s, then the set {x ∈ s | f x ≤ g x} is a closed set.

theorem le_on_closure {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f g : β α} {s : set β} (h : (x : β), x s f x g x) (hf : continuous_on f (closure s)) (hg : continuous_on g (closure s)) ⦃x : β⦄ (hx : x closure s) :
f x g x
theorem is_closed.epigraph {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f : β α} {s : set β} (hs : is_closed s) (hf : continuous_on f s) :
is_closed {p : β × α | p.fst s f p.fst p.snd}
theorem is_closed.hypograph {α : Type u} {β : Type v} [topological_space α] [preorder α] [t : order_closed_topology α] [topological_space β] {f : β α} {s : set β} (hs : is_closed s) (hf : continuous_on f s) :
is_closed {p : β × α | p.fst s p.snd f p.fst}
theorem nhds_within_Ici_ne_bot {α : Type u} [topological_space α] [preorder α] {a b : α} (H₂ : a b) :
@[instance]
theorem nhds_within_Ici_self_ne_bot {α : Type u} [topological_space α] [preorder α] (a : α) :
theorem nhds_within_Iic_ne_bot {α : Type u} [topological_space α] [preorder α] {a b : α} (H : a b) :
@[instance]
theorem nhds_within_Iic_self_ne_bot {α : Type u} [topological_space α] [preorder α] (a : α) :
@[protected, instance]
theorem is_open_lt_prod {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] :
is_open {p : α × α | p.fst < p.snd}
theorem is_open_lt {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {f g : β α} (hf : continuous f) (hg : continuous g) :
is_open {b : β | f b < g b}
theorem is_open_Iio {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a : α} :
theorem is_open_Ioi {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a : α} :
theorem is_open_Ioo {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} :
@[simp]
theorem interior_Ioi {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a : α} :
@[simp]
theorem interior_Iio {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a : α} :
@[simp]
theorem interior_Ioo {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} :
theorem Iio_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (h : a < b) :
theorem Ioi_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (h : a < b) :
theorem Iic_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (h : a < b) :
theorem Ici_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (h : a < b) :
theorem Ioo_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b x : α} (ha : a < x) (hb : x < b) :
theorem Ioc_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b x : α} (ha : a < x) (hb : x < b) :
theorem Ico_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b x : α} (ha : a < x) (hb : x < b) :
theorem Icc_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b x : α} (ha : a < x) (hb : x < b) :
theorem eventually_lt_of_tendsto_lt {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {l : filter γ} {f : γ α} {u v : α} (hv : v < u) (h : filter.tendsto f l (nhds v)) :
∀ᶠ (a : γ) in l, f a < u
theorem eventually_gt_of_tendsto_gt {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {l : filter γ} {f : γ α} {u v : α} (hv : u < v) (h : filter.tendsto f l (nhds v)) :
∀ᶠ (a : γ) in l, u < f a
theorem eventually_le_of_tendsto_lt {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {l : filter γ} {f : γ α} {u v : α} (hv : v < u) (h : filter.tendsto f l (nhds v)) :
∀ᶠ (a : γ) in l, f a u
theorem eventually_ge_of_tendsto_gt {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {l : filter γ} {f : γ α} {u v : α} (hv : u < v) (h : filter.tendsto f l (nhds v)) :
∀ᶠ (a : γ) in l, u f a

Neighborhoods to the left and to the right on an order_closed_topology #

Limits to the left and to the right of real functions are defined in terms of neighborhoods to the left and to the right, either open or closed, i.e., members of 𝓝[>] a and 𝓝[≥] a on the right, and similarly on the left. Here we simply prove that all right-neighborhoods of a point are equal, and we'll prove later other useful characterizations which require the stronger hypothesis order_topology α

Right neighborhoods, point excluded #

theorem Ioo_mem_nhds_within_Ioi {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ico a c) :
theorem Ioc_mem_nhds_within_Ioi {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ico a c) :
theorem Ico_mem_nhds_within_Ioi {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ico a c) :
theorem Icc_mem_nhds_within_Ioi {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ico a c) :
@[simp]
@[simp]
@[simp]
theorem continuous_within_at_Ioc_iff_Ioi {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {a b : α} {f : α β} (h : a < b) :
@[simp]
theorem continuous_within_at_Ioo_iff_Ioi {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {a b : α} {f : α β} (h : a < b) :

Left neighborhoods, point excluded #

theorem Ioo_mem_nhds_within_Iio {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioc a c) :
theorem Ico_mem_nhds_within_Iio {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioc a c) :
theorem Ioc_mem_nhds_within_Iio {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioc a c) :
theorem Icc_mem_nhds_within_Iio {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioc a c) :
@[simp]
@[simp]
@[simp]
theorem continuous_within_at_Ico_iff_Iio {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space γ] {a b : α} {f : α γ} (h : a < b) :
@[simp]
theorem continuous_within_at_Ioo_iff_Iio {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space γ] {a b : α} {f : α γ} (h : a < b) :

Right neighborhoods, point included #

theorem Ioo_mem_nhds_within_Ici {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioo a c) :
theorem Ioc_mem_nhds_within_Ici {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioo a c) :
theorem Ico_mem_nhds_within_Ici {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ico a c) :
theorem Icc_mem_nhds_within_Ici {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ico a c) :
@[simp]
@[simp]
@[simp]
theorem continuous_within_at_Icc_iff_Ici {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {a b : α} {f : α β} (h : a < b) :
@[simp]
theorem continuous_within_at_Ico_iff_Ici {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {a b : α} {f : α β} (h : a < b) :

Left neighborhoods, point included #

theorem Ioo_mem_nhds_within_Iic {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioo a c) :
theorem Ico_mem_nhds_within_Iic {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioo a c) :
theorem Ioc_mem_nhds_within_Iic {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioc a c) :
theorem Icc_mem_nhds_within_Iic {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b c : α} (H : b set.Ioc a c) :
@[simp]
@[simp]
@[simp]
theorem continuous_within_at_Icc_iff_Iic {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {a b : α} {f : α β} (h : a < b) :
@[simp]
theorem continuous_within_at_Ioc_iff_Iic {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [topological_space β] {a b : α} {f : α β} (h : a < b) :
theorem lt_subset_interior_le {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] (hf : continuous f) (hg : continuous g) :
{b : β | f b < g b} interior {b : β | f b g b}
theorem frontier_le_subset_eq {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] (hf : continuous f) (hg : continuous g) :
frontier {b : β | f b g b} {b : β | f b = g b}
theorem frontier_lt_subset_eq {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] (hf : continuous f) (hg : continuous g) :
frontier {b : β | f b < g b} {b : β | f b = g b}
theorem continuous_if_le {α : Type u} {β : Type v} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] [topological_space γ] [Π (x : β), decidable (f x g x)] {f' g' : β γ} (hf : continuous f) (hg : continuous g) (hf' : continuous_on f' {x : β | f x g x}) (hg' : continuous_on g' {x : β | g x f x}) (hfg : (x : β), f x = g x f' x = g' x) :
continuous (λ (x : β), ite (f x g x) (f' x) (g' x))
theorem continuous.if_le {α : Type u} {β : Type v} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] [topological_space γ] [Π (x : β), decidable (f x g x)] {f' g' : β γ} (hf' : continuous f') (hg' : continuous g') (hf : continuous f) (hg : continuous g) (hfg : (x : β), f x = g x f' x = g' x) :
continuous (λ (x : β), ite (f x g x) (f' x) (g' x))
theorem tendsto.eventually_lt {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_closed_topology α] {l : filter γ} {f g : γ α} {y z : α} (hf : filter.tendsto f l (nhds y)) (hg : filter.tendsto g l (nhds z)) (hyz : y < z) :
∀ᶠ (x : γ) in l, f x < g x
theorem continuous_at.eventually_lt {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] {x₀ : β} (hf : continuous_at f x₀) (hg : continuous_at g x₀) (hfg : f x₀ < g x₀) :
∀ᶠ (x : β) in nhds x₀, f x < g x
@[continuity]
theorem continuous.min {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] (hf : continuous f) (hg : continuous g) :
continuous (λ (b : β), linear_order.min (f b) (g b))
@[continuity]
theorem continuous.max {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} [topological_space β] (hf : continuous f) (hg : continuous g) :
continuous (λ (b : β), linear_order.max (f b) (g b))
theorem filter.tendsto.max {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} {b : filter β} {a₁ a₂ : α} (hf : filter.tendsto f b (nhds a₁)) (hg : filter.tendsto g b (nhds a₂)) :
filter.tendsto (λ (b : β), linear_order.max (f b) (g b)) b (nhds (linear_order.max a₁ a₂))
theorem filter.tendsto.min {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] {f g : β α} {b : filter β} {a₁ a₂ : α} (hf : filter.tendsto f b (nhds a₁)) (hg : filter.tendsto g b (nhds a₂)) :
filter.tendsto (λ (b : β), linear_order.min (f b) (g b)) b (nhds (linear_order.min a₁ a₂))
theorem dense.exists_lt {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [no_min_order α] {s : set α} (hs : dense s) (x : α) :
(y : α) (H : y s), y < x
theorem dense.exists_gt {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [no_max_order α] {s : set α} (hs : dense s) (x : α) :
(y : α) (H : y s), x < y
theorem dense.exists_le {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [no_min_order α] {s : set α} (hs : dense s) (x : α) :
(y : α) (H : y s), y x
theorem dense.exists_ge {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [no_max_order α] {s : set α} (hs : dense s) (x : α) :
(y : α) (H : y s), x y
theorem dense.exists_le' {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {s : set α} (hs : dense s) (hbot : (x : α), is_bot x x s) (x : α) :
(y : α) (H : y s), y x
theorem dense.exists_ge' {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {s : set α} (hs : dense s) (htop : (x : α), is_top x x s) (x : α) :
(y : α) (H : y s), x y
theorem dense.exists_between {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [densely_ordered α] {s : set α} (hs : dense s) {x y : α} (h : x < y) :
(z : α) (H : z s), z set.Ioo x y
theorem is_compact.bdd_below {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [nonempty α] {s : set α} (hs : is_compact s) :

A compact set is bounded below

theorem is_compact.bdd_above {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] [nonempty α] {s : set α} (hs : is_compact s) :

A compact set is bounded above

theorem is_compact.bdd_below_image {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [nonempty α] [topological_space β] {f : β α} {K : set β} (hK : is_compact K) (hf : continuous_on f K) :

A continuous function is bounded below on a compact set.

theorem is_compact.bdd_above_image {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_closed_topology α] [nonempty α] [topological_space β] {f : β α} {K : set β} (hK : is_compact K) (hf : continuous_on f K) :

A continuous function is bounded above on a compact set.

A continuous function with compact support is bounded below.

A continuous function with compact support is bounded below.

A continuous function with compact support is bounded above.

A continuous function with compact support is bounded above.

@[protected, instance]
def pi.order_closed_topology {ι : Type u_1} {α : ι Type u_2} [Π (i : ι), preorder (α i)] [Π (i : ι), topological_space (α i)] [ (i : ι), order_closed_topology (α i)] :
order_closed_topology (Π (i : ι), α i)
@[protected, instance]
@[class]
structure order_topology (α : Type u_1) [t : topological_space α] [preorder α] :
Prop

The order topology on an ordered type is the topology generated by open intervals. We register it on a preorder, but it is mostly interesting in linear orders, where it is also order-closed. We define it as a mixin. If you want to introduce the order topology on a preorder, use preorder.topology.

Instances of this typeclass
def preorder.topology (α : Type u_1) [preorder α] :

(Order) topology on a partial order α generated by the subbase of open intervals (a, ∞) = { x ∣ a < x }, (-∞ , b) = {x ∣ x < b} for all a, b in α. We do not register it as an instance as many ordered sets are already endowed with the same topology, most often in a non-defeq way though. Register as a local instance when necessary.

Equations
@[protected, instance]
theorem is_open_lt' {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] (a : α) :
is_open {b : α | a < b}
theorem is_open_gt' {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] (a : α) :
is_open {b : α | b < a}
theorem lt_mem_nhds {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] {a b : α} (h : a < b) :
∀ᶠ (x : α) in nhds b, a < x
theorem le_mem_nhds {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] {a b : α} (h : a < b) :
∀ᶠ (x : α) in nhds b, a x
theorem gt_mem_nhds {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] {a b : α} (h : a < b) :
∀ᶠ (x : α) in nhds a, x < b
theorem ge_mem_nhds {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] {a b : α} (h : a < b) :
∀ᶠ (x : α) in nhds a, x b
theorem nhds_eq_order {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] (a : α) :
nhds a = ( (b : α) (H : b set.Iio a), filter.principal (set.Ioi b)) (b : α) (H : b set.Ioi a), filter.principal (set.Iio b)
theorem tendsto_order {α : Type u} {β : Type v} [topological_space α] [partial_order α] [t : order_topology α] {f : β α} {a : α} {x : filter β} :
filter.tendsto f x (nhds a) ( (a' : α), a' < a (∀ᶠ (b : β) in x, a' < f b)) (a' : α), a' > a (∀ᶠ (b : β) in x, f b < a')
@[protected, instance]
@[protected, instance]
@[protected, instance]
@[protected, instance]
theorem tendsto_of_tendsto_of_tendsto_of_le_of_le' {α : Type u} {β : Type v} [topological_space α] [partial_order α] [t : order_topology α] {f g h : β α} {b : filter β} {a : α} (hg : filter.tendsto g b (nhds a)) (hh : filter.tendsto h b (nhds a)) (hgf : ∀ᶠ (b : β) in b, g b f b) (hfh : ∀ᶠ (b : β) in b, f b h b) :

Squeeze theorem (also known as sandwich theorem). This version assumes that inequalities hold eventually for the filter.

theorem tendsto_of_tendsto_of_tendsto_of_le_of_le {α : Type u} {β : Type v} [topological_space α] [partial_order α] [t : order_topology α] {f g h : β α} {b : filter β} {a : α} (hg : filter.tendsto g b (nhds a)) (hh : filter.tendsto h b (nhds a)) (hgf : g f) (hfh : f h) :

Squeeze theorem (also known as sandwich theorem). This version assumes that inequalities hold everywhere.

theorem nhds_order_unbounded {α : Type u} [topological_space α] [partial_order α] [t : order_topology α] {a : α} (hu : (u : α), a < u) (hl : (l : α), l < a) :
nhds a = (l : α) (h₂ : l < a) (u : α) (h₂ : a < u), filter.principal (set.Ioo l u)
theorem tendsto_order_unbounded {α : Type u} {β : Type v} [topological_space α] [partial_order α] [t : order_topology α] {f : β α} {a : α} {x : filter β} (hu : (u : α), a < u) (hl : (l : α), l < a) (h : (l u : α), l < a a < u (∀ᶠ (b : β) in x, l < f b f b < u)) :
@[protected, instance]
@[protected, instance]
def tendsto_Icc_class_nhds_pi {ι : Type u_1} {α : ι Type u_2} [Π (i : ι), partial_order (α i)] [Π (i : ι), topological_space (α i)] [ (i : ι), order_topology (α i)] (f : Π (i : ι), α i) :
theorem induced_order_topology' {α : Type u} {β : Type v} [partial_order α] [ta : topological_space β] [partial_order β] [order_topology β] (f : α β) (hf : {x y : α}, f x < f y x < y) (H₁ : {a : α} {x : β}, x < f a ( (b : α) (H : b < a), x f b)) (H₂ : {a : α} {x : β}, f a < x ( (b : α) (H : b > a), f b x)) :
theorem induced_order_topology {α : Type u} {β : Type v} [partial_order α] [ta : topological_space β] [partial_order β] [order_topology β] (f : α β) (hf : {x y : α}, f x < f y x < y) (H : {x y : β}, x < y ( (a : α), x < f a f a < y)) :
@[protected, instance]

On an ord_connected subset of a linear order, the order topology for the restriction of the order is the same as the restriction to the subset of the order topology.

theorem nhds_within_Ici_eq' {α : Type u} [topological_space α] [partial_order α] [order_topology α] {a : α} (ha : (u : α), a < u) :
nhds_within a (set.Ici a) = (u : α) (hu : a < u), filter.principal (set.Ico a u)
theorem nhds_within_Iic_eq' {α : Type u} [topological_space α] [partial_order α] [order_topology α] {a : α} (ha : (l : α), l < a) :
nhds_within a (set.Iic a) = (l : α) (H : l < a), filter.principal (set.Ioc l a)
theorem nhds_within_Ici_basis' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} (ha : (u : α), a < u) :
(nhds_within a (set.Ici a)).has_basis (λ (u : α), a < u) (λ (u : α), set.Ico a u)
theorem nhds_within_Iic_basis' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} (ha : (l : α), l < a) :
(nhds_within a (set.Iic a)).has_basis (λ (l : α), l < a) (λ (l : α), set.Ioc l a)
theorem nhds_within_Ici_basis {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] (a : α) :
(nhds_within a (set.Ici a)).has_basis (λ (u : α), a < u) (λ (u : α), set.Ico a u)
theorem nhds_within_Iic_basis {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] (a : α) :
(nhds_within a (set.Iic a)).has_basis (λ (l : α), l < a) (λ (l : α), set.Ioc l a)
theorem nhds_top_order {α : Type u} [topological_space α] [partial_order α] [order_top α] [order_topology α] :
nhds = (l : α) (h₂ : l < ), filter.principal (set.Ioi l)
theorem nhds_bot_order {α : Type u} [topological_space α] [partial_order α] [order_bot α] [order_topology α] :
nhds = (l : α) (h₂ : < l), filter.principal (set.Iio l)
theorem nhds_top_basis {α : Type u} [topological_space α] [linear_order α] [order_top α] [order_topology α] [nontrivial α] :
(nhds ).has_basis (λ (a : α), a < ) (λ (a : α), set.Ioi a)
theorem nhds_bot_basis {α : Type u} [topological_space α] [linear_order α] [order_bot α] [order_topology α] [nontrivial α] :
(nhds ).has_basis (λ (a : α), < a) (λ (a : α), set.Iio a)
theorem tendsto_nhds_top_mono {α : Type u} {β : Type v} [topological_space β] [partial_order β] [order_top β] [order_topology β] {l : filter α} {f g : α β} (hf : filter.tendsto f l (nhds )) (hg : f ≤ᶠ[l] g) :
theorem tendsto_nhds_bot_mono {α : Type u} {β : Type v} [topological_space β] [partial_order β] [order_bot β] [order_topology β] {l : filter α} {f g : α β} (hf : filter.tendsto f l (nhds )) (hg : g ≤ᶠ[l] f) :
theorem tendsto_nhds_top_mono' {α : Type u} {β : Type v} [topological_space β] [partial_order β] [order_top β] [order_topology β] {l : filter α} {f g : α β} (hf : filter.tendsto f l (nhds )) (hg : f g) :
theorem tendsto_nhds_bot_mono' {α : Type u} {β : Type v} [topological_space β] [partial_order β] [order_bot β] [order_topology β] {l : filter α} {f g : α β} (hf : filter.tendsto f l (nhds )) (hg : g f) :
theorem eventually_le_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (hab : a < b) :
∀ᶠ (x : α) in nhds a, x b
theorem eventually_lt_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (hab : a < b) :
∀ᶠ (x : α) in nhds a, x < b
theorem eventually_ge_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (hab : b < a) :
∀ᶠ (x : α) in nhds a, b x
theorem eventually_gt_nhds {α : Type u} [topological_space α] [linear_order α] [order_closed_topology α] {a b : α} (hab : b < a) :
∀ᶠ (x : α) in nhds a, b < x
theorem order_separated {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a₁ a₂ : α} (h : a₁ < a₂) :
(u v : set α), is_open u is_open v a₁ u a₂ v (b₁ : α), b₁ u (b₂ : α), b₂ v b₁ < b₂
theorem exists_Ioc_subset_of_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds a) (h : (l : α), l < a) :
(l : α) (H : l < a), set.Ioc l a s
theorem exists_Ioc_subset_of_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds a) {l : α} (hl : l < a) :
(l' : α) (H : l' set.Ico l a), set.Ioc l' a s
theorem exists_Ico_subset_of_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds a) {u : α} (hu : a < u) :
(u' : α) (H : u' set.Ioc a u), set.Ico a u' s
theorem exists_Ico_subset_of_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds a) (h : (u : α), a < u) :
(u : α) (_x : a < u), set.Ico a u s
theorem exists_Icc_mem_subset_of_mem_nhds_within_Ici {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds_within a (set.Ici a)) :
(b : α) (_x : a b), set.Icc a b nhds_within a (set.Ici a) set.Icc a b s
theorem exists_Icc_mem_subset_of_mem_nhds_within_Iic {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds_within a (set.Iic a)) :
(b : α) (H : b a), set.Icc b a nhds_within a (set.Iic a) set.Icc b a s
theorem exists_Icc_mem_subset_of_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hs : s nhds a) :
(b c : α), a set.Icc b c set.Icc b c nhds a set.Icc b c s
theorem is_open.exists_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [nontrivial α] {s : set α} (hs : is_open s) (h : s.nonempty) :
(a b : α), a < b set.Ioo a b s
theorem dense_of_exists_between {α : Type u} [topological_space α] [linear_order α] [order_topology α] [nontrivial α] {s : set α} (h : ⦃a b : α⦄, a < b ( (c : α) (H : c s), a < c c < b)) :
theorem dense_iff_exists_between {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] [nontrivial α] {s : set α} :
dense s (a b : α), a < b ( (c : α) (H : c s), a < c c < b)

A set in a nontrivial densely linear ordered type is dense in the sense of topology if and only if for any a < b there exists c ∈ s, a < c < b. Each implication requires less typeclass assumptions.

theorem mem_nhds_iff_exists_Ioo_subset' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (hl : (l : α), l < a) (hu : (u : α), a < u) :
s nhds a (l u : α), a set.Ioo l u set.Ioo l u s

A set is a neighborhood of a if and only if it contains an interval (l, u) containing a, provided a is neither a bottom element nor a top element.

theorem mem_nhds_iff_exists_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] [no_min_order α] {a : α} {s : set α} :
s nhds a (l u : α), a set.Ioo l u set.Ioo l u s

A set is a neighborhood of a if and only if it contains an interval (l, u) containing a.

theorem nhds_basis_Ioo' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} (hl : (l : α), l < a) (hu : (u : α), a < u) :
(nhds a).has_basis (λ (b : α × α), b.fst < a a < b.snd) (λ (b : α × α), set.Ioo b.fst b.snd)
theorem nhds_basis_Ioo {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] [no_min_order α] (a : α) :
(nhds a).has_basis (λ (b : α × α), b.fst < a a < b.snd) (λ (b : α × α), set.Ioo b.fst b.snd)
theorem filter.eventually.exists_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] [no_min_order α] {a : α} {p : α Prop} (hp : ∀ᶠ (x : α) in nhds a, p x) :
(l u : α), a set.Ioo l u set.Ioo l u {x : α | p x}

The set of points which are isolated on the right is countable when the space is second-countable.

The set of points which are isolated on the left is countable when the space is second-countable.

theorem set.pairwise_disjoint.countable_of_Ioo {α : Type u} [topological_space α] [linear_order α] [order_topology α] [topological_space.second_countable_topology α] {y : α α} {s : set α} (h : s.pairwise_disjoint (λ (x : α), set.Ioo x (y x))) (h' : (x : α), x s x < y x) :

Consider a disjoint family of intervals (x, y) with x < y in a second-countable space. Then the family is countable. This is not a straightforward consequence of second-countability as some of these intervals might be empty (but in fact this can happen only for countably many of them).

Intervals in Π i, π i belong to 𝓝 x #

For each lemma pi_Ixx_mem_nhds we add a non-dependent version pi_Ixx_mem_nhds' because sometimes Lean fails to unify different instances while trying to apply the dependent version to, e.g., ι → ℝ.

theorem pi_Iic_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a x : Π (i : ι), π i} (ha : (i : ι), x i < a i) :
theorem pi_Iic_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' x' : ι α} (ha : (i : ι), x' i < a' i) :
theorem pi_Ici_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a x : Π (i : ι), π i} (ha : (i : ι), a i < x i) :
theorem pi_Ici_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' x' : ι α} (ha : (i : ι), a' i < x' i) :
theorem pi_Icc_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a b x : Π (i : ι), π i} (ha : (i : ι), a i < x i) (hb : (i : ι), x i < b i) :
theorem pi_Icc_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' b' x' : ι α} (ha : (i : ι), a' i < x' i) (hb : (i : ι), x' i < b' i) :
set.Icc a' b' nhds x'
theorem pi_Iio_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a x : Π (i : ι), π i} [nonempty ι] (ha : (i : ι), x i < a i) :
theorem pi_Iio_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' x' : ι α} [nonempty ι] (ha : (i : ι), x' i < a' i) :
theorem pi_Ioi_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a x : Π (i : ι), π i} [nonempty ι] (ha : (i : ι), a i < x i) :
theorem pi_Ioi_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' x' : ι α} [nonempty ι] (ha : (i : ι), a' i < x' i) :
theorem pi_Ioc_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a b x : Π (i : ι), π i} [nonempty ι] (ha : (i : ι), a i < x i) (hb : (i : ι), x i < b i) :
theorem pi_Ioc_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' b' x' : ι α} [nonempty ι] (ha : (i : ι), a' i < x' i) (hb : (i : ι), x' i < b' i) :
set.Ioc a' b' nhds x'
theorem pi_Ico_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a b x : Π (i : ι), π i} [nonempty ι] (ha : (i : ι), a i < x i) (hb : (i : ι), x i < b i) :
theorem pi_Ico_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' b' x' : ι α} [nonempty ι] (ha : (i : ι), a' i < x' i) (hb : (i : ι), x' i < b' i) :
set.Ico a' b' nhds x'
theorem pi_Ioo_mem_nhds {ι : Type u_1} {π : ι Type u_2} [finite ι] [Π (i : ι), linear_order (π i)] [Π (i : ι), topological_space (π i)] [ (i : ι), order_topology (π i)] {a b x : Π (i : ι), π i} [nonempty ι] (ha : (i : ι), a i < x i) (hb : (i : ι), x i < b i) :
theorem pi_Ioo_mem_nhds' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {ι : Type u_1} [finite ι] {a' b' x' : ι α} [nonempty ι] (ha : (i : ι), a' i < x' i) (hb : (i : ι), x' i < b' i) :
set.Ioo a' b' nhds x'
@[simp]
@[simp]
theorem not_tendsto_nhds_of_tendsto_at_top {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] {F : filter β} [F.ne_bot] {f : β α} (hf : filter.tendsto f F filter.at_top) (x : α) :
theorem not_tendsto_at_top_of_tendsto_nhds {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] {F : filter β} [F.ne_bot] {f : β α} {x : α} (hf : filter.tendsto f F (nhds x)) :
theorem not_tendsto_nhds_of_tendsto_at_bot {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] {F : filter β} [F.ne_bot] {f : β α} (hf : filter.tendsto f F filter.at_bot) (x : α) :
theorem not_tendsto_at_bot_of_tendsto_nhds {α : Type u} {β : Type v} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] {F : filter β} [F.ne_bot] {f : β α} {x : α} (hf : filter.tendsto f F (nhds x)) :

Neighborhoods to the left and to the right on an order_topology #

We've seen some properties of left and right neighborhood of a point in an order_closed_topology. In an order_topology, such neighborhoods can be characterized as the sets containing suitable intervals to the right or to the left of a. We give now these characterizations.

theorem tfae_mem_nhds_within_Ioi {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a b : α} (hab : a < b) (s : set α) :
[s nhds_within a (set.Ioi a), s nhds_within a (set.Ioc a b), s nhds_within a (set.Ioo a b), (u : α) (H : u set.Ioc a b), set.Ioo a u s, (u : α) (H : u set.Ioi a), set.Ioo a u s].tfae

The following statements are equivalent:

  1. s is a neighborhood of a within (a, +∞)
  2. s is a neighborhood of a within (a, b]
  3. s is a neighborhood of a within (a, b)
  4. s includes (a, u) for some u ∈ (a, b]
  5. s includes (a, u) for some u > a
theorem mem_nhds_within_Ioi_iff_exists_mem_Ioc_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a u' : α} {s : set α} (hu' : a < u') :
s nhds_within a (set.Ioi a) (u : α) (H : u set.Ioc a u'), set.Ioo a u s
theorem mem_nhds_within_Ioi_iff_exists_Ioo_subset' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a u' : α} {s : set α} (hu' : a < u') :
s nhds_within a (set.Ioi a) (u : α) (H : u set.Ioi a), set.Ioo a u s

A set is a neighborhood of a within (a, +∞) if and only if it contains an interval (a, u) with a < u < u', provided a is not a top element.

theorem mem_nhds_within_Ioi_iff_exists_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] {a : α} {s : set α} :
s nhds_within a (set.Ioi a) (u : α) (H : u set.Ioi a), set.Ioo a u s

A set is a neighborhood of a within (a, +∞) if and only if it contains an interval (a, u) with a < u.

theorem mem_nhds_within_Ioi_iff_exists_Ioc_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] [densely_ordered α] {a : α} {s : set α} :
s nhds_within a (set.Ioi a) (u : α) (H : u set.Ioi a), set.Ioc a u s

A set is a neighborhood of a within (a, +∞) if and only if it contains an interval (a, u] with a < u.

theorem tfae_mem_nhds_within_Iio {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a b : α} (h : a < b) (s : set α) :
[s nhds_within b (set.Iio b), s nhds_within b (set.Ico a b), s nhds_within b (set.Ioo a b), (l : α) (H : l set.Ico a b), set.Ioo l b s, (l : α) (H : l set.Iio b), set.Ioo l b s].tfae

The following statements are equivalent:

  1. s is a neighborhood of b within (-∞, b)
  2. s is a neighborhood of b within [a, b)
  3. s is a neighborhood of b within (a, b)
  4. s includes (l, b) for some l ∈ [a, b)
  5. s includes (l, b) for some l < b
theorem mem_nhds_within_Iio_iff_exists_mem_Ico_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a l' : α} {s : set α} (hl' : l' < a) :
s nhds_within a (set.Iio a) (l : α) (H : l set.Ico l' a), set.Ioo l a s
theorem mem_nhds_within_Iio_iff_exists_Ioo_subset' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a l' : α} {s : set α} (hl' : l' < a) :
s nhds_within a (set.Iio a) (l : α) (H : l set.Iio a), set.Ioo l a s

A set is a neighborhood of a within (-∞, a) if and only if it contains an interval (l, a) with l < a, provided a is not a bottom element.

theorem mem_nhds_within_Iio_iff_exists_Ioo_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] {a : α} {s : set α} :
s nhds_within a (set.Iio a) (l : α) (H : l set.Iio a), set.Ioo l a s

A set is a neighborhood of a within (-∞, a) if and only if it contains an interval (l, a) with l < a.

theorem mem_nhds_within_Iio_iff_exists_Ico_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] [densely_ordered α] {a : α} {s : set α} :
s nhds_within a (set.Iio a) (l : α) (H : l set.Iio a), set.Ico l a s

A set is a neighborhood of a within (-∞, a) if and only if it contains an interval [l, a) with l < a.

theorem tfae_mem_nhds_within_Ici {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a b : α} (hab : a < b) (s : set α) :
[s nhds_within a (set.Ici a), s nhds_within a (set.Icc a b), s nhds_within a (set.Ico a b), (u : α) (H : u set.Ioc a b), set.Ico a u s, (u : α) (H : u set.Ioi a), set.Ico a u s].tfae

The following statements are equivalent:

  1. s is a neighborhood of a within [a, +∞)
  2. s is a neighborhood of a within [a, b]
  3. s is a neighborhood of a within [a, b)
  4. s includes [a, u) for some u ∈ (a, b]
  5. s includes [a, u) for some u > a
theorem mem_nhds_within_Ici_iff_exists_mem_Ioc_Ico_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a u' : α} {s : set α} (hu' : a < u') :
s nhds_within a (set.Ici a) (u : α) (H : u set.Ioc a u'), set.Ico a u s
theorem mem_nhds_within_Ici_iff_exists_Ico_subset' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a u' : α} {s : set α} (hu' : a < u') :
s nhds_within a (set.Ici a) (u : α) (H : u set.Ioi a), set.Ico a u s

A set is a neighborhood of a within [a, +∞) if and only if it contains an interval [a, u) with a < u < u', provided a is not a top element.

theorem mem_nhds_within_Ici_iff_exists_Ico_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] {a : α} {s : set α} :
s nhds_within a (set.Ici a) (u : α) (H : u set.Ioi a), set.Ico a u s

A set is a neighborhood of a within [a, +∞) if and only if it contains an interval [a, u) with a < u.

theorem nhds_within_Ici_basis_Ico {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] (a : α) :
(nhds_within a (set.Ici a)).has_basis (λ (u : α), a < u) (set.Ico a)
theorem mem_nhds_within_Ici_iff_exists_Icc_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_max_order α] [densely_ordered α] {a : α} {s : set α} :
s nhds_within a (set.Ici a) (u : α), a < u set.Icc a u s

A set is a neighborhood of a within [a, +∞) if and only if it contains an interval [a, u] with a < u.

theorem tfae_mem_nhds_within_Iic {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a b : α} (h : a < b) (s : set α) :
[s nhds_within b (set.Iic b), s nhds_within b (set.Icc a b), s nhds_within b (set.Ioc a b), (l : α) (H : l set.Ico a b), set.Ioc l b s, (l : α) (H : l set.Iio b), set.Ioc l b s].tfae

The following statements are equivalent:

  1. s is a neighborhood of b within (-∞, b]
  2. s is a neighborhood of b within [a, b]
  3. s is a neighborhood of b within (a, b]
  4. s includes (l, b] for some l ∈ [a, b)
  5. s includes (l, b] for some l < b
theorem mem_nhds_within_Iic_iff_exists_mem_Ico_Ioc_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a l' : α} {s : set α} (hl' : l' < a) :
s nhds_within a (set.Iic a) (l : α) (H : l set.Ico l' a), set.Ioc l a s
theorem mem_nhds_within_Iic_iff_exists_Ioc_subset' {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a l' : α} {s : set α} (hl' : l' < a) :
s nhds_within a (set.Iic a) (l : α) (H : l set.Iio a), set.Ioc l a s

A set is a neighborhood of a within (-∞, a] if and only if it contains an interval (l, a] with l < a, provided a is not a bottom element.

theorem mem_nhds_within_Iic_iff_exists_Ioc_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] {a : α} {s : set α} :
s nhds_within a (set.Iic a) (l : α) (H : l set.Iio a), set.Ioc l a s

A set is a neighborhood of a within (-∞, a] if and only if it contains an interval (l, a] with l < a.

theorem mem_nhds_within_Iic_iff_exists_Icc_subset {α : Type u} [topological_space α] [linear_order α] [order_topology α] [no_min_order α] [densely_ordered α] {a : α} {s : set α} :
s nhds_within a (set.Iic a) (l : α), l < a set.Icc l a s

A set is a neighborhood of a within (-∞, a] if and only if it contains an interval [l, a] with l < a.

theorem nhds_eq_infi_abs_sub {α : Type u} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] (a : α) :
nhds a = (r : α) (H : r > 0), filter.principal {b : α | |a - b| < r}
theorem order_topology_of_nhds_abs {α : Type u_1} [topological_space α] [linear_ordered_add_comm_group α] (h_nhds : (a : α), nhds a = (r : α) (H : r > 0), filter.principal {b : α | |a - b| < r}) :
theorem linear_ordered_add_comm_group.tendsto_nhds {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {f : β α} {x : filter β} {a : α} :
filter.tendsto f x (nhds a) (ε : α), ε > 0 (∀ᶠ (b : β) in x, |f b - a| < ε)
theorem eventually_abs_sub_lt {α : Type u} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] (a : α) {ε : α} (hε : 0 < ε) :
∀ᶠ (x : α) in nhds a, |x - a| < ε
theorem filter.tendsto.abs {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {f : β α} {a : α} {l : filter β} (h : filter.tendsto f l (nhds a)) :
filter.tendsto (λ (x : β), |f x|) l (nhds |a|)
theorem nhds_basis_Ioo_pos {α : Type u} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] [no_min_order α] [no_max_order α] (a : α) :
(nhds a).has_basis (λ (ε : α), 0 < ε) (λ (ε : α), set.Ioo (a - ε) (a + ε))
theorem nhds_basis_abs_sub_lt {α : Type u} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] [no_min_order α] [no_max_order α] (a : α) :
(nhds a).has_basis (λ (ε : α), 0 < ε) (λ (ε : α), {b : α | |b - a| < ε})
theorem nhds_basis_zero_abs_sub_lt (α : Type u) [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] [no_min_order α] [no_max_order α] :
(nhds 0).has_basis (λ (ε : α), 0 < ε) (λ (ε : α), {b : α | |b| < ε})
theorem nhds_basis_Ioo_pos_of_pos {α : Type u} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] [no_min_order α] [no_max_order α] {a : α} (ha : 0 < a) :
(nhds a).has_basis (λ (ε : α), 0 < ε ε a) (λ (ε : α), set.Ioo (a - ε) (a + ε))

If a is positive we can form a basis from only nonnegative Ioo intervals

theorem continuous.abs {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {f : β α} [topological_space β] (h : continuous f) :
continuous (λ (x : β), |f x|)
theorem continuous_at.abs {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {f : β α} [topological_space β] {b : β} (h : continuous_at f b) :
continuous_at (λ (x : β), |f x|) b
theorem continuous_within_at.abs {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {f : β α} [topological_space β] {b : β} {s : set β} (h : continuous_within_at f s b) :
continuous_within_at (λ (x : β), |f x|) s b
theorem continuous_on.abs {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {f : β α} [topological_space β] {s : set β} (h : continuous_on f s) :
continuous_on (λ (x : β), |f x|) s
theorem filter.tendsto.add_at_top {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {l : filter β} {f g : β α} {C : α} (hf : filter.tendsto f l (nhds C)) (hg : filter.tendsto g l filter.at_top) :
filter.tendsto (λ (x : β), f x + g x) l filter.at_top

In a linearly ordered additive commutative group with the order topology, if f tends to C and g tends to at_top then f + g tends to at_top.

theorem filter.tendsto.add_at_bot {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {l : filter β} {f g : β α} {C : α} (hf : filter.tendsto f l (nhds C)) (hg : filter.tendsto g l filter.at_bot) :
filter.tendsto (λ (x : β), f x + g x) l filter.at_bot

In a linearly ordered additive commutative group with the order topology, if f tends to C and g tends to at_bot then f + g tends to at_bot.

theorem filter.tendsto.at_top_add {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {l : filter β} {f g : β α} {C : α} (hf : filter.tendsto f l filter.at_top) (hg : filter.tendsto g l (nhds C)) :
filter.tendsto (λ (x : β), f x + g x) l filter.at_top

In a linearly ordered additive commutative group with the order topology, if f tends to at_top and g tends to C then f + g tends to at_top.

theorem filter.tendsto.at_bot_add {α : Type u} {β : Type v} [topological_space α] [linear_ordered_add_comm_group α] [order_topology α] {l : filter β} {f g : β α} {C : α} (hf : filter.tendsto f l filter.at_bot) (hg : filter.tendsto g l (nhds C)) :
filter.tendsto (λ (x : β), f x + g x) l filter.at_bot

In a linearly ordered additive commutative group with the order topology, if f tends to at_bot and g tends to C then f + g tends to at_bot.

theorem is_lub.frequently_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_lub s a) (hs : s.nonempty) :
∃ᶠ (x : α) in nhds_within a (set.Iic a), x s
theorem is_lub.frequently_nhds_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_lub s a) (hs : s.nonempty) :
∃ᶠ (x : α) in nhds a, x s
theorem is_glb.frequently_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_glb s a) (hs : s.nonempty) :
∃ᶠ (x : α) in nhds_within a (set.Ici a), x s
theorem is_glb.frequently_nhds_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_glb s a) (hs : s.nonempty) :
∃ᶠ (x : α) in nhds a, x s
theorem is_lub.mem_closure {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_lub s a) (hs : s.nonempty) :
theorem is_glb.mem_closure {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_glb s a) (hs : s.nonempty) :
theorem is_lub.nhds_within_ne_bot {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_lub s a) (hs : s.nonempty) :
theorem is_glb.nhds_within_ne_bot {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} :
theorem is_lub_of_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_topology α] {s : set α} {a : α} {f : filter α} (hsa : a upper_bounds s) (hsf : s f) [(f nhds a).ne_bot] :
is_lub s a
theorem is_lub_of_mem_closure {α : Type u} [topological_space α] [linear_order α] [order_topology α] {s : set α} {a : α} (hsa : a upper_bounds s) (hsf : a closure s) :
is_lub s a
theorem is_glb_of_mem_nhds {α : Type u} [topological_space α] [linear_order α] [order_topology α] {s : set α} {a : α} {f : filter α} :
theorem is_glb_of_mem_closure {α : Type u} [topological_space α] [linear_order α] [order_topology α] {s : set α} {a : α} (hsa : a lower_bounds s) (hsf : a closure s) :
is_glb s a
theorem is_lub.mem_upper_bounds_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} (hf : monotone_on f s) (ha : is_lub s a) (hb : filter.tendsto f (nhds_within a s) (nhds b)) :
theorem is_lub.is_lub_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} (hf : monotone_on f s) (ha : is_lub s a) (hs : s.nonempty) (hb : filter.tendsto f (nhds_within a s) (nhds b)) :
is_lub (f '' s) b
theorem is_glb.mem_lower_bounds_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} (hf : monotone_on f s) (ha : is_glb s a) (hb : filter.tendsto f (nhds_within a s) (nhds b)) :
theorem is_glb.is_glb_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} (hf : monotone_on f s) :
theorem is_lub.mem_lower_bounds_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} (hf : antitone_on f s) (ha : is_lub s a) (hb : filter.tendsto f (nhds_within a s) (nhds b)) :
theorem is_lub.is_glb_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} :
theorem is_glb.mem_upper_bounds_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} (hf : antitone_on f s) (ha : is_glb s a) (hb : filter.tendsto f (nhds_within a s) (nhds b)) :
theorem is_glb.is_lub_of_tendsto {α : Type u} {γ : Type w} [topological_space α] [linear_order α] [order_topology α] [preorder γ] [topological_space γ] [order_closed_topology γ] {f : α γ} {s : set α} {a : α} {b : γ} :
theorem is_lub.mem_of_is_closed {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_lub s a) (hs : s.nonempty) (sc : is_closed s) :
a s
theorem is_closed.is_lub_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_lub s a) (hs : s.nonempty) (sc : is_closed s) :
a s

Alias of is_lub.mem_of_is_closed.

theorem is_glb.mem_of_is_closed {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_glb s a) (hs : s.nonempty) (sc : is_closed s) :
a s
theorem is_closed.is_glb_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {a : α} {s : set α} (ha : is_glb s a) (hs : s.nonempty) (sc : is_closed s) :
a s

Alias of is_glb.mem_of_is_closed.

Existence of sequences tending to Inf or Sup of a given set #

theorem is_lub.exists_seq_strict_mono_tendsto_of_not_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {t : set α} {x : α} [(nhds x).is_countably_generated] (htx : is_lub t x) (not_mem : x t) (ht : t.nonempty) :
(u : α), strict_mono u ( (n : ), u n < x) filter.tendsto u filter.at_top (nhds x) (n : ), u n t
theorem is_lub.exists_seq_monotone_tendsto {α : Type u} [topological_space α] [linear_order α] [order_topology α] {t : set α} {x : α} [(nhds x).is_countably_generated] (htx : is_lub t x) (ht : t.nonempty) :
(u : α), monotone u ( (n : ), u n x) filter.tendsto u filter.at_top (nhds x) (n : ), u n t
theorem is_glb.exists_seq_strict_anti_tendsto_of_not_mem {α : Type u} [topological_space α] [linear_order α] [order_topology α] {t : set α} {x : α} [(nhds x).is_countably_generated] (htx : is_glb t x) (not_mem : x t) (ht : t.nonempty) :
(u : α), strict_anti u ( (n : ), x < u n) filter.tendsto u filter.at_top (nhds x) (n : ), u n t
theorem is_glb.exists_seq_antitone_tendsto {α : Type u} [topological_space α] [linear_order α] [order_topology α] {t : set α} {x : α} [(nhds x).is_countably_generated] (htx : is_glb t x) (ht : t.nonempty) :
(u : α), antitone u ( (n : ), x u n) filter.tendsto u filter.at_top (nhds x) (n : ), u n t
theorem closure_Ioi' {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] {a : α} (h : (set.Ioi a).nonempty) :

The closure of the interval (a, +∞) is the closed interval [a, +∞), unless a is a top element.

@[simp]
theorem closure_Ioi {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] (a : α) [no_max_order α] :

The closure of the interval (a, +∞) is the closed interval [a, +∞).

theorem closure_Iio' {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] {a : α} (h : (set.Iio a).nonempty) :

The closure of the interval (-∞, a) is the closed interval (-∞, a], unless a is a bottom element.

@[simp]
theorem closure_Iio {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] (a : α) [no_min_order α] :

The closure of the interval (-∞, a) is the interval (-∞, a].

@[simp]
theorem closure_Ioo {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] {a b : α} (hab : a b) :

The closure of the open interval (a, b) is the closed interval [a, b].

@[simp]
theorem closure_Ioc {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] {a b : α} (hab : a b) :

The closure of the interval (a, b] is the closed interval [a, b].

@[simp]
theorem closure_Ico {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] {a b : α} (hab : a b) :

The closure of the interval [a, b) is the closed interval [a, b].

@[simp]
theorem interior_Ici' {α : Type u} [topological_space α] [linear_order α] [order_topology α] [densely_ordered α] {a : α} (ha : (set.Iio a).nonempty) :