Convergence of intervals #
If both a
and b
tend to some filter l₁
, sometimes this implies that Ixx a b
tends to
l₂.lift' powerset
, 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₁ ×ᶠ l₁) (filter.lift' l₂ set.powerset)
A pair of filters l₁
, l₂
has tendsto_Ixx_class Ixx
property if Ixx a b
tends to
l₂.lift' powerset
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
- 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_interval_interval
- filter.tendsto_Ioc_interval_interval
- filter.tendsto_interval_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