Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1148:d39c79bb71f0
recovered
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 16 Jan 2023 14:01:45 +0900 |
parents | 1966127fc14f |
children | f8a30e568eca |
files | src/OD.agda src/Topology.agda |
diffstat | 2 files changed, 40 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/src/OD.agda Mon Jan 16 10:50:30 2023 +0900 +++ b/src/OD.agda Mon Jan 16 14:01:45 2023 +0900 @@ -217,6 +217,9 @@ ∅< {x} {y} d eq with eq→ (==-trans eq (==-sym ∅0) ) d ∅< {x} {y} d eq | lift () +0<P→ne : { x : HOD } → o∅ o< & x → ¬ ( od x == od od∅ ) +0<P→ne {x} 0<x eq = ⊥-elim ( o<¬≡ (sym (=od∅→≡o∅ eq)) 0<x ) + ∈∅< : { x : HOD } {y : Ordinal } → odef x y → o∅ o< (& x) ∈∅< {x} {y} d with trio< o∅ (& x) ... | tri< a ¬b ¬c = a
--- a/src/Topology.agda Mon Jan 16 10:50:30 2023 +0900 +++ b/src/Topology.agda Mon Jan 16 14:01:45 2023 +0900 @@ -229,7 +229,7 @@ -- Compact data Finite-∪ (S : HOD) : Ordinal → Set n where - fin-e : {x : Ordinal } → odef S x → Finite-∪ S x + fin-e : {x : Ordinal } → * x ⊆ S → Finite-∪ S x fin-∪ : {x y : Ordinal } → Finite-∪ S x → Finite-∪ S y → Finite-∪ S (& (* x ∪ * y)) record Compact {L : HOD} (top : Topology L) : Set n where @@ -243,13 +243,14 @@ FIP→Compact : {L : HOD} → (top : Topology L ) → FIP top → Compact top FIP→Compact {L} top fip with trio< (& L) o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) -... | tri≈ ¬a b ¬c = record { finCover = λ _ _ → & ( od∅ , od∅ ) ; isCover = λ {X} _ xcp → fip01 xcp ; isFinite = fip00 } where +... | tri≈ ¬a b ¬c = record { finCover = λ _ _ → o∅ ; isCover = λ {X} _ xcp → fip01 xcp ; isFinite = fip00 } where + -- L is empty fip02 : {x : Ordinal } → ¬ odef L x fip02 {x} Lx = ⊥-elim ( o<¬≡ (sym b) (∈∅< Lx) ) - fip01 : {X : Ordinal } → (xcp : * X covers L) → * (& ( od∅ , od∅ )) covers L + fip01 : {X : Ordinal } → (xcp : * X covers L) → (* o∅) covers L fip01 xcp = record { cover = λ Lx → ⊥-elim (fip02 Lx) ; P∋cover = λ Lx → ⊥-elim (fip02 Lx) ; isCover = λ Lx → ⊥-elim (fip02 Lx) } - fip00 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (& ( od∅ , od∅ )) - fip00 {X} xo xcp = fin-e ? + fip00 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) o∅ + fip00 {X} xo xcp = fin-e ( λ {x} 0x → ⊥-elim (¬x<0 (subst (λ k → odef k x) o∅≡od∅ 0x) ) ) ... | tri> ¬a ¬b 0<L = record { finCover = finCover ; isCover = isCover1 ; isFinite = isFinite } where -- set of coset of X CX : {X : Ordinal} → * X ⊆ OS top → Ordinal @@ -270,9 +271,6 @@ fip06 = os ( subst (λ k → odef (* X) k ) fip07 az ) fip05 : * x ⊆ L fip05 {w} xw = proj1 ( subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso ) xw ) - -- CX has finite intersection - CXfip : {X : Ordinal } → * X ⊆ OS top → Set n - CXfip {X} ox = { x C : Ordinal } → * C ⊆ * (CX ox) → Subbase (* C) x → o∅ o< x -- -- X covres L means Intersection of (CX X) contains nothing -- then some finite Intersection of (CX X) contains nothing ( contraposition of FIP ) @@ -281,44 +279,46 @@ record CFIP (x : Ordinal) : Set n where field is-CS : * x ⊆ CS top - y : Ordinal - sy : Subbase (* y) o∅ + sx : Subbase (* x) o∅ Cex : HOD Cex = record { od = record { def = λ x → CFIP x } ; odmax = osuc (& (CS top)) ; <odmax = λ {x} lt → subst₂ (λ j k → j o≤ k ) &iso refl ( ⊆→o≤ (CFIP.is-CS lt )) } + fip00 : {X : Ordinal } → * X ⊆ OS top → * X covers L → ¬ ( Cex =h= od∅ ) + fip00 {X} ox oc cex=0 = ⊥-elim (fip09 fip25 fip20) where + -- CX is finite intersection + fip02 : {C x : Ordinal} → * C ⊆ * (CX ox) → Subbase (* C) x → o∅ o< x + fip02 {C} {x} C<CX sc with trio< x o∅ + ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) + ... | tri> ¬a ¬b c = c + ... | tri≈ ¬a b ¬c = ⊥-elim (¬x<0 ( _==_.eq→ cex=0 record { is-CS = fip10 ; sx = subst (λ k → Subbase (* C) k) b sc } )) where + fip10 : * C ⊆ CS top + fip10 {w} cw = CCX ox ( C<CX cw ) + -- we have some intersection because L is not empty + fip26 : odef (* (CX ox)) (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) ))) + fip26 = subst (λ k → odef k (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) )) )) (sym *iso) + record { z = cover oc (x∋minimal L (0<P→ne 0<L)) ; az = P∋cover oc (x∋minimal L (0<P→ne 0<L)) ; x=ψz = refl } + fip25 : odef L( FIP.limit fip (CCX ox) fip02 ) + fip25 = FIP.L∋limit fip (CCX ox) fip02 fip26 + fip20 : {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) ( FIP.limit fip (CCX ox) fip02 )) + fip20 {y} Xy yl = proj2 fip21 yl where + fip22 : odef (* (CX ox)) (& ( L \ * y )) + 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 ) + 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 _ )) cex : {X : Ordinal } → * X ⊆ OS top → * X covers L → Ordinal - cex {X} ox oc = & ( ODC.minimal O Cex fip00) where - fip00 : ¬ ( Cex =h= od∅ ) - fip00 cex=0 = ⊥-elim (fip09 fip25 fip20) where - fip03 : {x z : Ordinal } → odef (* x) z → (¬ odef (* x) z) → ⊥ - fip03 {x} {z} xz nxz = nxz xz - fip02 : {C x : Ordinal} → * C ⊆ * (CX ox) → Subbase (* C) x → o∅ o< x - fip02 {C} {x} C<CX sc with trio< x o∅ - ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) - ... | tri> ¬a ¬b c = c - ... | tri≈ ¬a b ¬c = ⊥-elim (¬x<0 ( _==_.eq→ cex=0 record { is-CS = fip10 ; y = C ; sy = subst (λ k → Subbase (* C) k) b sc } )) where - fip10 : * C ⊆ CS top - fip10 {w} cw = CCX ox ( C<CX cw ) - fip25 : odef L( FIP.limit fip (CCX ox) fip02 ) - fip25 = FIP.L∋limit fip (CCX ox) fip02 ? - fip20 : {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) ( FIP.limit fip (CCX ox) fip02 )) - fip20 {y} Xy yl = proj2 fip21 yl where - fip22 : odef (* (CX ox)) (& ( L \ * y )) - 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 ) - 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 _ )) - ¬CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → * (cex ox oc) ⊆ * (CX ox) → Subbase (* (cex ox oc)) o∅ - ¬CXfip {X} ox oc = {!!} where - fip04 : odef Cex (cex ox oc) - fip04 = {!!} + cex {X} ox oc = & ( ODC.minimal O Cex (fip00 ox oc)) + CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → CFIP (cex ox oc) + CXfip {X} ox oc = ODC.x∋minimal O Cex (fip00 ox oc) -- this defines finite cover finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal finCover {X} ox oc = & ( Replace' (* (cex ox oc)) (λ z xz → L \ z )) -- create Finite-∪ from cex isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp) - isFinite = {!!} + isFinite {X} xo xcp = {!!} where + fip30 : {y z : Ordinal } → Subbase (* y) o∅ → Finite-∪ (* X) z + fip30 = ? -- is also a cover isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L isCover1 = {!!}