Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/Topology.agda @ 1194:6174001ba1c0
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 28 Feb 2023 15:01:17 +0900 |
parents | e110b56d8cbe |
children | 68239d102d15 |
comparison
equal
deleted
inserted
replaced
1190:e110b56d8cbe | 1194:6174001ba1c0 |
---|---|
387 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) | 387 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) |
388 (fip70 o∅ (finCoverBase xo xcp)) where | 388 (fip70 o∅ (finCoverBase xo xcp)) where |
389 fip70 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → (finCoverSet {X} x sb) covers (L \ * x) | 389 fip70 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → (finCoverSet {X} x sb) covers (L \ * x) |
390 fip70 x (gi rx) = record { cover = λ _ → & (L \ * x) ; P∋cover = λ _ → case1 refl ; isCover = λ {x} lt → subst (λ k → odef k x) (sym *iso) lt } | 390 fip70 x (gi rx) = record { cover = λ _ → & (L \ * x) ; P∋cover = λ _ → case1 refl ; isCover = λ {x} lt → subst (λ k → odef k x) (sym *iso) lt } |
391 fip70 x∩y (g∩ {x} {y} sx sy) = subst (λ k → finCoverSet (& (* x ∩ * y)) (g∩ sx sy) covers | 391 fip70 x∩y (g∩ {x} {y} sx sy) = subst (λ k → finCoverSet (& (* x ∩ * y)) (g∩ sx sy) covers |
392 (L \ k)) (sym *iso) ( fip43 {_} {L} {* x} {* y} ? ? ) where | 392 (L \ k)) (sym *iso) ( fip43 {_} {L} {* x} {* y} (fip71 (fip70 x sx)) (fip72 (fip70 y sy)) ) where |
393 fip71 : {a b c : HOD} → a covers c → (a ∪ b) covers c | |
394 fip71 {a} {b} {c} cov = record { cover = cover cov ; P∋cover = λ lt → case1 (P∋cover cov lt) | |
395 ; isCover = isCover cov } | |
396 fip72 : {a b c : HOD} → a covers c → (b ∪ a) covers c | |
397 fip72 {a} {b} {c} cov = record { cover = cover cov ; P∋cover = λ lt → case2 (P∋cover cov lt) | |
398 ; isCover = isCover cov } | |
393 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) | 399 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) |
394 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) | 400 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) |
395 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ | 401 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ |
396 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ | 402 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ |
397 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) | 403 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) |
422 OOX : {X : Ordinal} → (cs : * X ⊆ CS top) → * (OX cs) ⊆ OS top | 428 OOX : {X : Ordinal} → (cs : * X ⊆ CS top) → * (OX cs) ⊆ OS top |
423 OOX {X} cs {x} ox with subst (λ k → odef k x) *iso ox | 429 OOX {X} cs {x} ox with subst (λ k → odef k x) *iso ox |
424 ... | record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef (OS top) k) (sym x=ψz) ( P\CS=OS top (cs comp01)) where | 430 ... | record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef (OS top) k) (sym x=ψz) ( P\CS=OS top (cs comp01)) where |
425 comp01 : odef (* X) (& (* z)) | 431 comp01 : odef (* X) (& (* z)) |
426 comp01 = subst (λ k → odef (* X) k) (sym &iso) az | 432 comp01 = subst (λ k → odef (* X) k) (sym &iso) az |
427 | |
428 -- if all finite intersection of X contains something, | 433 -- if all finite intersection of X contains something, |
429 -- there is no finite cover. From Compactness, (OX X) is not a cover of L ( contraposition of Compact) | 434 -- there is no finite cover. From Compactness, (OX X) is not a cover of L ( contraposition of Compact) |
430 -- it means there is a limit | 435 -- it means there is a limit |
431 has-intersection : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) | 436 has-intersection : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) |
432 → o∅ o< X → ¬ ( Intersection (* X) =h= od∅ ) | 437 → o∅ o< X → ¬ ( Intersection (* X) =h= od∅ ) |
434 fp07 : HOD -- we have an element of X | 439 fp07 : HOD -- we have an element of X |
435 fp07 = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) | 440 fp07 = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) |
436 fp08 : odef (* X) (& fp07) | 441 fp08 : odef (* X) (& fp07) |
437 fp08 = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) | 442 fp08 = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) |
438 no-cover : ¬ ( (* (OX CX)) covers L ) | 443 no-cover : ¬ ( (* (OX CX)) covers L ) |
439 no-cover cov = ⊥-elim ( ? ) where | 444 no-cover cov = ⊥-elim ( SB.¬i⊆Ut (fp02 fp01 (Compact.isFinite compact (OOX CX) cov) ) fp12 ) where |
440 fp01 : Ordinal | 445 fp01 : Ordinal |
441 fp01 = Compact.finCover compact (OOX CX) cov | 446 fp01 = Compact.finCover compact (OOX CX) cov |
442 fp02 : (t : Ordinal) → Finite-∪ (* (OX CX)) t → Subbase (* X) (& ( L \ * t ) ) | 447 record SB (t : Ordinal) : Set n where |
443 fp02 t fin-e = gi ? | 448 field |
444 fp02 t (fin-i tx ) = gi fp03 where | 449 i : Ordinal |
445 fp03 : odef (* X) (& (L \ * t)) | 450 ¬i⊆Ut : ¬ ( (L \ * i) ⊆ Union (* t)) |
446 fp03 = ? | 451 sb : Subbase (* X) (& (L \ * i)) |
447 fp02 t (fin-∪ {tx} {ty} x y ) = subst (λ k → Subbase (* X) k ) fp04 ( g∩ (fp02 tx x) (fp02 ty y ) ) where | 452 fp02 : (t : Ordinal) → Finite-∪ (* (OX CX)) t → SB t |
448 fp04 : & (* (& (L \ * tx)) ∩ * (& (L \ * ty))) ≡ & (L \ * (& (* tx ∪ * ty))) | 453 fp02 t fin-e = record { i = & ( L \ fp07) ; ¬i⊆Ut = fp20 ; sb = gi (subst (λ k → odef (* X) k) fp21 fp08) } where |
449 fp04 = cong (&) ( ==→o≡ record { eq→ = fp05 ; eq← = fp09 } ) where | 454 fp22 : fp07 ⊆ L |
455 fp22 {x} lt = cs⊆L top (CX fp08) lt | |
456 fp21 : & fp07 ≡ & (L \ * (& (L \ fp07))) | |
457 fp21 = cong (&) (trans (sym (L\Lx=x fp22)) (cong (λ k → L \ k) (sym *iso))) | |
458 fp20 : ¬ (L \ * (& (L \ fp07))) ⊆ Union (* o∅) | |
459 fp20 lt = ? | |
460 fp02 t (fin-i {x} tx ) = record { i = x ; sb = gi fp03 ; ¬i⊆Ut = fp23 } where | |
461 fp23 : ¬ (L \ * x) ⊆ Union (* (& (* x , * x))) | |
462 fp23 = ? | |
463 fp03 : odef (* X) (& (L \ * x)) | |
464 fp03 with subst (λ k → odef k x ) *iso tx | |
465 ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where | |
466 fip34 : * z1 ⊆ L | |
467 fip34 {w} wz1 = cs⊆L top (subst (λ k → odef (CS top) k) (sym &iso) (CX az1) ) wz1 | |
468 fip33 : z1 ≡ & (L \ * x) | |
469 fip33 = begin | |
470 z1 ≡⟨ sym &iso ⟩ | |
471 & (* z1) ≡⟨ cong (&) (sym (L\Lx=x fip34 )) ⟩ | |
472 & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) (sym *iso) ⟩ | |
473 & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩ | |
474 & (L \ * x ) ∎ where open ≡-Reasoning | |
475 fp02 t (fin-∪ {tx} {ty} x y ) = record { i = & (* (SB.i (fp02 tx x)) ∪ * (SB.i (fp02 ty y))) ; sb = fp11 ; ¬i⊆Ut = ? } where | |
476 fp04 : {tx ty : Ordinal} → & (* (& (L \ * tx)) ∩ * (& (L \ * ty))) ≡ & (L \ * (& (* tx ∪ * ty))) | |
477 fp04 {tx} {ty} = cong (&) ( ==→o≡ record { eq→ = fp05 ; eq← = fp09 } ) where | |
450 fp05 : {x : Ordinal} → odef (* (& (L \ * tx)) ∩ * (& (L \ * ty))) x → odef (L \ * (& (* tx ∪ * ty))) x | 478 fp05 : {x : Ordinal} → odef (* (& (L \ * tx)) ∩ * (& (L \ * ty))) x → odef (L \ * (& (* tx ∪ * ty))) x |
451 fp05 {x} lt with subst₂ (λ j k → odef (j ∩ k) x ) *iso *iso lt | 479 fp05 {x} lt with subst₂ (λ j k → odef (j ∩ k) x ) *iso *iso lt |
452 ... | ⟪ ⟪ Lx , ¬tx ⟫ , ⟪ Ly , ¬ty ⟫ ⟫ = subst (λ k → odef (L \ k) x) (sym *iso) ⟪ Lx , fp06 ⟫ where | 480 ... | ⟪ ⟪ Lx , ¬tx ⟫ , ⟪ Ly , ¬ty ⟫ ⟫ = subst (λ k → odef (L \ k) x) (sym *iso) ⟪ Lx , fp06 ⟫ where |
453 fp06 : ¬ odef (* tx ∪ * ty) x | 481 fp06 : ¬ odef (* tx ∪ * ty) x |
454 fp06 (case1 tx) = ¬tx tx | 482 fp06 (case1 tx) = ¬tx tx |
455 fp06 (case2 ty) = ¬ty ty | 483 fp06 (case2 ty) = ¬ty ty |
456 fp09 : {x : Ordinal} → odef (L \ * (& (* tx ∪ * ty))) x → odef (* (& (L \ * tx)) ∩ * (& (L \ * ty))) x | 484 fp09 : {x : Ordinal} → odef (L \ * (& (* tx ∪ * ty))) x → odef (* (& (L \ * tx)) ∩ * (& (L \ * ty))) x |
457 fp09 {x} lt with subst (λ k → odef (L \ k) x) (*iso) lt | 485 fp09 {x} lt with subst (λ k → odef (L \ k) x) (*iso) lt |
458 ... | ⟪ Lx , ¬tx∨ty ⟫ = subst₂ (λ j k → odef (j ∩ k) x ) (sym *iso) (sym *iso) | 486 ... | ⟪ Lx , ¬tx∨ty ⟫ = subst₂ (λ j k → odef (j ∩ k) x ) (sym *iso) (sym *iso) |
459 ⟪ ⟪ Lx , ( λ tx → ¬tx∨ty (case1 tx)) ⟫ , ⟪ Lx , ( λ ty → ¬tx∨ty (case2 ty)) ⟫ ⟫ | 487 ⟪ ⟪ Lx , ( λ tx → ¬tx∨ty (case1 tx)) ⟫ , ⟪ Lx , ( λ ty → ¬tx∨ty (case2 ty)) ⟫ ⟫ |
460 | 488 fp11 : Subbase (* X) (& (L \ * (& ((* (SB.i (fp02 tx x)) ∪ * (SB.i (fp02 ty y))))))) |
489 fp11 = subst (λ k → Subbase (* X) k ) fp04 ( g∩ (SB.sb (fp02 tx x)) (SB.sb (fp02 ty y )) ) | |
490 fp12 : (L \ * (SB.i (fp02 fp01 (Compact.isFinite compact (OOX CX) cov)))) ⊆ Union (* fp01) | |
491 fp12 {x} ⟪ Lx , not ⟫ = ⊥-elim ( fp14 (λ {y} lt → record { owner = cover fcov (fp16 lt) | |
492 ; ao = P∋cover fcov (fp16 lt) | |
493 ; ox = isCover fcov (fp16 lt) } )) where | |
494 fcov = Compact.isCover compact (OOX CX) cov | |
495 fp13 : Ordinal | |
496 fp13 = SB.i (fp02 fp01 (Compact.isFinite compact (OOX CX) cov)) | |
497 fp16 : {y : Ordinal} → odef (L \ * fp13) y → odef L y | |
498 fp16 {y} ⟪ Ly , _ ⟫ = Ly | |
499 fp15 : ¬ ( odef (* fp13) x) | |
500 fp15 = not | |
501 fp14 : ¬ ( (L \ * fp13 ) ⊆ Union (* fp01 )) | |
502 fp14 = SB.¬i⊆Ut (fp02 fp01 (Compact.isFinite compact (OOX CX) cov)) | |
461 record NC : Set n where -- x is not covered | 503 record NC : Set n where -- x is not covered |
462 field | 504 field |
463 x : Ordinal | 505 x : Ordinal |
464 yx : {y : Ordinal} (Xy : odef (* X) y) → odef (* y) x | 506 yx : {y : Ordinal} (Xy : odef (* X) y) → odef (* y) x |
465 not-covered : NC | 507 not-covered : NC |