Basic lemmas and instances about the WithTopology type synonym #
WithTopology X t is a copy of X equipped with the topology t.
This is useful for providing multiple topologies on the same type
without causing instance conflicts.
In this file we setup basic API about this type
and transfer instances (basic, order) from X to WithTopology X t.
Implementation notes #
The pattern here is the same one as is used by Lex for order structures
and WithLp for metric structures.
Injectivity lemma for the constructor toTopology t.
It is not marked as @[simp], because its autogenerated version
is already in the default simp set.
If X is equipped with topology t, the map X → WithTopology X t is continuous.
If X is equipped with topology t, the map WithTopology X t → X is continuous.
Set-theoretic lemmas #
Instance transfers #
In this section we transfer some instances from X to WithTopology X t.
Equations
- WithTopology.instInhabited t = { default := WithTopology.toTopology t default }
Equations
Equations
Equations
- WithTopology.instDecidableEq.decEq (WithTopology.toTopology t✝ a) (WithTopology.toTopology t✝ b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- WithTopology.instLE t = { le := fun (x y : WithTopology X t) => x.ofTopology ≤ y.ofTopology }
Equations
- WithTopology.instLT t = { lt := fun (x y : WithTopology X t) => x.ofTopology < y.ofTopology }
Equations
- WithTopology.instDecidableLE t x y = inst✝ x.ofTopology y.ofTopology
Equations
- WithTopology.instDecidableLT t x y = inst✝ x.ofTopology y.ofTopology
Equations
- WithTopology.instMax t = { max := fun (x y : WithTopology X t) => WithTopology.toTopology t (x.ofTopology ⊔ y.ofTopology) }
Equations
- WithTopology.instMin t = { min := fun (x y : WithTopology X t) => WithTopology.toTopology t (x.ofTopology ⊓ y.ofTopology) }
Equations
Equations
Equations
- WithTopology.instLattice t = { toSemilatticeSup := WithTopology.instSemilatticeSup t, inf := SemilatticeInf.inf, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
Equations
- WithTopology.instDistribLattice t = { toLattice := WithTopology.instLattice t, le_sup_inf := ⋯ }
Equations
- WithTopology.instOrd t = { compare := fun (x y : WithTopology X t) => compare x.ofTopology y.ofTopology }