Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1151:8a071bf52407
Finite intersection property to Compact done
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Jan 2023 01:43:24 +0900 |
parents | fe0129c40745 |
children | e1c6719a8c38 |
files | src/BAlgebra.agda src/ODUtil.agda src/Topology.agda |
diffstat | 3 files changed, 106 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/src/BAlgebra.agda Tue Jan 17 11:21:18 2023 +0900 +++ b/src/BAlgebra.agda Wed Jan 18 01:43:24 2023 +0900 @@ -40,6 +40,25 @@ lem1 : {x : Ordinal} → odef od∅ x → odef (L \ L) x lem1 {x} lt = ⊥-elim ( ¬∅∋ (subst (λ k → odef od∅ k) (sym &iso) lt )) +L\Lx=x : { L x : HOD } → x ⊆ L → L \ ( L \ x ) ≡ x +L\Lx=x {L} {x} x⊆L = ==→o≡ ( record { eq→ = lem03 ; eq← = lem04 } ) where + lem03 : {z : Ordinal} → odef (L \ (L \ x)) z → odef x z + lem03 {z} ⟪ Lz , Lxz ⟫ with ODC.∋-p O x (* z) + ... | yes y = subst (λ k → odef x k ) &iso y + ... | no n = ⊥-elim ( Lxz ⟪ Lz , ( subst (λ k → ¬ odef x k ) &iso n ) ⟫ ) + lem04 : {z : Ordinal} → odef x z → odef (L \ (L \ x)) z + lem04 {z} xz with ODC.∋-p O L (* z) + ... | yes y = ⟪ subst (λ k → odef L k ) &iso y , ( λ p → proj2 p xz ) ⟫ + ... | no n = ⊥-elim ( n (subst (λ k → odef L k ) (sym &iso) ( x⊆L xz) )) + +L\0=L : { L : HOD } → L \ od∅ ≡ L +L\0=L {L} = ==→o≡ ( record { eq→ = lem05 ; eq← = lem06 } ) where + lem05 : {x : Ordinal} → odef (L \ od∅) x → odef L x + lem05 {x} ⟪ Lx , _ ⟫ = Lx + lem06 : {x : Ordinal} → odef L x → odef (L \ od∅) x + lem06 {x} Lx = ⟪ Lx , (λ lt → ¬x<0 lt) ⟫ + + [a-b]∩b=0 : { A B : HOD } → (A \ B) ∩ B ≡ od∅ [a-b]∩b=0 {A} {B} = ==→o≡ record { eq← = λ lt → ⊥-elim ( ¬∅∋ (subst (λ k → odef od∅ k) (sym &iso) lt )) ; eq→ = λ {x} lt → ⊥-elim (proj2 (proj1 lt ) (proj2 lt)) }
--- a/src/ODUtil.agda Tue Jan 17 11:21:18 2023 +0900 +++ b/src/ODUtil.agda Wed Jan 18 01:43:24 2023 +0900 @@ -56,6 +56,12 @@ lemma {y} (case1 a) = ordtrans (<odmax A a) (omax-x _ _) lemma {y} (case2 b) = ordtrans (<odmax B b) (omax-y _ _) +x∪x≡x : { A : HOD } → (A ∪ A) ≡ A +x∪x≡x {A} = ==→o≡ record { eq← = λ {x} lt → case1 lt ; eq→ = lem00 } where + lem00 : {x : Ordinal} → odef A x ∨ odef A x → odef A x + lem00 {x} (case1 ax) = ax + lem00 {x} (case2 ax) = ax + _\_ : ( A B : HOD ) → HOD A \ B = record { od = record { def = λ x → odef A x ∧ ( ¬ ( odef B x ) ) }; odmax = odmax A ; <odmax = λ y → <odmax A (proj1 y) } @@ -251,22 +257,13 @@ -- ∋-irr : {X x : HOD} → (a b : X ∋ x ) → a ≡ b -- ∋-irr {X} {x} _ _ = refl -- is requed in --- Replace∩ : {X P Q : HOD} → {ψ : (x : HOD) → X ∋ x → HOD} → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) --- → Replace' (P ∩ Q) (λ _ pq → ψ _ (P⊆X (proj1 pq ))) ≡ Replace' P (λ _ p → ψ _ (P⊆X p)) ∩ Replace' Q (λ _ q → ψ _ (Q⊆X q)) --- Replace∩ {X} {P} {Q} {ψ} P⊆X Q⊆X = ==→o≡ record { eq→ = lem04 ; eq← = ? } where --- lem04 : {x : Ordinal} → OD.def (od (Replace' (P ∩ Q) (λ z pq → ψ z (P⊆X (proj1 pq)) ))) x --- → OD.def (od (Replace' P (λ z p → ψ z (P⊆X p)) ∩ Replace' Q (λ z q → ψ z (Q⊆X q)))) x --- lem04 {x} record { z = z ; az = az ; x=ψz = x=ψz } = ⟪ --- record { z = _ ; az = proj1 az ; x=ψz = ? } , --- record { z = _ ; az = proj2 az ; x=ψz = ? } ⟫ +Replace∩ : {X P Q : HOD} → {ψ : (x : HOD) → X ∋ x → HOD} → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) + → ( {x : HOD} → (a b : X ∋ x ) → ψ x a ≡ ψ x b ) + → (Replace' (P ∩ Q) (λ _ pq → ψ _ (P⊆X (proj1 pq )))) ⊆ ( Replace' P (λ _ p → ψ _ (P⊆X p)) ∩ Replace' Q (λ _ q → ψ _ (Q⊆X q))) +Replace∩ {X} {P} {Q} {ψ} P⊆X Q⊆X ψ-irr = lem04 where + lem04 : {x : Ordinal} → OD.def (od (Replace' (P ∩ Q) (λ z pq → ψ z (P⊆X (proj1 pq)) ))) x + → OD.def (od (Replace' P (λ z p → ψ z (P⊆X p)) ∩ Replace' Q (λ z q → ψ z (Q⊆X q)))) x + lem04 {x} record { z = z ; az = az ; x=ψz = x=ψz } = ⟪ + record { z = _ ; az = proj1 az ; x=ψz = trans x=ψz (cong (&)(ψ-irr _ _)) } , + record { z = _ ; az = proj2 az ; x=ψz = trans x=ψz (cong (&)(ψ-irr _ _)) } ⟫ -Repl∪ψ : {X P Q : HOD} → (ψ : (x : HOD) → X ∋ x → HOD) → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) → (x : HOD) → (P ∪ Q) ∋ x → HOD -Repl∪ψ {X} {P} {Q} ψ P⊆X Q⊆X x (case1 p) = ψ _ (P⊆X p) -Repl∪ψ {X} {P} {Q} ψ P⊆X Q⊆X x (case2 q) = ψ _ (Q⊆X q) - -Replace∪ : {X P Q : HOD} → {ψ : (x : HOD) → X ∋ x → HOD} → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) - → Replace' (P ∪ Q) (Repl∪ψ {X} {P} {Q} ψ P⊆X Q⊆X) ≡ Replace' P (λ _ p → ψ _ (P⊆X p)) ∪ Replace' Q (λ _ q → ψ _ (Q⊆X q)) -Replace∪ {X} {P} {Q} {ψ} P⊆X Q⊆X = ==→o≡ record { eq→ = ? ; eq← = ? } - - -
--- a/src/Topology.agda Tue Jan 17 11:21:18 2023 +0900 +++ b/src/Topology.agda Wed Jan 18 01:43:24 2023 +0900 @@ -281,9 +281,9 @@ is-CS : * x ⊆ Replace' (* X) (λ z xz → L \ z) sx : Subbase (* x) o∅ Cex : (X : Ordinal ) → HOD - Cex X = record { od = record { def = λ x → CFIP X x } ; odmax = osuc (& (Replace' (* X) (λ z xz → L \ z))) ; <odmax = ? } where - fip05 : {y : Ordinal} → CFIP X y → y o< osuc (& L) - fip05 {y} cf = subst₂ (λ j k → j o≤ k ) ? ? ( ⊆→o≤ ( CFIP.is-CS cf )) + Cex X = record { od = record { def = λ x → CFIP X x } ; odmax = osuc (& (Replace' (* X) (λ z xz → L \ z))) ; <odmax = fip05 } where + fip05 : {y : Ordinal} → CFIP X y → y o< osuc (& (Replace' (* X) (λ z xz → L \ z))) + fip05 {y} cf = subst₂ (λ j k → j o< osuc k ) &iso refl ( ⊆→o≤ ( CFIP.is-CS cf ) ) fip00 : {X : Ordinal } → * X ⊆ OS top → * X covers L → ¬ ( Cex X =h= od∅ ) fip00 {X} ox oc cex=0 = ⊥-elim (fip09 fip25 fip20) where -- CX is finite intersection @@ -321,16 +321,81 @@ isFinite {X} xo xcp = fip30 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp)) where fip30 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y → Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z ))) fip30 x y x⊆cs (gi sb) = fip31 where + fip32 : Replace' (* x) (λ z xz → L \ z) ⊆ * X -- x⊆cs :* x ⊆ Replace' (* X) (λ z₁ xz → L \ z₁) , x=ψz : w ≡ & (L \ * z) , odef (* x) z + fip32 {w} record { z = z ; az = xz ; x=ψz = x=ψz } with x⊆cs xz + ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where + fip34 : * z1 ⊆ L + fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1 + fip33 : z1 ≡ w + fip33 = begin + z1 ≡⟨ sym &iso ⟩ + & (* z1) ≡⟨ cong (&) (sym (L\Lx=x fip34 )) ⟩ + & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) (sym *iso) ⟩ + & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩ + & (L \ * z) ≡⟨ sym x=ψz ⟩ + w ∎ where open ≡-Reasoning fip31 : Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z))) - fip31 = fin-e ? - fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = ? + fip31 = fin-e (subst (λ k → k ⊆ * X ) (sym *iso) fip32 ) + fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = fip35 where + fip35 : Finite-∪ (* X) (& (Replace' (* x) (λ z₁ xz → L \ z₁))) + fip35 = subst (λ k → Finite-∪ (* X) k) + (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) ) -- is also a cover isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L - isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) ? ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where + isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) + ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where -- record { cover = λ {x} Lx → ? ; P∋cover = ? ; isCover = ? } + fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) + fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) + ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ + ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ + fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) + fip43 {A} {L} {a} {b} ca cb = record { cover = fip44 ; P∋cover = fip46 ; isCover = fip47 } where + fip44 : {x : Ordinal} → odef (L \ (a ∩ b)) x → Ordinal + fip44 {x} Lab with fip45 {L} {a} {b} Lab + ... | case1 La = cover ca La + ... | case2 Lb = cover cb Lb + fip46 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef A (fip44 lt) + fip46 {x} Lab with fip45 {L} {a} {b} Lab + ... | case1 La = P∋cover ca La + ... | case2 Lb = P∋cover cb Lb + fip47 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef (* (fip44 lt)) x + fip47 {x} Lab with fip45 {L} {a} {b} Lab + ... | case1 La = isCover ca La + ... | case2 Lb = isCover cb Lb fip40 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y → (Replace' (* x) (λ z xz → L \ z )) covers (L \ * y ) - fip40 = ? + fip40 x .(& (* _ ∩ * _)) x⊆r (g∩ {a} {b} sa sb) = subst (λ k → (Replace' (* x) (λ z xz → L \ z)) covers ( L \ k ) ) (sym *iso) + ( fip43 {_} {L} {* a} {* b} fip41 fip42 ) where + fip41 : Replace' (* x) (λ z xz → L \ z) covers (L \ * a) + fip41 = fip40 x a x⊆r sa + fip42 : Replace' (* x) (λ z xz → L \ z) covers (L \ * b) + fip42 = fip40 x b x⊆r sb + fip40 x y x⊆r (gi sb) with x⊆r sb + ... | record { z = z ; az = az ; x=ψz = x=ψz } = record { cover = fip51 ; P∋cover = fip53 ; isCover = fip50 }where + fip51 : {w : Ordinal} (Lyw : odef (L \ * y) w) → Ordinal + fip51 {w} Lyw = z + fip52 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* X) z + fip52 {w} Lyw = az + fip55 : * z ⊆ L + fip55 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az)) wz1 + fip56 : * z ≡ L \ * y + fip56 = begin + * z ≡⟨ sym (L\Lx=x fip55 ) ⟩ + L \ ( L \ * z ) ≡⟨ cong (λ k → L \ k) (sym *iso) ⟩ + L \ * ( & ( L \ * z )) ≡⟨ cong (λ k → L \ * k) (sym x=ψz) ⟩ + L \ * y ∎ where open ≡-Reasoning + fip53 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (Replace' (* x) (λ z₁ xz → L \ z₁)) z + fip53 {w} Lyw = record { z = _ ; az = sb ; x=ψz = fip54 } where + fip54 : z ≡ & ( L \ * y ) + fip54 = begin + z ≡⟨ sym &iso ⟩ + & (* z) ≡⟨ cong (&) fip56 ⟩ + & (L \ * y ) + ∎ where open ≡-Reasoning + fip50 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* z) w + fip50 {w} Lyw = subst (λ k → odef k w ) (sym fip56) Lyw + -- some day