Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/Topology.agda @ 1190:e110b56d8cbe
...
author | kono |
---|---|
date | Mon, 27 Feb 2023 07:29:11 +0800 |
parents | 0201827b08ac |
children | d969fc17d049 6174001ba1c0 |
comparison
equal
deleted
inserted
replaced
1189:0201827b08ac | 1190:e110b56d8cbe |
---|---|
279 | 279 |
280 -- Compact | 280 -- Compact |
281 | 281 |
282 data Finite-∪ (S : HOD) : Ordinal → Set n where | 282 data Finite-∪ (S : HOD) : Ordinal → Set n where |
283 fin-e : Finite-∪ S o∅ | 283 fin-e : Finite-∪ S o∅ |
284 fin-i : {x : Ordinal } → odef S x → Finite-∪ S x | 284 fin-i : {x : Ordinal } → odef S x → Finite-∪ S (& ( * x , * x )) |
285 fin-∪ : {x y : Ordinal } → Finite-∪ S x → Finite-∪ S y → Finite-∪ S (& (* x ∪ * y)) | 285 fin-∪ : {x y : Ordinal } → Finite-∪ S x → Finite-∪ S y → Finite-∪ S (& (* x ∪ * y)) |
286 | 286 |
287 record Compact {L : HOD} (top : Topology L) : Set n where | 287 record Compact {L : HOD} (top : Topology L) : Set n where |
288 field | 288 field |
289 finCover : {X : Ordinal } → (* X) ⊆ OS top → (* X) covers L → Ordinal | 289 finCover : {X : Ordinal } → (* X) ⊆ OS top → (* X) covers L → Ordinal |
351 fip22 : odef (* (CX ox)) (& ( L \ * y )) | 351 fip22 : odef (* (CX ox)) (& ( L \ * y )) |
352 fip22 = subst (λ k → odef k (& ( L \ * y ))) (sym *iso) record { z = y ; az = Xy ; x=ψz = refl } | 352 fip22 = subst (λ k → odef k (& ( L \ * y ))) (sym *iso) record { z = y ; az = Xy ; x=ψz = refl } |
353 fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 ) | 353 fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 ) |
354 fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 ) | 354 fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 ) |
355 finCoverSet : {X : Ordinal } → (x : Ordinal) → Subbase (Replace (* X) (λ z → L \ z)) x → HOD | 355 finCoverSet : {X : Ordinal } → (x : Ordinal) → Subbase (Replace (* X) (λ z → L \ z)) x → HOD |
356 finCoverSet {X} x (gi rx) = L \ * x | 356 finCoverSet {X} x (gi rx) = ( L \ * x ) , ( L \ * x ) |
357 finCoverSet {X} x∩y (g∩ {x} {y} sx sy) = finCoverSet {X} x sx ∪ finCoverSet {X} y sy | 357 finCoverSet {X} x∩y (g∩ {x} {y} sx sy) = finCoverSet {X} x sx ∪ finCoverSet {X} y sy |
358 -- | 358 -- |
359 -- this defines finite cover | 359 -- this defines finite cover |
360 finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal | 360 finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal |
361 finCover {X} ox oc = & ( finCoverSet o∅ (finCoverBase ox oc)) | 361 finCover {X} ox oc = & ( finCoverSet o∅ (finCoverBase ox oc)) |
362 -- create Finite-∪ from cex | 362 -- create Finite-∪ from cex |
363 isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp) | 363 isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp) |
364 isFinite {X} xo xcp = fip60 o∅ (finCoverBase xo xcp) where | 364 isFinite {X} xo xcp = fip60 o∅ (finCoverBase xo xcp) where |
365 fip60 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → Finite-∪ (* X) (& (finCoverSet {X} x sb)) | 365 fip60 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → Finite-∪ (* X) (& (finCoverSet {X} x sb)) |
366 fip60 x (gi rx) = fin-i (fip61 rx) where | 366 fip60 x (gi rx) = subst (λ k → Finite-∪ (* X) k) fip62 (fin-i (fip61 rx)) where |
367 fip62 : & (* (& (L \ * x)) , * (& (L \ * x))) ≡ & ((L \ * x) , (L \ * x)) | |
368 fip62 = cong₂ (λ j k → & (j , k )) *iso *iso | |
367 fip61 : odef (Replace (* X) (_\_ L)) x → odef (* X) ( & ((L \ * x ) )) | 369 fip61 : odef (Replace (* X) (_\_ L)) x → odef (* X) ( & ((L \ * x ) )) |
368 fip61 record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where | 370 fip61 record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where |
369 fip34 : * z1 ⊆ L | 371 fip34 : * z1 ⊆ L |
370 fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1 | 372 fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1 |
371 fip33 : z1 ≡ & (L \ * x) | 373 fip33 : z1 ≡ & (L \ * x) |
380 fip62 = cong (&) ( begin | 382 fip62 = cong (&) ( begin |
381 (* (& (finCoverSet x sx)) ∪ * (& (finCoverSet y sy))) ≡⟨ cong₂ _∪_ *iso *iso ⟩ | 383 (* (& (finCoverSet x sx)) ∪ * (& (finCoverSet y sy))) ≡⟨ cong₂ _∪_ *iso *iso ⟩ |
382 finCoverSet x sx ∪ finCoverSet y sy ∎ ) where open ≡-Reasoning | 384 finCoverSet x sx ∪ finCoverSet y sy ∎ ) where open ≡-Reasoning |
383 -- is also a cover | 385 -- is also a cover |
384 isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L | 386 isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L |
385 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) ? where | 387 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) |
386 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) | 388 (fip70 o∅ (finCoverBase xo xcp)) where |
387 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) | 389 fip70 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → (finCoverSet {X} x sb) covers (L \ * x) |
388 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ | 390 fip70 x (gi rx) = record { cover = λ _ → & (L \ * x) ; P∋cover = λ _ → case1 refl ; isCover = λ {x} lt → subst (λ k → odef k x) (sym *iso) lt } |
389 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ | 391 fip70 x∩y (g∩ {x} {y} sx sy) = subst (λ k → finCoverSet (& (* x ∩ * y)) (g∩ sx sy) covers |
390 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) | 392 (L \ k)) (sym *iso) ( fip43 {_} {L} {* x} {* y} ? ? ) where |
391 fip43 {A} {L} {a} {b} ca cb = record { cover = fip44 ; P∋cover = fip46 ; isCover = fip47 } where | 393 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) |
392 fip44 : {x : Ordinal} → odef (L \ (a ∩ b)) x → Ordinal | 394 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) |
393 fip44 {x} Lab with fip45 {L} {a} {b} Lab | 395 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ |
394 ... | case1 La = cover ca La | 396 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ |
395 ... | case2 Lb = cover cb Lb | 397 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) |
396 fip46 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef A (fip44 lt) | 398 fip43 {A} {L} {a} {b} ca cb = record { cover = fip44 ; P∋cover = fip46 ; isCover = fip47 } where |
397 fip46 {x} Lab with fip45 {L} {a} {b} Lab | 399 fip44 : {x : Ordinal} → odef (L \ (a ∩ b)) x → Ordinal |
398 ... | case1 La = P∋cover ca La | 400 fip44 {x} Lab with fip45 {L} {a} {b} Lab |
399 ... | case2 Lb = P∋cover cb Lb | 401 ... | case1 La = cover ca La |
400 fip47 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef (* (fip44 lt)) x | 402 ... | case2 Lb = cover cb Lb |
401 fip47 {x} Lab with fip45 {L} {a} {b} Lab | 403 fip46 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef A (fip44 lt) |
402 ... | case1 La = isCover ca La | 404 fip46 {x} Lab with fip45 {L} {a} {b} Lab |
403 ... | case2 Lb = isCover cb Lb | 405 ... | case1 La = P∋cover ca La |
404 fip40 : ( x y : Ordinal ) → * x ⊆ Replace (* X) (λ z → L \ z) → Subbase (* x) y | 406 ... | case2 Lb = P∋cover cb Lb |
405 → (Replace (* x) (λ z → L \ z )) covers (L \ * y ) | 407 fip47 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef (* (fip44 lt)) x |
406 fip40 x .(& (* _ ∩ * _)) x⊆r (g∩ {a} {b} sa sb) = subst (λ k → (Replace (* x) (λ z → L \ z)) covers ( L \ k ) ) (sym *iso) | 408 fip47 {x} Lab with fip45 {L} {a} {b} Lab |
407 ( fip43 {_} {L} {* a} {* b} fip41 fip42 ) where | 409 ... | case1 La = isCover ca La |
408 fip41 : Replace (* x) (λ z → L \ z) covers (L \ * a) | 410 ... | case2 Lb = isCover cb Lb |
409 fip41 = fip40 x a x⊆r sa | |
410 fip42 : Replace (* x) (λ z → L \ z) covers (L \ * b) | |
411 fip42 = fip40 x b x⊆r sb | |
412 fip40 x y x⊆r (gi sb) with x⊆r sb | |
413 ... | record { z = z ; az = az ; x=ψz = x=ψz } = record { cover = fip51 ; P∋cover = fip53 ; isCover = fip50 }where | |
414 fip51 : {w : Ordinal} (Lyw : odef (L \ * y) w) → Ordinal | |
415 fip51 {w} Lyw = z | |
416 fip52 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* X) z | |
417 fip52 {w} Lyw = az | |
418 fip55 : * z ⊆ L | |
419 fip55 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az)) wz1 | |
420 fip56 : * z ≡ L \ * y | |
421 fip56 = begin | |
422 * z ≡⟨ sym (L\Lx=x fip55 ) ⟩ | |
423 L \ ( L \ * z ) ≡⟨ cong (λ k → L \ k) (sym *iso) ⟩ | |
424 L \ * ( & ( L \ * z )) ≡⟨ cong (λ k → L \ * k) (sym x=ψz) ⟩ | |
425 L \ * y ∎ where open ≡-Reasoning | |
426 fip53 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (Replace (* x) (λ z₁ → L \ z₁)) z | |
427 fip53 {w} Lyw = record { z = _ ; az = sb ; x=ψz = fip54 } where | |
428 fip54 : z ≡ & ( L \ * y ) | |
429 fip54 = begin | |
430 z ≡⟨ sym &iso ⟩ | |
431 & (* z) ≡⟨ cong (&) fip56 ⟩ | |
432 & (L \ * y ) | |
433 ∎ where open ≡-Reasoning | |
434 fip50 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* z) w | |
435 fip50 {w} Lyw = subst (λ k → odef k w ) (sym fip56) Lyw | |
436 | 411 |
437 open _==_ | 412 open _==_ |
438 | 413 |
439 Compact→FIP : {L : HOD} → (top : Topology L ) → Compact top → FIP top | 414 Compact→FIP : {L : HOD} → (top : Topology L ) → Compact top → FIP top |
440 Compact→FIP {L} top compact with trio< (& L) o∅ | 415 Compact→FIP {L} top compact with trio< (& L) o∅ |