Discrete uniformities and discrete topology #
Exactly as different metrics can induce equivalent topologies on a space, it is possible that
different uniform structures (a notion that generalises that of a metric structure) induce the same
topology on a space. In this file we are concerned in particular with the discrete topology,
formalised using the class DiscreteTopology
, and the discrete uniformity, that is the bottom
element of the lattice of uniformities on a type (see bot_uniformity
).
The theorem discreteTopology_of_discrete_uniformity
shows that the topology induced by the
discrete uniformity is the discrete one, but it is well-known that the converse might not hold in
general, along the lines of the above discussion. We explicitely produce a metric and a uniform
structure on a space (on ℕ
, actually) that are not discrete, yet induce the discrete topology.
To check that a certain uniformity is not discrete, recall that once a type α
is endowed with a
uniformity, it is possible to speak about Cauchy
filters on a
and it is quite easy to see that
if the uniformity on a
is the discrete one, a filter is Cauchy if and only if it coincides with
the principal filter 𝓟 {x}
(see Filter.principal
) for some x : α
. This is the
declaration UniformSpace.DiscreteUnif.eq_const_of_cauchy
in Mathlib.
A special case of this result is the intuitive observation that a sequence a : ℕ → ℕ
can be a
Cauchy sequence if and only if it is eventually constant: when claiming this equivalence, one is
implicitely endowing ℕ
with the metric inherited from ℝ
, that induces the discrete uniformity
on ℕ
. Hence, the intuition suggesting that a Cauchy sequence, whose
terms are "closer and closer to each other", valued in ℕ
must be eventually constant for
topological reasons, namely the fact that ℕ
is a discrete topological space, is wrong in the
sense that the reason is intrinsically "metric". In particular, if a non-constant sequence (like
the identity id : ℕ → ℕ
is Cauchy, then the uniformity is certainly not discrete.
The counterexamples #
We produce two counterexamples: in the first section Metric
we construct a metric and in the
second section SetPointUniformity
we construct a uniformity, explicitely as a filter on ℕ × ℕ
.
They basically coincide, and the difference of the examples lies in their flavours.
The metric #
We begin by defining a metric on ℕ
(see dist_def
) that
- Induces the discrete topology, as proven in
TopIsDiscrete
; - Is not the discrete metric, in particular because the identity is a Cauchy sequence, as proven
in
idIsCauchy
The definition is simply dist m n = |2 ^ (- n : ℤ) - 2 ^ (- m : ℤ)|
, and I am grateful to
Anatole Dedecker for his suggestion.
The set-point theoretic uniformity #
A uniformity on ℕ
is a filter on ℕ × ℕ
satisfying some properties: we define a sequence of
subsets fundamentalEntourage n : (Set ℕ × ℕ)
(indexed by n : ℕ
) and we observe it satisfies the
condition needed to be a basis of a filter: moreover, the filter generated by this basis satisfies
the condition for being a uniformity, and this is the uniformity we put on ℕ
.
For each n
, the set fundamentalEntourage n : Set (ℕ × ℕ)
consists of the n+1
points
{(0,0),(1,1)...(n,n)}
on the diagonal; together with the half plane {(x,y) | n ≤ x ∧ n ≤ y}
That this collection can be used as a filter basis is proven in the definition counterBasis
and
that the filter counterBasis.filterBasis
is a uniformity is proven in the definition
counterCoreUniformity
.
This induces the discrete topology, as proven in TopIsDiscrete
and the atTop
filter is Cauchy
(see atTopIsCauchy
): that this specializes to the statement that the identity sequence
id : ℕ → ℕ
is Cauchy is proven in idIsCauchy
.
Implementation details #
Since most of the statements evolve around membership of explicit natural numbers (framed by some
inequality) to explicit subsets, many proofs are easily closed by aesop
or omega
or linarith
.
References #
Equations
- One or more equations did not get rendered due to their size.
Instances For
The fundamental entourages (index by n : ℕ
) used to construct a basis of the uniformity: for
each n
, the set fundamentalEntourage n : Set (ℕ × ℕ)
consists of the n+1
points
{(0,0),(1,1)...(n,n)}
on the diagonal; together with the half plane {(x,y) | n ≤ x ∧ n ≤ y}
Equations
- fundamentalEntourage n = (⋃ (i : ↑(Set.Icc 0 n)), {(↑i, ↑i)}) ∪ Set.Ici (n, n)
Instances For
The collection fundamentalEntourage
satisfies the axioms to be a basis for a filter on
ℕ × ℕ
and gives rise to a term in the relevant type.
Equations
- counterBasis = { sets := Set.range fundamentalEntourage, nonempty := counterBasis.proof_1, inter_sets := @counterBasis.proof_2 }
Instances For
The "crude" uniform structure, without topology, simply as a the filter generated by Basis
and satisfying the axioms for being a uniformity. We later extract the topology counterTopology
generated by it and bundle counterCoreUniformity
and counterTopology
in a uniform strucutre
on ℕ
, proving in passing that counterTopology = ⊥
Equations
Instances For
The topology on ℕ
induced by the "crude" uniformity
Equations
- counterTopology = counterCoreUniformity.toTopologicalSpace
The uniform structure on ℕ
bundling together the "crude" uniformity and the topology
A proof that the topology on ℕ
induced by the "crude" uniformity counterCoreUniformity
(or by counterUniformity
tout-court, since they are defeq
) is discrete.
We find the same result about the identity map found in idIsCauchy
, without using any metric
structure.