Convergence of intervals #
If both a
and b
tend to some filter l₁
, sometimes this implies that Ixx a b
tends to
l₂.smallSets
, i.e., for any s ∈ l₂
eventually Ixx a b
becomes a subset of s
. Here and below
Ixx
is one of Set.Icc
, Set.Ico
, Set.Ioc
, and Set.Ioo
. We define Filter.TendstoIxxClass Ixx l₁ l₂
to be a typeclass representing this property.
The instances provide the best l₂
for a given l₁
. In many cases l₁ = l₂
but sometimes we can
drop an endpoint from an interval: e.g., we prove
Filter.TendstoIxxClass Set.Ico (𝓟 (Set.Iic a)) (𝓟 (Set.Iio a))
, i.e., if u₁ n
and u₂ n
belong
eventually to Set.Iic a
, then the interval Set.Ico (u₁ n) (u₂ n)
is eventually included in
Set.Iio a
.
The next table shows “output” filters l₂
for different values of Ixx
and l₁
. The instances
that need topology are defined in Mathlib/Topology/Algebra/Ordered
.
| Input filter | Ixx = Set.Icc
| Ixx = Set.Ico
| Ixx = Set.Ioc
| Ixx = Set.Ioo
|
|-----------------:|:----------------:|:----------------:|:----------------:|:----------------:|
| Filter.atTop
| Filter.atTop
| Filter.atTop
| Filter.atTop
| Filter.atTop
|
| Filter.atBot
| Filter.atBot
| Filter.atBot
| Filter.atBot
| Filter.atBot
|
| pure a
| pure a
| ⊥
| ⊥
| ⊥
|
| 𝓟 (Set.Iic a)
| 𝓟 (Set.Iic a)
| 𝓟 (Set.Iio a)
| 𝓟 (Set.Iic a)
| 𝓟 (Set.Iio a)
|
| 𝓟 (Set.Ici a)
| 𝓟 (Set.Ici a)
| 𝓟 (Set.Ici a)
| 𝓟 (Set.Ioi a)
| 𝓟 (Set.Ioi a)
|
| 𝓟 (Set.Ioi a)
| 𝓟 (Set.Ioi a)
| 𝓟 (Set.Ioi a)
| 𝓟 (Set.Ioi a)
| 𝓟 (Set.Ioi a)
|
| 𝓟 (Set.Iio a)
| 𝓟 (Set.Iio a)
| 𝓟 (Set.Iio a)
| 𝓟 (Set.Iio a)
| 𝓟 (Set.Iio a)
|
| 𝓝 a
| 𝓝 a
| 𝓝 a
| 𝓝 a
| 𝓝 a
|
| 𝓝[Set.Iic a] b
| 𝓝[Set.Iic a] b
| 𝓝[Set.Iio a] b
| 𝓝[Set.Iic a] b
| 𝓝[Set.Iio a] b
|
| 𝓝[Set.Ici a] b
| 𝓝[Set.Ici a] b
| 𝓝[Set.Ici a] b
| 𝓝[Set.Ioi a] b
| 𝓝[Set.Ioi a] b
|
| 𝓝[Set.Ioi a] b
| 𝓝[Set.Ioi a] b
| 𝓝[Set.Ioi a] b
| 𝓝[Set.Ioi a] b
| 𝓝[Set.Ioi a] b
|
| 𝓝[Set.Iio a] b
| 𝓝[Set.Iio a] b
| 𝓝[Set.Iio a] b
| 𝓝[Set.Iio a] b
| 𝓝[Set.Iio a] b
|
- tendsto_Ixx : Filter.Tendsto (fun p => Ixx p.fst p.snd) (l₁ ×ˢ l₁) (Filter.smallSets l₂)
Function.uncurry Ixx
tends tol₂.smallSets
alongl₁ ×ˢ l₁
. In other words, for anys ∈ l₂
there existst ∈ l₁
such thatIxx x y ⊆ s
wheneverx ∈ t
andy ∈ t
.Use lemmas like
Filter.Tendsto.Icc
instead.
A pair of filters l₁
, l₂
has TendstoIxxClass Ixx
property if Ixx a b
tends to
l₂.small_sets
as a
and b
tend to l₁
. In all instances Ixx
is one of Set.Icc
, Set.Ico
,
Set.Ioc
, or Set.Ioo
. The instances provide the best l₂
for a given l₁
. In many cases
l₁ = l₂
but sometimes we can drop an endpoint from an interval: e.g., we prove
TendstoIxxClass Set.Ico (𝓟 (Set.Iic a)) (𝓟 (Set.Iio a))
, i.e., if u₁ n
and u₂ n
belong
eventually to Set.Iic a
, then the interval Set.Ico (u₁ n) (u₂ n)
is eventually included in
Set.Iio a
.
We mark l₂
as an outParam
so that Lean can automatically find an appropriate l₂
based on
Ixx
and l₁
. This way, e.g., tendsto.Ico h₁ h₂
works without specifying explicitly l₂
.