Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/Tychonoff.agda @ 1170:b2ca37e81ad0
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 22 Jan 2023 20:04:57 +0900 |
parents | src/Topology.agda@46dc298bdd77 |
children | a839fccdef47 |
comparison
equal
deleted
inserted
replaced
1169:46dc298bdd77 | 1170:b2ca37e81ad0 |
---|---|
1 open import Level | |
2 open import Ordinals | |
3 module Tychonoff {n : Level } (O : Ordinals {n}) where | |
4 | |
5 open import zf | |
6 open import logic | |
7 open _∧_ | |
8 open _∨_ | |
9 open Bool | |
10 | |
11 import OD | |
12 open import Relation.Nullary | |
13 open import Data.Empty | |
14 open import Relation.Binary.Core | |
15 open import Relation.Binary.Definitions | |
16 open import Relation.Binary.PropositionalEquality | |
17 import BAlgebra | |
18 open BAlgebra O | |
19 open inOrdinal O | |
20 open OD O | |
21 open OD.OD | |
22 open ODAxiom odAxiom | |
23 import OrdUtil | |
24 import ODUtil | |
25 open Ordinals.Ordinals O | |
26 open Ordinals.IsOrdinals isOrdinal | |
27 open Ordinals.IsNext isNext | |
28 open OrdUtil O | |
29 open ODUtil O | |
30 | |
31 import ODC | |
32 open ODC O | |
33 | |
34 open import filter O | |
35 open import OPair O | |
36 open import Topology O | |
37 open import maximum-filter O | |
38 | |
39 open Filter | |
40 open Topology | |
41 | |
42 -- FIP is UFL | |
43 | |
44 -- filter Base | |
45 record FBase (P : HOD )(X : Ordinal ) (u : Ordinal) : Set n where | |
46 field | |
47 b x : Ordinal | |
48 b⊆X : * b ⊆ * X | |
49 sb : Subbase (* b) x | |
50 u⊆P : * u ⊆ P | |
51 x⊆u : * x ⊆ * u | |
52 | |
53 record UFLP {P : HOD} (TP : Topology P) (F : Filter {Power P} {P} (λ x → x) ) | |
54 (ultra : ultra-filter F ) : Set (suc (suc n)) where | |
55 field | |
56 limit : Ordinal | |
57 P∋limit : odef P limit | |
58 is-limit : {v : Ordinal} → Neighbor TP limit v → (* v) ⊆ filter F | |
59 | |
60 UFLP→FIP : {P : HOD} (TP : Topology P) → | |
61 ((F : Filter {Power P} {P} (λ x → x) ) (UF : ultra-filter F ) → UFLP TP F UF ) → FIP TP | |
62 UFLP→FIP {P} TP uflp with trio< (& P) o∅ | |
63 ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) | |
64 ... | tri≈ ¬a b ¬c = record { limit = ? ; is-limit = {!!} } where | |
65 -- P is empty | |
66 fip02 : {x : Ordinal } → ¬ odef P x | |
67 fip02 {x} Px = ⊥-elim ( o<¬≡ (sym b) (∈∅< Px) ) | |
68 ... | tri> ¬a ¬b 0<P = record { limit = limit ; is-limit = uf01 } where | |
69 fip : {X : Ordinal} → * X ⊆ CS TP → Set n | |
70 fip {X} CSX = {u x : Ordinal} → * u ⊆ * X → Subbase (* u) x → o∅ o< x | |
71 N : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip CSX → HOD | |
72 N {X} CSX fp = record { od = record { def = λ u → FBase P X u } ; odmax = osuc (& P) | |
73 ; <odmax = λ {x} lt → subst₂ (λ j k → j o< osuc k) &iso refl (⊆→o≤ (FBase.u⊆P lt)) } | |
74 N⊆PP : {X : Ordinal } → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → N CSX fp ⊆ Power P | |
75 N⊆PP CSX fp nx b xb = FBase.u⊆P nx xb | |
76 nc : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → HOD | |
77 nc = ? | |
78 N∋nc :{X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → odef (N CSX fp) (& (nc CSX fp) ) | |
79 N∋nc = ? | |
80 0<PP : o∅ o< & (Power P) | |
81 0<PP = ? | |
82 F : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → Filter {Power P} {P} (λ x → x) | |
83 F {X} CSX fp = record { filter = N CSX fp ; f⊆L = N⊆PP CSX fp ; filter1 = f1 ; filter2 = f2 } where | |
84 f1 : {p q : HOD} → Power P ∋ q → N CSX fp ∋ p → p ⊆ q → N CSX fp ∋ q | |
85 f1 {p} {q} Xq record { b = b ; x = x ; b⊆X = b⊆X ; sb = sb ; u⊆P = Xp ; x⊆u = x⊆p } p⊆q = | |
86 record { b = b ; x = x ; b⊆X = b⊆X ; sb = sb ; u⊆P = subst (λ k → k ⊆ P) (sym *iso) f10 ; x⊆u = λ {z} xp → | |
87 subst (λ k → odef k z) (sym *iso) (p⊆q (subst (λ k → odef k z) *iso (x⊆p xp))) } where | |
88 f10 : q ⊆ P | |
89 f10 {x} qx = subst (λ k → odef P k) &iso (power→ P _ Xq (subst (λ k → odef q k) (sym &iso) qx )) | |
90 f2 : {p q : HOD} → N CSX fp ∋ p → N CSX fp ∋ q → Power P ∋ (p ∩ q) → N CSX fp ∋ (p ∩ q) | |
91 f2 {p} {q} Np Nq Xpq = record { b = & Np+Nq ; x = & xp∧xq ; b⊆X = f20 ; sb = sbpq ; u⊆P = p∩q⊆p ; x⊆u = f22 } where | |
92 p∩q⊆p : * (& (p ∩ q)) ⊆ P | |
93 p∩q⊆p {x} pqx = subst (λ k → odef P k) &iso (power→ P _ Xpq (subst₂ (λ j k → odef j k ) *iso (sym &iso) pqx )) | |
94 Np+Nq = * (FBase.b Np) ∪ * (FBase.b Nq) | |
95 xp∧xq = * (FBase.x Np) ∩ * (FBase.x Nq) | |
96 sbpq : Subbase (* (& Np+Nq)) (& xp∧xq) | |
97 sbpq = subst₂ (λ j k → Subbase j k ) (sym *iso) refl ( g∩ (sb⊆ case1 (FBase.sb Np)) (sb⊆ case2 (FBase.sb Nq))) | |
98 f20 : * (& Np+Nq) ⊆ * X | |
99 f20 {x} npq with subst (λ k → odef k x) *iso npq | |
100 ... | case1 np = FBase.b⊆X Np np | |
101 ... | case2 nq = FBase.b⊆X Nq nq | |
102 f22 : * (& xp∧xq) ⊆ * (& (p ∩ q)) | |
103 f22 = subst₂ ( λ j k → j ⊆ k ) (sym *iso) (sym *iso) (λ {w} xpq | |
104 → ⟪ subst (λ k → odef k w) *iso ( FBase.x⊆u Np (proj1 xpq)) , subst (λ k → odef k w) *iso ( FBase.x⊆u Nq (proj2 xpq)) ⟫ ) | |
105 proper : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → ¬ (N CSX fp ∋ od∅) | |
106 proper = ? | |
107 maxf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → MaximumFilter (λ x → x) (F CSX fp) | |
108 maxf {X} CSX fp = F→Maximum {Power P} {P} (λ x → x) (CAP P) (F CSX fp) 0<PP (N∋nc CSX fp) (proper CSX fp) | |
109 mf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → Filter {Power P} {P} (λ x → x) | |
110 mf {X} CSX fp = MaximumFilter.mf (maxf CSX fp) | |
111 ultraf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → ultra-filter ( mf CSX fp) | |
112 ultraf {X} CSX fp = F→ultra {Power P} {P} (λ x → x) (CAP P) (F CSX fp) 0<PP (N∋nc CSX fp) (proper CSX fp) | |
113 limit : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal | |
114 limit {X} CSX fp = UFLP.limit ( uflp ( mf CSX fp ) (ultraf CSX fp)) | |
115 uf02 : {X v : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) | |
116 → Neighbor TP (limit CSX fp) v → * v ⊆ filter ( mf CSX fp ) | |
117 uf02 {X} {v} CSX fp nei {x} vx = UFLP.is-limit ( uflp ( mf CSX fp ) (ultraf CSX fp)) nei vx | |
118 uf01 : {X : Ordinal} (CSX : * X ⊆ CS TP) (fp : fip {X} CSX) {x : Ordinal} → odef (* X) x → odef (* x) (limit CSX fp) | |
119 uf01 {X} CSX fp {x} xx with ODC.∋-p O (* x) (* (limit CSX fp)) | |
120 ... | yes y = subst (λ k → odef (* x) k) &iso y | |
121 ... | no nxl = ⊥-elim ( MaximumFilter.proper (maxf CSX fp) uf08 ) where | |
122 uf03 : OS TP ∋ ( P \ (* x)) | |
123 uf03 = ? | |
124 uf05 : odef ( P \ (* x)) (limit CSX fp) | |
125 uf05 = ⟪ ? , subst (λ k → ¬ odef (* x) k) ? nxl ⟫ | |
126 uf04 : Neighbor TP (limit CSX fp) (& ( P \ (* (limit CSX fp)))) | |
127 uf04 = record { u = & ( P \ (* x)) ; ou = ? ; ux = ? ; v⊆P = ? ; u⊆v = ? } | |
128 uf07 : odef (filter (mf CSX fp)) x | |
129 uf07 = ? | |
130 uf06 : odef (filter (mf CSX fp)) (& ( P \ (* x)) ) | |
131 uf06 = ? | |
132 uf08 : (filter (mf CSX fp)) ∋ od∅ | |
133 uf08 = ? | |
134 | |
135 | |
136 FIP→UFLP : {P : HOD} (TP : Topology P) → FIP TP | |
137 → (F : Filter {Power P} {P} (λ x → x)) (UF : ultra-filter F ) → UFLP {P} TP F UF | |
138 FIP→UFLP {P} TP fip F UF = record { limit = FIP.limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ufl01 ; P∋limit = ? ; is-limit = ufl00 } where | |
139 CF : HOD | |
140 CF = Replace' (filter F) (λ x fx → Cl TP x ) | |
141 CF⊆CS : CF ⊆ CS TP | |
142 CF⊆CS {x} record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef (CS TP) k) (sym x=ψz) (CS∋Cl TP (* z)) | |
143 ufl01 : {C x : Ordinal} → * C ⊆ * (& CF) → Subbase (* C) x → o∅ o< x | |
144 ufl01 = ? | |
145 limit : Ordinal | |
146 limit = FIP.limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ufl01 | |
147 ufl02 : {y : Ordinal } → odef (* (& CF)) y → odef (* y) limit | |
148 ufl02 = FIP.is-limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ufl01 | |
149 ufl03 : {f v : Ordinal } → odef (filter F) f → Neighbor TP limit v → ¬ ( * f ∩ * v ) =h= od∅ | |
150 ufl03 {f} {v} ff nei fv=0 = ? | |
151 pp : {v x : Ordinal} → Neighbor TP limit v → odef (* v) x → Power P ∋ (* x) | |
152 pp {v} {x} nei vx z pz = ? | |
153 ufl00 : {v : Ordinal} → Neighbor TP limit v → * v ⊆ filter F | |
154 ufl00 {v} nei {x} fx with ultra-filter.ultra UF (pp nei fx) (NEG P (pp nei fx)) | |
155 ... | case1 fv = subst (λ k → odef (filter F) k) &iso fv | |
156 ... | case2 nfv = ? | |
157 | |
158 -- product topology of compact topology is compact | |
159 | |
160 Tychonoff : {P Q : HOD } → (TP : Topology P) → (TQ : Topology Q) → Compact TP → Compact TQ → Compact (ProductTopology TP TQ) | |
161 Tychonoff {P} {Q} TP TQ CP CQ = FIP→Compact (ProductTopology TP TQ) (UFLP→FIP (ProductTopology TP TQ) uflPQ ) where | |
162 uflP : (F : Filter {Power P} {P} (λ x → x)) (UF : ultra-filter F) | |
163 → UFLP TP F UF | |
164 uflP F UF = FIP→UFLP TP (Compact→FIP TP CP) F UF | |
165 uflQ : (F : Filter {Power Q} {Q} (λ x → x)) (UF : ultra-filter F) | |
166 → UFLP TQ F UF | |
167 uflQ F UF = FIP→UFLP TQ (Compact→FIP TQ CQ) F UF | |
168 -- Product of UFL has limit point | |
169 uflPQ : (F : Filter {Power (ZFP P Q)} {ZFP P Q} (λ x → x)) (UF : ultra-filter F) | |
170 → UFLP (ProductTopology TP TQ) F UF | |
171 uflPQ F UF = record { limit = & < * ( UFLP.limit uflp ) , * ( UFLP.limit uflq ) > ; P∋limit = Pf ; is-limit = isL } where | |
172 FP : Filter {Power P} {P} (λ x → x) | |
173 FP = record { filter = Proj1 (filter F) (Power P) (Power Q) ; f⊆L = ty00 ; filter1 = ? ; filter2 = ? } where | |
174 ty00 : Proj1 (filter F) (Power P) (Power Q) ⊆ Power P | |
175 ty00 {x} ⟪ PPx , ppf ⟫ = PPx | |
176 UFP : ultra-filter FP | |
177 UFP = record { proper = ? ; ultra = ? } | |
178 uflp : UFLP TP FP UFP | |
179 uflp = FIP→UFLP TP (Compact→FIP TP CP) FP UFP | |
180 | |
181 FQ : Filter {Power Q} {Q} (λ x → x) | |
182 FQ = record { filter = Proj2 (filter F) (Power P) (Power Q) ; f⊆L = ty00 ; filter1 = ? ; filter2 = ? } where | |
183 ty00 : Proj2 (filter F) (Power P) (Power Q) ⊆ Power Q | |
184 ty00 {x} ⟪ QPx , ppf ⟫ = QPx | |
185 UFQ : ultra-filter FQ | |
186 UFQ = record { proper = ? ; ultra = ? } | |
187 uflq : UFLP TQ FQ UFQ | |
188 uflq = FIP→UFLP TQ (Compact→FIP TQ CQ) FQ UFQ | |
189 | |
190 Pf : odef (ZFP P Q) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) | |
191 Pf = ? | |
192 neip : {v : Ordinal} → {p q : HOD} → Neighbor (ProductTopology TP TQ) (& < p , q >) v → Neighbor TP p ? | |
193 neip = ? | |
194 neiq : {v : Ordinal} → {p q : HOD} → Neighbor (ProductTopology TP TQ) (& < p , q >) v → Neighbor TQ q ? | |
195 neiq = ? | |
196 pq⊆F : {p q : HOD} → Neighbor TP p ? → Neighbor TP q ? → ? ⊆ filter F | |
197 pq⊆F = ? | |
198 isL : {v : Ordinal} → Neighbor (ProductTopology TP TQ) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) v → * v ⊆ filter F | |
199 isL {v} npq {x} fx = ? | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 |