Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1199:1338b6c6a9b6
clean up
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 01 Mar 2023 10:42:05 +0900 |
parents | 6e0cc71097e0 |
children | 42000f20fdbe |
files | src/Topology.agda |
diffstat | 1 files changed, 24 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Topology.agda Wed Mar 01 09:00:11 2023 +0900 +++ b/src/Topology.agda Wed Mar 01 10:42:05 2023 +0900 @@ -332,10 +332,10 @@ finCoverBase : {X : Ordinal } → * X ⊆ OS top → * X covers L → Subbase (Replace (* X) (λ z → L \ z)) o∅ finCoverBase {X} ox oc with ODC.p∨¬p O (Subbase (Replace (* X) (λ z → L \ z)) o∅) ... | case1 sb = sb - ... | case2 ¬sb = ⊥-elim (fip09 fip25 fip20) where - fip09 : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z )) - fip09 {z} Lz nc = nc ( P∋cover oc Lz ) (subst (λ k → odef (* (cover oc Lz)) k) refl (isCover oc _ )) - -- CX is finite intersection + ... | case2 ¬sb = ⊥-elim (¬¬cover fip25 fip20) where + ¬¬cover : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z )) + ¬¬cover {z} Lz nc = nc ( P∋cover oc Lz ) (isCover oc _ ) + -- ¬sb → we have finite intersection fip02 : {x : Ordinal} → Subbase (* (CX ox)) x → o∅ o< x fip02 {x} sc with trio< x o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) @@ -353,6 +353,7 @@ fip22 = subst (λ k → odef k (& ( L \ * y ))) (sym *iso) record { z = y ; az = Xy ; x=ψz = refl } fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 ) fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 ) + -- create HOD from Subbase ( finite intersection ) finCoverSet : {X : Ordinal } → (x : Ordinal) → Subbase (Replace (* X) (λ z → L \ z)) x → HOD finCoverSet {X} x (gi rx) = ( L \ * x ) , ( L \ * x ) finCoverSet {X} x∩y (g∩ {x} {y} sx sy) = finCoverSet {X} x sx ∪ finCoverSet {X} y sy @@ -360,7 +361,7 @@ -- this defines finite cover finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal finCover {X} ox oc = & ( finCoverSet o∅ (finCoverBase ox oc)) - -- create Finite-∪ from cex + -- create Finite-∪ from finCoverSet isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp) isFinite {X} xo xcp = fip60 o∅ (finCoverBase xo xcp) where fip60 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → Finite-∪ (* X) (& (finCoverSet {X} x sb)) @@ -388,7 +389,10 @@ isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) (fip70 o∅ (finCoverBase xo xcp)) where fip70 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → (finCoverSet {X} x sb) covers (L \ * x) - fip70 x (gi rx) = record { cover = λ _ → & (L \ * x) ; P∋cover = λ _ → case1 refl ; isCover = λ {x} lt → subst (λ k → odef k x) (sym *iso) lt } + fip70 x (gi rx) = fip73 where + fip73 : ((L \ * x) , (L \ * x)) covers (L \ * x) -- obvious + fip73 = record { cover = λ _ → & (L \ * x) ; P∋cover = λ _ → case1 refl + ; isCover = λ {x} lt → subst (λ k → odef k x) (sym *iso) lt } fip70 x∩y (g∩ {x} {y} sx sy) = subst (λ k → finCoverSet (& (* x ∩ * y)) (g∩ sx sy) covers (L \ k)) (sym *iso) ( fip43 {_} {L} {* x} {* y} (fip71 (fip70 x sx)) (fip72 (fip70 y sy)) ) where fip71 : {a b c : HOD} → a covers c → (a ∪ b) covers c @@ -440,7 +444,6 @@ * o∅ ≡⟨ o∅≡od∅ ⟩ od∅ ∎ ) (sym &iso) xx ) ) where open ≡-Reasoning ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) - -- (subst (λ k → odef (CS top) k) (sym &iso) ( CX xx ) ) )) ... | tri> ¬a ¬b 0<L = record { limit = limit ; is-limit = fip00 } where -- set of coset of X OX : {X : Ordinal} → * X ⊆ CS top → Ordinal @@ -453,9 +456,13 @@ -- if all finite intersection of X contains something, -- there is no finite cover. From Compactness, (OX X) is not a cover of L ( contraposition of Compact) -- it means there is a limit + record NC {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) (0<X : o∅ o< X) : Set n where + field -- find an element x, which is not covered (which is a limit point) + x : Ordinal + yx : {y : Ordinal} (Xy : odef (* X) y) → odef (* y) x has-intersection : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) - → o∅ o< X → ¬ ( Intersection (* X) =h= od∅ ) - has-intersection {X} CX fip 0<X i=0 = ⊥-elim ( ¬x<0 {NC.x not-covered} ( eq→ i=0 ⟪ fp06 , fp05 ⟫ )) where + → (0<X : o∅ o< X ) → NC CX fip 0<X + has-intersection {X} CX fip 0<X = intersection where e : HOD -- we have an element of X e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) Xe : odef (* X) (& e) @@ -502,7 +509,8 @@ fp35 : (L \ * (& (* (SB.i (fp02 tx ux)) ∪ * (SB.i (fp02 ty uy))))) ⊆ (L \ Union (* (& (* tx ∪ * ty)))) fp35 = subst₂ (λ j k → (L \ j ) ⊆ (L \ Union k)) (sym *iso) (sym *iso) fp36 where fp40 : {z tz : Ordinal } → Finite-∪ (* (OX CX)) tz → odef (Union (* tz )) z → odef L z - fp40 {z} {.(Ordinals.o∅ O)} fin-e record { owner = owner ; ao = ao ; ox = ox } = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) o∅≡od∅ (sym &iso) ao )) + fp40 {z} {.(Ordinals.o∅ O)} fin-e record { owner = owner ; ao = ao ; ox = ox } + = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) o∅≡od∅ (sym &iso) ao )) fp40 {z} {.(& (* _ , * _))} (fin-i {w} x) uz = fp41 x (subst (λ k → odef (Union k) z) *iso uz) where fp41 : (x : odef (* (OX CX)) w) → (uz : odef (Union (* w , * w)) z ) → odef L z fp41 x record { owner = .(& (* w)) ; ao = (case1 refl) ; ox = ox } = @@ -564,13 +572,9 @@ f25 = ordtrans<-≤ (subst (λ k → k o< & (L \ * (SB.i sb))) (sym ord-od∅) (0<sb (SB.sb sb) ) ) ( begin & (L \ * (SB.i sb)) ≤⟨ ⊆→o≤ f23 ⟩ & (L \ Union (* (Compact.finCover compact (OOX CX) cov))) ∎ ) where open o≤-Reasoning O - - record NC : Set n where -- find an element xi, which is not covered (which is a limit point) - field - x : Ordinal - yx : {y : Ordinal} (Xy : odef (* X) y) → odef (* y) x - not-covered : NC - not-covered with ODC.p∨¬p O NC + -- if we have no cover, we can consruct NC + intersection : NC CX fip 0<X + intersection with ODC.p∨¬p O (NC CX fip 0<X) ... | case1 nc = nc ... | case2 ¬nc = ⊥-elim ( no-cover record { cover = λ Lx → & (L \ coverf Lx) ; P∋cover = fp22 ; isCover = fp23 } ) where coverSet : {x : Ordinal} → odef L x → HOD @@ -596,29 +600,18 @@ fp23 {x} Lx = subst (λ k → odef k x) (sym *iso) ⟪ Lx , fp26 ⟫ where fp26 : ¬ odef (coverf Lx) x fp26 = subst (λ k → ¬ odef k x ) *iso (proj2 (proj2 ( ODC.x∋minimal O (coverSet Lx) (fp17 Lx) )) ) - fp05 : {y : Ordinal } → (Xy : odef (* X) y ) → odef ( * y) (NC.x not-covered ) - fp05 {y} Xy = NC.yx not-covered Xy - fp06 : NC.x not-covered o≤ & (* X) - fp06 = begin - NC.x not-covered ≡⟨ sym &iso ⟩ - & (* (NC.x not-covered)) <⟨ c<→o< (subst₂ (λ j k → odef j k ) *iso (sym &iso) (NC.yx not-covered Xe)) ⟩ - & e <⟨ c<→o< Xe ⟩ - & (* X) ∎ where open o≤-Reasoning O - limit : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) - → Ordinal + limit : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) → Ordinal limit {X} CX fip with trio< X o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) ... | tri≈ ¬a b ¬c = o∅ - ... | tri> ¬a ¬b c = & (ODC.minimal O (Intersection (* X)) ( has-intersection CX fip c)) + ... | tri> ¬a ¬b c = NC.x ( has-intersection CX fip c) fip00 : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) {x : Ordinal} → odef (* X) x → odef (* x) (limit CX fip ) fip00 {X} CX fip {x} Xx with trio< X o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) ... | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ (sym b) (subst (λ k → o∅ o< k) &iso (∈∅< Xx) ) ) - ... | tri> ¬a ¬b c with ODC.x∋minimal O (Intersection (* X)) ( has-intersection CX fip c ) - ... | ⟪ 0<m , intersect ⟫ = intersect Xx - + ... | tri> ¬a ¬b c = NC.yx ( has-intersection CX fip c ) Xx open Filter