comparison src/Tychonoff.agda @ 1204:4d894c166762

...
author kono
date Fri, 03 Mar 2023 08:37:02 +0800
parents 2f09ce1dd2a1
children 83ac320583f8
comparison
equal deleted inserted replaced
1203:2f09ce1dd2a1 1204:4d894c166762
83 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ( begin 83 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ( begin
84 * X ≡⟨ cong (*) (sym 0=X) ⟩ 84 * X ≡⟨ cong (*) (sym 0=X) ⟩
85 * o∅ ≡⟨ o∅≡od∅ ⟩ 85 * o∅ ≡⟨ o∅≡od∅ ⟩
86 od∅ ∎ ) (sym &iso) xx ) ) where open ≡-Reasoning 86 od∅ ∎ ) (sym &iso) xx ) ) where open ≡-Reasoning
87 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) 87 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
88 ... | tri> ¬a ¬b 0<P = record { limit = λ CSX fip → limit CSX fip ; is-limit = ? } where 88 ... | tri> ¬a ¬b 0<P = record { limit = λ CSX fip → limit CSX fip ; is-limit = uf01 } where
89 fip : {X : Ordinal} → * X ⊆ CS TP → Set n 89 fip : {X : Ordinal} → * X ⊆ CS TP → Set n
90 fip {X} CSX = {x : Ordinal} → Subbase (* X) x → o∅ o< x 90 fip {X} CSX = {x : Ordinal} → Subbase (* X) x → o∅ o< x
91 N : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip CSX → HOD 91 N : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip CSX → HOD
92 N {X} CSX fp = record { od = record { def = λ u → FBase P X u } ; odmax = osuc (& P) 92 N {X} CSX fp = record { od = record { def = λ u → FBase P X u } ; odmax = osuc (& P)
93 ; <odmax = λ {x} lt → subst₂ (λ j k → j o< osuc k) &iso refl (⊆→o≤ (FBase.u⊆P lt)) } 93 ; <odmax = λ {x} lt → subst₂ (λ j k → j o< osuc k) &iso refl (⊆→o≤ (FBase.u⊆P lt)) }
94 N⊆PP : {X : Ordinal } → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → N CSX fp ⊆ Power P 94 N⊆PP : {X : Ordinal } → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → N CSX fp ⊆ Power P
95 N⊆PP CSX fp nx b xb = FBase.u⊆P nx xb 95 N⊆PP CSX fp nx b xb = FBase.u⊆P nx xb
96 -- filter base is not empty 96 -- filter base is not empty
97 nc : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fip : fip CSX) → HOD 97 nc : {X : Ordinal} → o∅ o< X → (CSX : * X ⊆ CS TP) → (fip : fip CSX) → HOD
98 nc {X} CSX fip with trio< o∅ X 98 nc {X} 0<X CSX fip = ODC.minimal O (* (& e)) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) (fip (gi Xe))) ) where
99 ... | tri< 0<X ¬b ¬c = ODC.minimal O (* (& e)) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) (fip (gi Xe))) ) where
100 e : HOD -- we have an element of X 99 e : HOD -- we have an element of X
101 e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) 100 e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) )
102 Xe : odef (* X) (& e) 101 Xe : odef (* X) (& e)
103 Xe = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) 102 Xe = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) )
104 ... | tri≈ ¬a b ¬c = od∅ 103 N∋nc :{X : Ordinal} → (0<X : o∅ o< X) → (CSX : * X ⊆ CS TP)
105 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) 104 → (fip : fip CSX) → odef (N CSX fip) (& (nc 0<X CSX fip) )
106 N∋nc :{X : Ordinal} → (CSX : * X ⊆ CS TP) → (fip : fip CSX) → odef (N CSX fip) (& (nc CSX fip) ) 105 N∋nc {X} 0<X CSX fip = record { b = ? ; x = ? ; b⊆X = ? ; sb = ? ; u⊆P = ? ; x⊆u = ? } where
107 N∋nc {X} CSX fip with trio< o∅ X
108 ... | tri< 0<X ¬b ¬c = record { b = ? ; x = ? ; b⊆X = ? ; sb = ? ; u⊆P = ? ; x⊆u = ? } where
109 e : HOD -- we have an element of X 106 e : HOD -- we have an element of X
110 e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) 107 e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) )
111 Xe : odef (* X) (& e) 108 Xe : odef (* X) (& e)
112 Xe = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) 109 Xe = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) )
113 nn01 = ODC.minimal O (* (& e)) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) (fip (gi Xe))) ) 110 nn01 = ODC.minimal O (* (& e)) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) (fip (gi Xe))) )
114 ... | tri≈ ¬a b ¬c = ? -- od∅
115 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
116 0<PP : o∅ o< & (Power P) 111 0<PP : o∅ o< & (Power P)
117 0<PP = subst (λ k → k o< & (Power P)) &iso ( c<→o< (subst (λ k → odef (Power P) k) (sym &iso) nn00 )) where 112 0<PP = subst (λ k → k o< & (Power P)) &iso ( c<→o< (subst (λ k → odef (Power P) k) (sym &iso) nn00 )) where
118 nn00 : odef (Power P) o∅ 113 nn00 : odef (Power P) o∅
119 nn00 x lt with subst (λ k → odef k x) o∅≡od∅ lt 114 nn00 x lt with subst (λ k → odef k x) o∅≡od∅ lt
120 ... | x<0 = ⊥-elim ( ¬x<0 x<0) 115 ... | x<0 = ⊥-elim ( ¬x<0 x<0)
154 -- 149 --
155 maxf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → MaximumFilter (λ x → x) (F CSX fp) 150 maxf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → MaximumFilter (λ x → x) (F CSX fp)
156 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) 151 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)
157 mf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → Filter {Power P} {P} (λ x → x) 152 mf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → Filter {Power P} {P} (λ x → x)
158 mf {X} CSX fp = MaximumFilter.mf (maxf CSX fp) 153 mf {X} CSX fp = MaximumFilter.mf (maxf CSX fp)
159 ultraf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → ultra-filter ( mf CSX fp) 154 ultraf : {X : Ordinal} → o∅ o< X → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → ultra-filter ( mf CSX fp)
160 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) 155 ultraf {X} 0<X CSX fp = ? -- F→ultra {Power P} {P} (λ x → x) (CAP P) (F CSX fp) 0<PP (N∋nc CSX fp) (proper CSX fp)
161 -- 156 --
162 -- so i has a limit as a limit of UIP 157 -- so i has a limit as a limit of UIP
163 -- 158 --
164 limit : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal 159 limit : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal
165 limit {X} CSX fp with trio< o∅ X 160 limit {X} CSX fp with trio< o∅ X
166 ... | tri< 0<X ¬b ¬c = UFLP.limit ( uflp ( mf CSX fp ) (ultraf CSX fp)) 161 ... | tri< 0<X ¬b ¬c = UFLP.limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp))
167 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ( begin 162 ... | tri≈ ¬a 0=X ¬c = o∅
168 * X ≡⟨ cong (*) (sym 0=X) ⟩
169 * o∅ ≡⟨ o∅≡od∅ ⟩
170 od∅ ∎ ) (sym &iso) ? ) ) where open ≡-Reasoning
171 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) 163 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
172 uf02 : {X v : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) 164 uf02 : {X v : Ordinal} → (0<X : o∅ o< X) → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX)
173 → Neighbor TP (limit CSX fp) v → * v ⊆ filter ( mf CSX fp ) 165 → Neighbor TP (limit CSX fp) v → * v ⊆ filter ( mf CSX fp )
174 uf02 {X} {v} CSX fp nei {x} vx with trio< o∅ X 166 uf02 {X} {v} 0<X CSX fp nei {x} vx with trio< o∅ X
175 ... | tri< 0<X ¬b ¬c = UFLP.is-limit ( uflp ( mf CSX fp ) (ultraf CSX fp)) nei vx 167 ... | tri< 0<X ¬b ¬c = UFLP.is-limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp)) nei vx
176 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ( begin 168 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬a 0<X )
177 * X ≡⟨ cong (*) (sym 0=X) ⟩
178 * o∅ ≡⟨ o∅≡od∅ ⟩
179 od∅ ∎ ) (sym &iso) ? ) ) where open ≡-Reasoning
180 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) 169 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
181 -- 170 --
182 -- the limit is an limit of entire elements of X 171 -- the limit is an limit of entire elements of X
183 -- 172 --
184 uf01 : {X : Ordinal} (CSX : * X ⊆ CS TP) (fp : fip {X} CSX) {x : Ordinal} → odef (* X) x → odef (* x) (limit CSX fp) 173 uf01 : {X : Ordinal} (CSX : * X ⊆ CS TP) (fp : fip {X} CSX) {x : Ordinal} → odef (* X) x → odef (* x) (limit CSX fp)
185 uf01 {X} CSX fp {x} xx with ODC.∋-p O (* x) (* (limit CSX fp)) 174 uf01 {X} CSX fp {x} xx with trio< o∅ X
186 ... | yes y = subst (λ k → odef (* x) k) &iso y 175 ... | tri< 0<X ¬b ¬c = ?
187 ... | no nxl = ⊥-elim ( MaximumFilter.proper (maxf CSX fp) uf08 ) where 176 ... | tri≈ ¬a 0=X ¬c = ?
188 uf03 : OS TP ∋ ( P \ (* x)) 177 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
189 uf03 = ?
190 uf05 : odef ( P \ (* x)) (limit CSX fp)
191 uf05 = ⟪ ? , subst (λ k → ¬ odef (* x) k) ? nxl ⟫
192 uf04 : Neighbor TP (limit CSX fp) (& ( P \ (* (limit CSX fp))))
193 uf04 = record { u = & ( P \ (* x)) ; ou = ? ; ux = ? ; v⊆P = ? ; u⊆v = ? }
194 uf07 : odef (filter (mf CSX fp)) x
195 uf07 = ?
196 uf06 : odef (filter (mf CSX fp)) (& ( P \ (* x)) )
197 uf06 = ?
198 uf08 : (filter (mf CSX fp)) ∋ od∅
199 uf08 = ?
200
201 178
202 FIP→UFLP : {P : HOD} (TP : Topology P) → FIP TP 179 FIP→UFLP : {P : HOD} (TP : Topology P) → FIP TP
203 → (F : Filter {Power P} {P} (λ x → x)) (UF : ultra-filter F ) → UFLP {P} TP F UF 180 → (F : Filter {Power P} {P} (λ x → x)) (UF : ultra-filter F ) → UFLP {P} TP F UF
204 FIP→UFLP {P} TP fip F UF = record { limit = FIP.limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ? ; P∋limit = ? ; is-limit = ufl00 } where 181 FIP→UFLP {P} TP fip F UF = record { limit = FIP.limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ? ; P∋limit = ? ; is-limit = ufl00 } where
205 -- 182 --