Computational realization of topological spaces (experimental) #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file provides infrastructure to compute with topological spaces.
Main declarations #
ctop
: Realization of a topology basis.ctop.realizer
: Realization of a topological space.ctop
that generates the given topology.locally_finite.realizer
: Realization of the local finiteness of an indexed family of sets.compact.realizer
: Realization of the compactness of a set.
- f : σ → set α
- top : α → σ
- top_mem : ∀ (x : α), x ∈ self.f (self.top x)
- inter : Π (a b : σ) (x : α), x ∈ self.f a ∩ self.f b → σ
- inter_mem : ∀ (a b : σ) (x : α) (h : x ∈ self.f a ∩ self.f b), x ∈ self.f (self.inter a b x h)
- inter_sub : ∀ (a b : σ) (x : α) (h : x ∈ self.f a ∩ self.f b), self.f (self.inter a b x h) ⊆ self.f a ∩ self.f b
A ctop α σ
is a realization of a topology (basis) on α
,
represented by a type σ
together with operations for the top element and
the intersection operation.
Instances for ctop
- ctop.has_sizeof_inst
- ctop.inhabited
- ctop.has_coe_to_fun
Equations
- ctop.has_coe_to_fun = {coe := ctop.f σ}
Map a ctop to an equivalent representation type.
Equations
- ctop.of_equiv E {f := f, top := T, top_mem := h₁, inter := I, inter_mem := h₂, inter_sub := h₃} = {f := λ (a : τ), f (⇑(E.symm) a), top := λ (x : α), ⇑E (T x), top_mem := _, inter := λ (a b : τ) (x : α) (h : x ∈ f (⇑(E.symm) a) ∩ f (⇑(E.symm) b)), ⇑E (I (⇑(E.symm) a) (⇑(E.symm) b) x h), inter_mem := _, inter_sub := _}
Every ctop
is a topological space.
Equations
A ctop
realizer for the topological space T
is a ctop
which generates T
.
Instances for ctop.realizer
- ctop.realizer.has_sizeof_inst
- ctop.realizer.inhabited
A ctop
realizes the topological space it generates.
Equations
- ctop.realizer.inhabited F = {default := F.to_realizer}
The topological space realizer made of the open sets.
Equations
- ctop.realizer.id = {σ := {x // is_open x}, F := {f := subtype.val (λ (x : set α), is_open x), top := λ (_x : α), ⟨set.univ α, _⟩, top_mem := _, inter := λ (_x : {x // is_open x}), ctop.realizer.id._match_2 _x, inter_mem := _, inter_sub := _}, eq := _}
- ctop.realizer.id._match_2 ⟨x, h₁⟩ = λ (_x : {x // is_open x}), ctop.realizer.id._match_1 x h₁ _x
- ctop.realizer.id._match_1 x h₁ ⟨y, h₂⟩ = λ (a : α) (h₃ : a ∈ ⟨x, h₁⟩.val ∩ ⟨y, h₂⟩.val), ⟨x ∩ y, _⟩
Replace the representation type of a ctop
realizer.
A realizer of the neighborhood of a point.
Equations
- F.nhds a = {σ := {s // a ∈ ⇑(F.F) s}, F := {f := λ (s : {s // a ∈ ⇑(F.F) s}), ⇑(F.F) s.val, pt := ⟨F.F.top a, _⟩, inf := λ (_x : {s // a ∈ ⇑(F.F) s}), ctop.realizer.nhds._match_2 F a _x, inf_le_left := _, inf_le_right := _}, eq := _}
- ctop.realizer.nhds._match_2 F a ⟨x, h₁⟩ = λ (_x : {s // a ∈ ⇑(F.F) s}), ctop.realizer.nhds._match_1 F a x h₁ _x
- ctop.realizer.nhds._match_1 F a x h₁ ⟨y, h₂⟩ = ⟨F.F.inter x y a _, _⟩
- bas : Π (a : α), {s // a ∈ ⇑(F.F) s}
- sets : Π (x : α), fintype ↥{i : β | (f i ∩ ⇑(F.F) ↑(self.bas x)).nonempty}
A locally_finite.realizer F f
is a realization that f
is locally finite, namely it is a
choice of open sets from the basis of F
such that they intersect only finitely many of the values
of f
.
Instances for locally_finite.realizer
- locally_finite.realizer.has_sizeof_inst
- locally_finite.realizer.nonempty
A compact.realizer s
is a realization that s
is compact, namely it is a
choice of finite open covers for each set family covering s
.