Mercurial > hg > Members > kono > Proof > ZF-in-agda
view src/Topology.agda @ 1107:f4c398c60c67
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 31 Dec 2022 10:01:05 +0900 |
parents | 3b894bbefe92 |
children | 720aff4a7fa4 |
line wrap: on
line source
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.PropositionalEquality import BAlgbra open BAlgbra 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 : HOD } → P ⊆ OS → OS ∋ Union P o∩ : { p q : HOD } → OS ∋ p → OS ∋ q → OS ∋ (p ∩ q) -- closed Set CS : HOD CS = record { od = record { def = λ x → odef OS (& ( L \ (* x ))) } ; odmax = & L ; <odmax = tp02 } where tp02 : {y : Ordinal } → odef OS (& (L \ * y)) → y o< & L tp02 {y} nop = ? -- ∈∅< ( proj1 nop ) open Topology -- Base -- The elements of B cover X ; For any U , V ∈ B and any point x ∈ U ∩ V there is a W ∈ B such that -- W ⊆ U ∩ V and x ∈ W . data Subbase (P : HOD) : Ordinal → Set n where gi : {x : Ordinal } → odef P x → Subbase P x g∩ : {x y : Ordinal } → Subbase P x → Subbase P y → Subbase P (& (* x ∩ * y)) Subases : (P : HOD) → HOD Subases P = record { od = record { def = λ x → Subbase P x } ; odmax = ? ; <odmax = ? } record Base (P : HOD) (x : Ordinal) : Set n where field b : Ordinal pb : odef (Power (Subases P) ) b union : odef (Union (* b)) x GeneratedTop : (P : HOD) → HOD GeneratedTop P = record { od = record { def = λ x → Base P x } ; odmax = & P ; <odmax = ? } -- covers record _covers_ ( P q : HOD ) : Set (suc n) where field cover : {x : HOD} → q ∋ x → HOD P∋cover : {x : HOD} → {lt : q ∋ x} → P ∋ cover lt isCover : {x : HOD} → {lt : q ∋ x} → cover lt ∋ x -- Finite Intersection Property data Finite-∩ (S : HOD) : HOD → Set (suc n) where fin-e : {x : HOD} → S ∋ x → Finite-∩ S x fin-∩ : {x y : HOD} → Finite-∩ S x → Finite-∩ S y → Finite-∩ S (x ∩ y) record FIP {L : HOD} (top : Topology L) : Set (suc n) where field fipS⊆PL : L ⊆ CS top fip≠φ : { x : HOD } → Finite-∩ L x → ¬ ( x ≡ od∅ ) -- Compact data Finite-∪ (S : HOD) : HOD → Set (suc n) where fin-e : {x : HOD} → S ∋ x → Finite-∪ S x fin-∪ : {x y : HOD} → Finite-∪ S x → Finite-∪ S y → Finite-∪ S (x ∪ y) record Compact {L : HOD} (top : Topology L) : Set (suc n) where field finCover : {X : HOD} → X ⊆ OS top → X covers L → HOD isCover : {X : HOD} → (xo : X ⊆ OS top) → (xcp : X covers L ) → (finCover xo xcp ) covers L isFinite : {X : HOD} → (xo : X ⊆ OS top) → (xcp : X covers L ) → Finite-∪ X (finCover xo xcp ) -- FIP is Compact FIP→Compact : {L : HOD} → (top : Topology L ) → FIP top → Compact top FIP→Compact {L} TL fip = record { finCover = ? ; isCover = ? ; isFinite = ? } Compact→FIP : {L : HOD} → (top : Topology L ) → Compact top → FIP top Compact→FIP = {!!} -- Product Topology open ZFProduct record BaseP {P : HOD} (TP : Topology P ) (Q : HOD) (x : Ordinal) : Set n where field p q : Ordinal op : odef (OS TP) p prod : x ≡ & (ZFP (* p) Q ) record BaseQ (P : HOD) {Q : HOD} (TQ : Topology Q ) (x : Ordinal) : Set n where field p q : Ordinal oq : odef (OS TQ) q prod : x ≡ & (ZFP P (* q )) -- box : HOD -- box = ZFP (OS TP) (OS TQ) base : {P Q : HOD} → Topology P → Topology Q → HOD base {P} {Q} TP TQ = record { od = record { def = λ x → BaseP TP Q x ∨ BaseQ P TQ x } ; odmax = & (ZFP P Q) ; <odmax = ? } POS : {P Q : HOD} → Topology P → Topology Q → HOD POS {P} {Q} TP TQ = GeneratedTop (base TP TQ) _Top⊗_ : {P Q : HOD} → Topology P → Topology Q → Topology (ZFP P Q) _Top⊗_ {P} {Q} TP TQ = record { OS = POS TP TQ ; OS⊆PL = tp10 ; o∪ = ? ; o∩ = ? } where -- B : (OS P ∋ x → proj⁻¹ x ) ∨ (OS Q ∋ y → proj⁻¹ y ) -- U ⊂ ZFP P Q ∧ ( U ∋ ∀ x → B ∋ ∃ b → b ∋ x ∧ b ⊂ U ) tp11 : {x y z : Ordinal } → Subbase (base TP TQ) y → odef (* y) x → odef (* x) z → ZFProduct P Q z tp11 {x} {y} {z} (gi (case1 record { p = p ; q = q ; op = op ; prod = prod })) yx xz = ? tp11 {x} {y} {z} (gi (case2 bp)) yx xz = ? tp11 {x} (g∩ {a} {b} sb sb₁) yx xz = tp11 {x} {a} sb (proj1 (subst (λ k → odef k x) *iso yx)) xz tp10 : POS TP TQ ⊆ Power (ZFP P Q) tp10 {x} record { b = b ; pb = pb ; union = record { owner = y ; ao = by ; ox = yx } } z xz = tp11 (pb _ by) yx xz -- existence of Ultra Filter open Filter -- Ultra Filter has limit point record UFLP {P : HOD} (TP : Topology P) {L : HOD} (LP : L ⊆ Power P ) (F : Filter LP ) (uf : ultra-filter {L} {P} {LP} F) : Set (suc (suc n)) where field limit : Ordinal P∋limit : odef P limit is-limit : {o : Ordinal} → odef (OS TP) o → odef (* o) limit → (* o) ⊆ filter F -- FIP is UFL FIP→UFLP : {P : HOD} (TP : Topology P) → FIP TP → {L : HOD} (LP : L ⊆ Power P ) (F : Filter LP ) (uf : ultra-filter {L} {P} {LP} F) → UFLP TP LP F uf FIP→UFLP {P} TP fip {L} LP F uf = record { limit = ? ; P∋limit = ? ; is-limit = ? } UFLP→FIP : {P : HOD} (TP : Topology P) → ( {L : HOD} (LP : L ⊆ Power P ) (F : Filter LP ) (uf : ultra-filter {L} {P} {LP} F) → UFLP TP LP F uf ) → FIP TP UFLP→FIP {P} TP uflp = record { fipS⊆PL = ? ; fip≠φ = ? } -- Product of UFL has limit point (Tychonoff) Tychonoff : {P Q : HOD } → (TP : Topology P) → (TQ : Topology Q) → Compact TP → Compact TQ → Compact (TP Top⊗ TQ) Tychonoff {P} {Q} TP TQ CP CQ = FIP→Compact (TP Top⊗ TQ) (UFLP→FIP (TP Top⊗ TQ) uflp ) where uflp : {L : HOD} (LPQ : L ⊆ Power (ZFP P Q)) (F : Filter LPQ) (uf : ultra-filter {L} {_} {LPQ} F) → UFLP (TP Top⊗ TQ) LPQ F uf uflp {L} LPQ F uf = record { limit = & < * ( UFLP.limit uflpp) , ? > ; P∋limit = ? ; is-limit = ? } where LP : (L : HOD ) (LPQ : L ⊆ Power (ZFP P Q)) → HOD LP L LPQ = Replace' L ( λ x lx → Replace' x ( λ z xz → * ( zπ1 (LPQ lx (& z) (subst (λ k → odef k (& z)) (sym *iso) xz )))) ) LPP : (L : HOD) (LPQ : L ⊆ Power (ZFP P Q)) → LP L LPQ ⊆ Power P LPP L LPQ record { z = z ; az = az ; x=ψz = x=ψz } w xw = tp02 (subst (λ k → odef k w) (subst₂ (λ j k → j ≡ k) refl *iso (cong (*) x=ψz) ) xw) where tp02 : Replace' (* z) (λ z₁ xz → * (zπ1 (LPQ (subst (odef L) (sym &iso) az) (& z₁) (subst (λ k → odef k (& z₁)) (sym *iso) xz)))) ⊆ P tp02 record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef P k ) (trans (sym &iso) (sym x=ψz1) ) (zp1 (LPQ (subst (λ k → odef L k) (sym &iso) az) _ (tp03 az1 ))) where tp03 : odef (* z) z1 → odef (* (& (* z))) (& (* z1)) tp03 lt = subst (λ k → odef k (& (* z1))) (sym *iso) (subst (odef (* z)) (sym &iso) lt) FP : Filter (LPP L LPQ) FP = record { filter = LP (filter F) (λ x → LPQ (f⊆L F x )) ; f⊆L = tp04 ; filter1 = ? ; filter2 = ? } where tp04 : LP (filter F) (λ x → LPQ (f⊆L F x )) ⊆ LP L LPQ tp04 record { z = z ; az = az ; x=ψz = x=ψz } = record { z = z ; az = f⊆L F az ; x=ψz = ? } uFP : ultra-filter FP uFP = record { proper = ? ; ultra = ? } uflpp : UFLP {P} TP {LP L LPQ} (LPP L LPQ) FP uFP uflpp = FIP→UFLP TP (Compact→FIP TP CP) (LPP L LPQ) FP uFP LQ : HOD LQ = Replace' L ( λ x lx → Replace' x ( λ z xz → * ( zπ2 (LPQ lx (& z) (subst (λ k → odef k (& z)) (sym *iso) xz )))) ) LQQ : LQ ⊆ Power Q LQQ = ?