open import Level open import Ordinals module Topology {n : Level } (O : Ordinals {n}) where open import zf open import logic open _∧_ open _∨_ open Bool import OD open import Relation.Nullary open import Data.Empty open import Relation.Binary.Core open import Relation.Binary.Definitions open import Relation.Binary.PropositionalEquality import BAlgebra open BAlgebra O open inOrdinal O open OD O open OD.OD open ODAxiom odAxiom import OrdUtil import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal open Ordinals.IsNext isNext open OrdUtil O open ODUtil O import ODC open ODC O open import filter O open import OPair O record Topology ( L : HOD ) : Set (suc n) where field OS : HOD OS⊆PL : OS ⊆ Power L o∩ : { p q : HOD } → OS ∋ p → OS ∋ q → OS ∋ (p ∩ q) o∪ : { P : HOD } → P ⊆ OS → OS ∋ Union P OS∋od∅ : OS ∋ od∅ --- we may add -- OS∋L : OS ∋ L -- closed Set CS : HOD CS = record { od = record { def = λ x → (* x ⊆ L) ∧ odef OS (& ( L \ (* x ))) } ; odmax = osuc (& L) ; ¬a ¬b 0 ¬a ¬b c = c ... | tri≈ ¬a b ¬c = ⊥-elim (¬x<0 ( _==_.eq→ cex=0 record { is-CS = fip10 ; sx = subst (λ k → Subbase (* C) k) b sc } )) where fip10 : * C ⊆ Replace' (* X) (λ z xz → L \ z) fip10 {w} cw = subst (λ k → odef k w) *iso ( C ¬a ¬b 0

; P∋limit = {!!} ; is-limit = {!!} } where LP : HOD -- proj1 of LPQ LP = Proj1PP L (Power P) (Power Q) LPP : LP ⊆ Power P LPP {x} ⟪ Px , p1 ⟫ = Px FP : Filter {LP} {P} LPP FP = record { filter = Proj1PP (filter F) (Power P) (Power Q) ; f⊆L = ty00 ; filter1 = ? ; filter2 = ? } where ty00 : Proj1PP (filter F) (Power P) (Power Q) ⊆ LP ty00 {x} ⟪ PPx , ppf ⟫ = ⟪ PPx , ( λ y → record { pq = PProj1.pq (ppf y) ; opq = PProj1.opq (ppf y) ; Lpq = f⊆L F (PProj1.Lpq (ppf y)) ; x=pi1 = PProj1.x=pi1 (ppf y) } ) ⟫ UFP : ultra-filter FP UFP = record { proper = ? ; ultra = ? } uflp : UFLP TP LPP FP UFP uflp = FIP→UFLP TP (Compact→FIP TP CP) LPP FP UFP