Convergence of intervals #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
If both a
and b
tend to some filter l₁
, sometimes this implies that Ixx a b
tends to
l₂.small_sets
, i.e., for any s ∈ l₂
eventually Ixx a b
becomes a subset of s
. Here and
below Ixx
is one of Icc
, Ico
, Ioc
, and Ioo
. We define filter.tendsto_Ixx_class 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 tendsto_Ixx_class Ico (𝓟 $ Iic a) (𝓟 $ Iio a)
,
i.e., if u₁ n
and u₂ n
belong eventually to Iic a
, then the interval Ico (u₁ n) (u₂ n)
is
eventually included in Iio a
.
The next table shows “output” filters l₂
for different values of Ixx
and l₁
. The instances
that need topology are defined in topology/algebra/ordered
.
Input filter | Ixx = Icc |
Ixx = Ico |
Ixx = Ioc |
Ixx = Ioo |
---|---|---|---|---|
at_top |
at_top |
at_top |
at_top |
at_top |
at_bot |
at_bot |
at_bot |
at_bot |
at_bot |
pure a |
pure a |
⊥ |
⊥ |
⊥ |
𝓟 (Iic a) |
𝓟 (Iic a) |
𝓟 (Iio a) |
𝓟 (Iic a) |
𝓟 (Iio a) |
𝓟 (Ici a) |
𝓟 (Ici a) |
𝓟 (Ici a) |
𝓟 (Ioi a) |
𝓟 (Ioi a) |
𝓟 (Ioi a) |
𝓟 (Ioi a) |
𝓟 (Ioi a) |
𝓟 (Ioi a) |
𝓟 (Ioi a) |
𝓟 (Iio a) |
𝓟 (Iio a) |
𝓟 (Iio a) |
𝓟 (Iio a) |
𝓟 (Iio a) |
𝓝 a |
𝓝 a |
𝓝 a |
𝓝 a |
𝓝 a |
𝓝[Iic a] b |
𝓝[Iic a] b |
𝓝[Iio a] b |
𝓝[Iic a] b |
𝓝[Iio a] b |
𝓝[Ici a] b |
𝓝[Ici a] b |
𝓝[Ici a] b |
𝓝[Ioi a] b |
𝓝[Ioi a] b |
𝓝[Ioi a] b |
𝓝[Ioi a] b |
𝓝[Ioi a] b |
𝓝[Ioi a] b |
𝓝[Ioi a] b |
𝓝[Iio a] b |
𝓝[Iio a] b |
𝓝[Iio a] b |
𝓝[Iio a] b |
𝓝[Iio a] b |
- tendsto_Ixx : filter.tendsto (λ (p : α × α), Ixx p.fst p.snd) (l₁.prod l₁) (filter.small_sets l₂)
A pair of filters l₁
, l₂
has tendsto_Ixx_class 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 Icc
, Ico
, Ioc
,
or 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 tendsto_Ixx_class Ico (𝓟 $ Iic a) (𝓟 $ Iio a)
, i.e., if u₁ n
and u₂ n
belong eventually to Iic a
, then the interval Ico (u₁ n) (u₂ n)
is eventually included in Iio a
.
We mark l₂
as an out_param
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₂
.
Instances of this typeclass
- filter.tendsto_Icc_at_top_at_top
- filter.tendsto_Ico_at_top_at_top
- filter.tendsto_Ioc_at_top_at_top
- filter.tendsto_Ioo_at_top_at_top
- filter.tendsto_Icc_at_bot_at_bot
- filter.tendsto_Ico_at_bot_at_bot
- filter.tendsto_Ioc_at_bot_at_bot
- filter.tendsto_Ioo_at_bot_at_bot
- filter.ord_connected.tendsto_Icc
- filter.tendsto_Ico_Ici_Ici
- filter.tendsto_Ico_Ioi_Ioi
- filter.tendsto_Ico_Iic_Iio
- filter.tendsto_Ico_Iio_Iio
- filter.tendsto_Ioc_Ici_Ioi
- filter.tendsto_Ioc_Iic_Iic
- filter.tendsto_Ioc_Iio_Iio
- filter.tendsto_Ioc_Ioi_Ioi
- filter.tendsto_Ioo_Ici_Ioi
- filter.tendsto_Ioo_Iic_Iio
- filter.tendsto_Ioo_Ioi_Ioi
- filter.tendsto_Ioo_Iio_Iio
- filter.tendsto_Icc_Icc_Icc
- filter.tendsto_Ioc_Icc_Icc
- filter.tendsto_Icc_pure_pure
- filter.tendsto_Ico_pure_bot
- filter.tendsto_Ioc_pure_bot
- filter.tendsto_Ioo_pure_bot
- filter.tendsto_Icc_uIcc_uIcc
- filter.tendsto_Ioc_uIcc_uIcc
- filter.tendsto_uIcc_of_Icc
- tendsto_Icc_class_nhds
- tendsto_Ico_class_nhds
- tendsto_Ioc_class_nhds
- tendsto_Ioo_class_nhds
- tendsto_Ixx_nhds_within
- tendsto_Icc_class_nhds_pi