comparison src/Topology.agda @ 1152:e1c6719a8c38

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 18 Jan 2023 09:30:26 +0900
parents 8a071bf52407
children 5eb972738f9b
comparison
equal deleted inserted replaced
1151:8a071bf52407 1152:e1c6719a8c38
111 -- we may need these if OS ∋ L is necessary 111 -- we may need these if OS ∋ L is necessary
112 -- p : {x : HOD} → L ∋ x → HOD 112 -- p : {x : HOD} → L ∋ x → HOD
113 -- Pp : {x : HOD} → {lx : L ∋ x } → P ∋ p lx 113 -- Pp : {x : HOD} → {lx : L ∋ x } → P ∋ p lx
114 -- px : {x : HOD} → {lx : L ∋ x } → p lx ∋ x 114 -- px : {x : HOD} → {lx : L ∋ x } → p lx ∋ x
115 115
116 GeneratedTopogy : (L P : HOD) → IsSubBase L P → Topology L 116 InducedTopology : (L P : HOD) → IsSubBase L P → Topology L
117 GeneratedTopogy L P isb = record { OS = SO L P ; OS⊆PL = tp00 117 InducedTopology L P isb = record { OS = SO L P ; OS⊆PL = tp00
118 ; o∪ = tp02 ; o∩ = tp01 ; OS∋od∅ = tp03 } where 118 ; o∪ = tp02 ; o∩ = tp01 ; OS∋od∅ = tp03 } where
119 tp03 : {x : Ordinal } → odef (* (& od∅)) x → Base L P (& od∅) x 119 tp03 : {x : Ordinal } → odef (* (& od∅)) x → Base L P (& od∅) x
120 tp03 {x} 0x = ⊥-elim ( empty (* x) ( subst₂ (λ j k → odef j k ) *iso (sym &iso) 0x )) 120 tp03 {x} 0x = ⊥-elim ( empty (* x) ( subst₂ (λ j k → odef j k ) *iso (sym &iso) 0x ))
121 tp00 : SO L P ⊆ Power L 121 tp00 : SO L P ⊆ Power L
122 tp00 {u} ou x ux with ou ux 122 tp00 {u} ou x ux with ou ux
197 pbase {P} {Q} TP TQ = record { od = record { def = λ x → BaseP TP Q x ∨ BaseQ P TQ x } ; odmax = & (Power (ZFP P Q)) ; <odmax = tp00 } where 197 pbase {P} {Q} TP TQ = record { od = record { def = λ x → BaseP TP Q x ∨ BaseQ P TQ x } ; odmax = & (Power (ZFP P Q)) ; <odmax = tp00 } where
198 tp00 : {y : Ordinal} → BaseP TP Q y ∨ BaseQ P TQ y → y o< & (Power (ZFP P Q)) 198 tp00 : {y : Ordinal} → BaseP TP Q y ∨ BaseQ P TQ y → y o< & (Power (ZFP P Q))
199 tp00 {y} bpq = odef< ( pbase⊆PL TP TQ bpq ) 199 tp00 {y} bpq = odef< ( pbase⊆PL TP TQ bpq )
200 200
201 ProductTopology : {P Q : HOD} → Topology P → Topology Q → Topology (ZFP P Q) 201 ProductTopology : {P Q : HOD} → Topology P → Topology Q → Topology (ZFP P Q)
202 ProductTopology {P} {Q} TP TQ = GeneratedTopogy (ZFP P Q) (pbase TP TQ) record { P⊆PL = pbase⊆PL TP TQ } 202 ProductTopology {P} {Q} TP TQ = InducedTopology (ZFP P Q) (pbase TP TQ) record { P⊆PL = pbase⊆PL TP TQ }
203 203
204 -- covers 204 -- covers ( q ⊆ Union P )
205 205
206 record _covers_ ( P q : HOD ) : Set n where 206 record _covers_ ( P q : HOD ) : Set n where
207 field 207 field
208 cover : {x : Ordinal } → odef q x → Ordinal 208 cover : {x : Ordinal } → odef q x → Ordinal
209 P∋cover : {x : Ordinal } → (lt : odef q x) → odef P (cover lt) 209 P∋cover : {x : Ordinal } → (lt : odef q x) → odef P (cover lt)
271 fip06 = os ( subst (λ k → odef (* X) k ) fip07 az ) 271 fip06 = os ( subst (λ k → odef (* X) k ) fip07 az )
272 fip05 : * x ⊆ L 272 fip05 : * x ⊆ L
273 fip05 {w} xw = proj1 ( subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso ) xw ) 273 fip05 {w} xw = proj1 ( subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso ) xw )
274 -- 274 --
275 -- X covres L means Intersection of (CX X) contains nothing 275 -- X covres L means Intersection of (CX X) contains nothing
276 -- then some finite Intersection of (CX X) contains nothing ( contraposition of FIP ) 276 -- then some finite Intersection of (CX X) contains nothing ( contraposition of FIP .i.e. CFIP)
277 -- it means there is a finite cover 277 -- it means there is a finite cover
278 -- 278 --
279 record CFIP (X x : Ordinal) : Set n where 279 record CFIP (X x : Ordinal) : Set n where
280 field 280 field
281 is-CS : * x ⊆ Replace' (* X) (λ z xz → L \ z) 281 is-CS : * x ⊆ Replace' (* X) (λ z xz → L \ z)
307 fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 ) 307 fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 )
308 fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 ) 308 fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 )
309 fip09 : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z )) 309 fip09 : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z ))
310 fip09 {z} Lz nc = nc ( P∋cover oc Lz ) (subst (λ k → odef (* (cover oc Lz)) k) refl (isCover oc _ )) 310 fip09 {z} Lz nc = nc ( P∋cover oc Lz ) (subst (λ k → odef (* (cover oc Lz)) k) refl (isCover oc _ ))
311 cex : {X : Ordinal } → * X ⊆ OS top → * X covers L → Ordinal 311 cex : {X : Ordinal } → * X ⊆ OS top → * X covers L → Ordinal
312 cex {X} ox oc = & ( ODC.minimal O (Cex X) (fip00 ox oc)) 312 cex {X} ox oc = & ( ODC.minimal O (Cex X) (fip00 ox oc)) -- this will be the finite cover
313 CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → CFIP X (cex ox oc) 313 CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → CFIP X (cex ox oc)
314 CXfip {X} ox oc = ODC.x∋minimal O (Cex X) (fip00 ox oc) 314 CXfip {X} ox oc = ODC.x∋minimal O (Cex X) (fip00 ox oc)
315 -- 315 --
316 -- this defines finite cover 316 -- this defines finite cover
317 finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal 317 finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal
326 ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where 326 ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where
327 fip34 : * z1 ⊆ L 327 fip34 : * z1 ⊆ L
328 fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1 328 fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1
329 fip33 : z1 ≡ w 329 fip33 : z1 ≡ w
330 fip33 = begin 330 fip33 = begin
331 z1 ≡⟨ sym &iso ⟩ 331 z1 ≡⟨ sym &iso ⟩
332 & (* z1) ≡⟨ cong (&) (sym (L\Lx=x fip34 )) ⟩ 332 & (* z1) ≡⟨ cong (&) (sym (L\Lx=x fip34 )) ⟩
333 & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) (sym *iso) ⟩ 333 & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) (sym *iso) ⟩
334 & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩ 334 & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩
335 & (L \ * z) ≡⟨ sym x=ψz ⟩ 335 & (L \ * z) ≡⟨ sym x=ψz ⟩
336 w ∎ where open ≡-Reasoning 336 w ∎ where open ≡-Reasoning
337 fip31 : Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z))) 337 fip31 : Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z)))
338 fip31 = fin-e (subst (λ k → k ⊆ * X ) (sym *iso) fip32 ) 338 fip31 = fin-e (subst (λ k → k ⊆ * X ) (sym *iso) fip32 )
339 fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = fip35 where 339 fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = fip35 where
340 fip35 : Finite-∪ (* X) (& (Replace' (* x) (λ z₁ xz → L \ z₁))) 340 fip35 : Finite-∪ (* X) (& (Replace' (* x) (λ z₁ xz → L \ z₁)))
341 fip35 = subst (λ k → Finite-∪ (* X) k) 341 fip35 = subst (λ k → Finite-∪ (* X) k)
342 (cong (&) (subst (λ k → (k ∪ k ) ≡ (Replace' (* x) (λ z₁ xz → L \ z₁)) ) (sym *iso) x∪x≡x )) ( fin-∪ (fip30 _ _ x⊆cs sy) (fip30 _ _ x⊆cs sz) ) 342 (cong (&) (subst (λ k → (k ∪ k ) ≡ (Replace' (* x) (λ z₁ xz → L \ z₁)) ) (sym *iso) x∪x≡x )) ( fin-∪ (fip30 _ _ x⊆cs sy) (fip30 _ _ x⊆cs sz) )
343 -- is also a cover 343 -- is also a cover
344 isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L 344 isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L
345 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) 345 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L)
346 ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where 346 ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where
347 -- record { cover = λ {x} Lx → ? ; P∋cover = ? ; isCover = ? }
348 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) 347 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b))
349 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) 348 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x)
350 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ 349 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫
351 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ 350 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫
352 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) 351 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) )
357 ... | case2 Lb = cover cb Lb 356 ... | case2 Lb = cover cb Lb
358 fip46 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef A (fip44 lt) 357 fip46 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef A (fip44 lt)
359 fip46 {x} Lab with fip45 {L} {a} {b} Lab 358 fip46 {x} Lab with fip45 {L} {a} {b} Lab
360 ... | case1 La = P∋cover ca La 359 ... | case1 La = P∋cover ca La
361 ... | case2 Lb = P∋cover cb Lb 360 ... | case2 Lb = P∋cover cb Lb
362 fip47 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef (* (fip44 lt)) x 361 fip47 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef (* (fip44 lt)) x
363 fip47 {x} Lab with fip45 {L} {a} {b} Lab 362 fip47 {x} Lab with fip45 {L} {a} {b} Lab
364 ... | case1 La = isCover ca La 363 ... | case1 La = isCover ca La
365 ... | case2 Lb = isCover cb Lb 364 ... | case2 Lb = isCover cb Lb
366 fip40 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y 365 fip40 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y
367 → (Replace' (* x) (λ z xz → L \ z )) covers (L \ * y ) 366 → (Replace' (* x) (λ z xz → L \ z )) covers (L \ * y )
368 fip40 x .(& (* _ ∩ * _)) x⊆r (g∩ {a} {b} sa sb) = subst (λ k → (Replace' (* x) (λ z xz → L \ z)) covers ( L \ k ) ) (sym *iso) 367 fip40 x .(& (* _ ∩ * _)) x⊆r (g∩ {a} {b} sa sb) = subst (λ k → (Replace' (* x) (λ z xz → L \ z)) covers ( L \ k ) ) (sym *iso)
369 ( fip43 {_} {L} {* a} {* b} fip41 fip42 ) where 368 ( fip43 {_} {L} {* a} {* b} fip41 fip42 ) where
370 fip41 : Replace' (* x) (λ z xz → L \ z) covers (L \ * a) 369 fip41 : Replace' (* x) (λ z xz → L \ z) covers (L \ * a)
371 fip41 = fip40 x a x⊆r sa 370 fip41 = fip40 x a x⊆r sa
372 fip42 : Replace' (* x) (λ z xz → L \ z) covers (L \ * b) 371 fip42 : Replace' (* x) (λ z xz → L \ z) covers (L \ * b)
373 fip42 = fip40 x b x⊆r sb 372 fip42 = fip40 x b x⊆r sb
374 fip40 x y x⊆r (gi sb) with x⊆r sb 373 fip40 x y x⊆r (gi sb) with x⊆r sb
375 ... | record { z = z ; az = az ; x=ψz = x=ψz } = record { cover = fip51 ; P∋cover = fip53 ; isCover = fip50 }where 374 ... | record { z = z ; az = az ; x=ψz = x=ψz } = record { cover = fip51 ; P∋cover = fip53 ; isCover = fip50 }where
376 fip51 : {w : Ordinal} (Lyw : odef (L \ * y) w) → Ordinal 375 fip51 : {w : Ordinal} (Lyw : odef (L \ * y) w) → Ordinal
377 fip51 {w} Lyw = z 376 fip51 {w} Lyw = z
378 fip52 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* X) z 377 fip52 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* X) z
379 fip52 {w} Lyw = az 378 fip52 {w} Lyw = az
380 fip55 : * z ⊆ L 379 fip55 : * z ⊆ L
381 fip55 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az)) wz1 380 fip55 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az)) wz1
382 fip56 : * z ≡ L \ * y 381 fip56 : * z ≡ L \ * y
383 fip56 = begin 382 fip56 = begin
384 * z ≡⟨ sym (L\Lx=x fip55 ) ⟩ 383 * z ≡⟨ sym (L\Lx=x fip55 ) ⟩
385 L \ ( L \ * z ) ≡⟨ cong (λ k → L \ k) (sym *iso) ⟩ 384 L \ ( L \ * z ) ≡⟨ cong (λ k → L \ k) (sym *iso) ⟩
386 L \ * ( & ( L \ * z )) ≡⟨ cong (λ k → L \ * k) (sym x=ψz) ⟩ 385 L \ * ( & ( L \ * z )) ≡⟨ cong (λ k → L \ * k) (sym x=ψz) ⟩
387 L \ * y ∎ where open ≡-Reasoning 386 L \ * y ∎ where open ≡-Reasoning
388 fip53 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (Replace' (* x) (λ z₁ xz → L \ z₁)) z 387 fip53 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (Replace' (* x) (λ z₁ xz → L \ z₁)) z
389 fip53 {w} Lyw = record { z = _ ; az = sb ; x=ψz = fip54 } where 388 fip53 {w} Lyw = record { z = _ ; az = sb ; x=ψz = fip54 } where
390 fip54 : z ≡ & ( L \ * y ) 389 fip54 : z ≡ & ( L \ * y )
391 fip54 = begin 390 fip54 = begin
392 z ≡⟨ sym &iso ⟩ 391 z ≡⟨ sym &iso ⟩
393 & (* z) ≡⟨ cong (&) fip56 ⟩ 392 & (* z) ≡⟨ cong (&) fip56 ⟩
394 & (L \ * y ) 393 & (L \ * y )
395 ∎ where open ≡-Reasoning 394 ∎ where open ≡-Reasoning
396 fip50 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* z) w 395 fip50 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* z) w
397 fip50 {w} Lyw = subst (λ k → odef k w ) (sym fip56) Lyw 396 fip50 {w} Lyw = subst (λ k → odef k w ) (sym fip56) Lyw
398 397
399 398
400 399
401 -- some day 400 -- some day
402 Compact→FIP : Set (suc n) 401 Compact→FIP : Set (suc n)
420 UFLP→FIP : {P : HOD} (TP : Topology P) → {L : HOD} (LP : L ⊆ Power P ) → 419 UFLP→FIP : {P : HOD} (TP : Topology P) → {L : HOD} (LP : L ⊆ Power P ) →
421 ( (F : Filter {L} {P} LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP TP LP F FP UF ) → FIP TP 420 ( (F : Filter {L} {P} LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP TP LP F FP UF ) → FIP TP
422 UFLP→FIP {P} TP {L} LP uflp = record { limit = uf00 ; is-limit = {!!} } where 421 UFLP→FIP {P} TP {L} LP uflp = record { limit = uf00 ; is-limit = {!!} } where
423 fip : {X : Ordinal} → * X ⊆ CS TP → Set n 422 fip : {X : Ordinal} → * X ⊆ CS TP → Set n
424 fip {X} CSX = {C x : Ordinal} → * C ⊆ * X → Subbase (* C) x → o∅ o< x 423 fip {X} CSX = {C x : Ordinal} → * C ⊆ * X → Subbase (* C) x → o∅ o< x
424 N : {X : Ordinal} → (CSX : * X ⊆ CS TP ) → fip {X} CSX → HOD
425 N {X} CSX fip = record { od = record { def = λ x → Base L P X x ∧ ( o∅ o< x ) } ; odmax = ? ; <odmax = ? }
425 F : {X : Ordinal} → (CSX : * X ⊆ CS TP ) → fip {X} CSX → Filter {L} {P} LP 426 F : {X : Ordinal} → (CSX : * X ⊆ CS TP ) → fip {X} CSX → Filter {L} {P} LP
426 F = ? 427 F {X} CSX fip = record { filter = N CSX fip ; f⊆L = ? ; filter1 = ? ; filter2 = ? }
427 uf00 : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal 428 uf00 : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal
428 uf00 {X} CSX fip = UFLP.limit ( uflp (F CSX fip) ? (F→ultra LP ? ? (F CSX fip) ? ? ? ) ) 429 uf00 {X} CSX fip = UFLP.limit ( uflp
430 ( MaximumFilter.mf (F→Maximum {L} {P} LP ? ? (F CSX ?) ? ? ? ))
431 ?
432 (F→ultra LP ? ? (F CSX fip) ? ? ? ) )
429 433
430 -- some day 434 -- some day
431 FIP→UFLP : Set (suc (suc n)) 435 FIP→UFLP : Set (suc (suc n))
432 FIP→UFLP = {P : HOD} (TP : Topology P) → FIP TP 436 FIP→UFLP = {P : HOD} (TP : Topology P) → FIP TP
433 → {L : HOD} (LP : L ⊆ Power P ) (F : Filter LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP {P} TP {L} LP F FP UF 437 → {L : HOD} (LP : L ⊆ Power P ) (F : Filter LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP {P} TP {L} LP F FP UF