Chuangjie Xu 2013 (updated in February 2015, ported to TypeTopology in 2025)
\begin{code}
{-# OPTIONS --safe --without-K #-}
module C-Spaces.UsingNotNotFunExt.Space where
open import MLTT.Spartan
open import C-Spaces.Preliminaries.Sequence
open import C-Spaces.Coverage
\end{code}
C-topologies and C-spaces
\begin{code}
probe-axioms : (X : π€β Μ ) β ((ββ β X) β π€β Μ ) β π€β Μ
probe-axioms X P =
(β(x : X) β (Ξ» Ξ± β x) β P)
Γ (β(t : ββ β ββ) β t β C β β(p : ββ β X) β p β P β p β t β P)
Γ (β(p : ββ β X) β (Ξ£ n κ β , β(s : βFin n) β p β cons s β P) β p β P)
Γ (β(p q : ββ β X) β p β P β (β Ξ± β ¬¬ (p Ξ± οΌ q Ξ±)) β q β P)
TopologyOn : π€β Μ β π€β Μ
TopologyOn X = Ξ£ P κ ((ββ β X) β π€β Μ ) , probe-axioms X P
Space : π€β Μ
Space = Ξ£ X κ π€β Μ , TopologyOn X
U : Space β π€β Μ
U = prβ
Probe : (X : Space) β (ββ β U X) β π€β Μ
Probe X = prβ (prβ X)
condβ : (X : Space) β
β x β (Ξ» Ξ± β x) β Probe X
condβ (_ , _ , cβ , _) = cβ
condβ : (X : Space) β
β t β t β C β β p β p β Probe X β
p β t β Probe X
condβ (_ , _ , _ , cβ , _) = cβ
condβ : (X : Space) β
β p β (Ξ£ n κ β , β(s : βFin n) β p β cons s β Probe X) β
p β Probe X
condβ (_ , _ , _ , _ , cβ , _) = cβ
condβ : (X : Space) β
β p q β p β Probe X β (β Ξ± β ¬¬ (p Ξ± οΌ q Ξ±)) β
q β Probe X
condβ (_ , _ , _ , _ , _ , cβ) = cβ
condβ' : (X : Space) β
β p q β p β Probe X β p βΌ q β
q β Probe X
condβ' X p q pX e = condβ X p q pX (Ξ» Ξ± β ¬¬-intro (e Ξ±))
\end{code}
Continuous maps
\begin{code}
continuous : (X Y : Space) β (U X β U Y) β π€β Μ
continuous X Y f = β p β p β Probe X β f β p β Probe Y
Map : Space β Space β π€β Μ
Map X Y = Ξ£ f κ (U X β U Y) , continuous X Y f
id-is-continuous : β{X : Space} β continuous X X id
id-is-continuous p pinP = pinP
β-preserves-continuity : (X Y Z : Space) β
β(f : U X β U Y) β continuous X Y f β
β(g : U Y β U Z) β continuous Y Z g β
continuous X Z (g β f)
β-preserves-continuity X Y Z f cf g cg p pP = cg (f β p) (cf p pP)
continuous-constant : (X Y : Space) β U Y β Map X Y
continuous-constant X Y y = (Ξ» _ β y) , (Ξ» _ _ β condβ Y y)
\end{code}