Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1222:9f955d49e162
Proj P of Filter F done
author | kono |
---|---|
date | Tue, 07 Mar 2023 09:00:03 +0900 |
parents | 0e8306b146f6 |
children | 4b6c3ed64dd1 |
files | src/Tychonoff.agda |
diffstat | 1 files changed, 40 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Tychonoff.agda Mon Mar 06 20:13:00 2023 +0900 +++ b/src/Tychonoff.agda Tue Mar 07 09:00:03 2023 +0900 @@ -407,67 +407,74 @@ ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef P k) (sym (trans x=ψz1 &iso)) (zp1 (F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fz) (subst (λ k → odef (* z) k) (sym &iso) az1)) ) + X=F : (x : Ordinal) (p : HOD) (fx : odef (filter F) x) → Set n + X=F x p fx = & p ≡ & (Replace' (* x) (λ y xy → + * (zπ1 (f⊆L F + (subst (odef (filter F)) (sym &iso) fx) + (& y) (subst (λ k → OD.def (HOD.od k) (& y)) (sym *iso) xy))))) + x⊆pxq : {x : Ordinal} {p : HOD} (fx : odef (filter F) x) → X=F x p fx → * x ⊆ ZFP p Q + x⊆pxq {x} {p} fx x=ψz {w} xw with F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fx) xw + ... | ab-pair {a} {b} pw qw = ab-pair ty08 qw where + ty21 : ZFProduct P Q (& (* (& < * a , * b >))) + ty21 = subst (λ k → ZFProduct P Q k) (cong & (sym *iso)) (ab-pair pw qw) + ty32 : ZFProduct P Q (& (* (& < * a , * b >))) + ty32 = f⊆L F (subst (odef (filter F)) (sym &iso) fx) + (& (* (& < * a , * b >))) (subst (λ k → odef k + (& (* (& < * a , * b >)))) (sym *iso) (subst (odef (* x)) (sym &iso) xw)) + ty07 : odef (* x) (& < * a , * b >) + ty07 = xw + ty08 : odef p a + ty08 = subst (λ k → odef k a ) (subst₂ (λ j k → j ≡ k) *iso *iso (sym (cong (*) x=ψz))) + record { z = _ ; az = xw ; x=ψz = sym (trans &iso (ty33 ty32 (cong (&) *iso ))) } where + ty33 : {a b x : Ordinal } ( p : ZFProduct P Q x ) → x ≡ & < * a , * b > → zπ1 p ≡ a + ty33 {a} {b} (ab-pair {c} {d} zp zq) eq with prod-≡ (subst₂ (λ j k → j ≡ k) *iso *iso (cong (*) eq)) + ... | ⟪ a=c , b=d ⟫ = subst₂ (λ j k → j ≡ k) &iso &iso (cong (&) a=c) + p⊆P : {x : Ordinal} {p : HOD} (fx : odef (filter F) x) → X=F x p fx → p ⊆ P + p⊆P {x} {p} fx x=ψz {w} pw with subst (λ k → odef k w) (subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) x=ψz)) pw + ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef P k) (sym (trans x=ψz1 &iso)) + (zp1 (F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fx) (subst (λ k → odef (* x) k) (sym &iso) az1 )) ) FP : Filter {Power P} {P} (λ x → x) FP = record { filter = FPSet ; f⊆L = FPSet⊆PP ; filter1 = ty01 ; filter2 = ty02 } where ty01 : {p q : HOD} → Power P ∋ q → FPSet ∋ p → p ⊆ q → FPSet ∋ q ty01 {p} {q} Pq record { z = x ; az = fx ; x=ψz = x=ψz } p⊆q = FPSet∋zpq q⊆P (ty10 ty05 ty06 ) where - -- p ≡ (Replace' (* x) (λ y xy → (zπ1 (F⊆pxq (subst (odef (filter.Filter.filter F)) (sym &iso) fx) xy)) + -- p ≡ (Replace' (* x) (λ y xy → (zπ1 (F⊆pxq (subst (odef (filter F)) (sym &iso) fx) xy)) -- x = ( px , qx ) , px ⊆ q ty03 : Power (ZFP P Q) ∋ ZFP q Q ty03 z zpq = isP→PxQ {* (& q)} (Pq _) ( subst (λ k → odef k z ) (trans *iso (cong (λ k → ZFP k Q) (sym *iso))) zpq ) - p⊆P : p ⊆ P - p⊆P {w} pw with subst (λ k → odef k w) (subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) x=ψz)) pw - ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef P k) (sym (trans x=ψz1 &iso)) - (zp1 (F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fx) (subst (λ k → odef (* x) k) (sym &iso) az1 )) ) q⊆P : q ⊆ P q⊆P {w} qw = Pq _ (subst (λ k → odef k w ) (sym *iso) qw ) - x⊆pxq : * x ⊆ ZFP p Q - x⊆pxq {w} xw with F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fx) xw - ... | ab-pair {a} {b} pw qw = ab-pair ty08 qw where - ty21 : ZFProduct P Q (& (* (& < * a , * b >))) - ty21 = subst (λ k → ZFProduct P Q k) (cong & (sym *iso)) (ab-pair pw qw) - ty32 : ZFProduct P Q (& (* (& < * a , * b >))) - ty32 = f⊆L F (subst (odef (filter F)) (sym &iso) fx) - (& (* (& < * a , * b >))) (subst (λ k → odef k - (& (* (& < * a , * b >)))) (sym *iso) (subst (odef (* x)) (sym &iso) xw)) - ty07 : odef (* x) (& < * a , * b >) - ty07 = xw - ty08 : odef p a - ty08 = subst (λ k → odef k a ) (subst₂ (λ j k → j ≡ k) *iso *iso (sym (cong (*) x=ψz))) - record { z = _ ; az = xw ; x=ψz = sym (trans &iso (ty33 ty32 (cong (&) *iso ))) } where - ty33 : {a b x : Ordinal } ( p : ZFProduct P Q x ) → x ≡ & < * a , * b > → zπ1 p ≡ a - ty33 {a} {b} (ab-pair {c} {d} zp zq) eq with prod-≡ (subst₂ (λ j k → j ≡ k) *iso *iso (cong (*) eq)) - ... | ⟪ a=c , b=d ⟫ = subst₂ (λ j k → j ≡ k) &iso &iso (cong (&) a=c) ty05 : filter F ∋ ZFP p Q - ty05 = filter1 F (λ z wz → isP→PxQ p⊆P (subst (λ k → odef k z) *iso wz)) (subst (λ k → odef (filter F) k) (sym &iso) fx) x⊆pxq + ty05 = filter1 F (λ z wz → isP→PxQ (p⊆P fx x=ψz) (subst (λ k → odef k z) *iso wz)) (subst (λ k → odef (filter F) k) (sym &iso) fx) (x⊆pxq fx x=ψz) ty06 : ZFP p Q ⊆ ZFP q Q ty06 (ab-pair wp wq ) = ab-pair (p⊆q wp) wq ty10 : filter F ∋ ZFP p Q → ZFP p Q ⊆ ZFP q Q → filter F ∋ ZFP q Q ty10 fzp zp⊆zq = filter1 F ty03 fzp zp⊆zq ty02 : {p q : HOD} → FPSet ∋ p → FPSet ∋ q → Power P ∋ (p ∩ q) → FPSet ∋ (p ∩ q) - ty02 {p} {q} record { z = zp ; az = azp ; x=ψz = x=ψzp } record { z = zq ; az = azq ; x=ψz = x=ψzq } Ppq + ty02 {p} {q} record { z = zp ; az = fzp ; x=ψz = x=ψzp } + record { z = zq ; az = fzq ; x=ψz = x=ψzq } Ppq = FPSet∋zpq (λ {z} xz → Ppq z (subst (λ k → odef k z) (sym *iso) xz )) ty50 where - x⊆pxq : * ? ⊆ ZFP p Q - x⊆pxq = ? ty54 : Power (ZFP P Q) ∋ (ZFP p Q ∩ ZFP q Q) ty54 z xz = subst (λ k → ZFProduct P Q k ) (zp-iso pqz) (ab-pair pqz1 pqz2 ) where pqz : odef (ZFP (p ∩ q) Q) z pqz = subst (λ k → odef k z ) (trans *iso (sym (proj1 ZFP∩) )) xz - pqz1 : odef P (zπ1 pqz) - pqz1 = ? - pqz2 : odef Q (zπ2 pqz) - pqz2 = ? + pqz1 : odef P (zπ1 pqz) + pqz1 = p⊆P fzp x=ψzp (proj1 (zp1 pqz)) + pqz2 : odef Q (zπ2 pqz) + pqz2 = zp2 pqz ty53 : filter F ∋ ZFP p Q - ty53 = filter1 F (λ z wz → isP→PxQ ? (subst (λ k → odef k z) *iso wz)) (subst (λ k → odef (filter F) k) (sym &iso) ? ) x⊆pxq + ty53 = filter1 F (λ z wz → isP→PxQ (p⊆P fzp x=ψzp) + (subst (λ k → odef k z) *iso wz)) + (subst (λ k → odef (filter F) k) (sym &iso) fzp ) (x⊆pxq fzp x=ψzp) ty52 : filter F ∋ ZFP q Q - ty52 = ? + ty52 = filter1 F (λ z wz → isP→PxQ (p⊆P fzq x=ψzq) + (subst (λ k → odef k z) *iso wz)) + (subst (λ k → odef (filter F) k) (sym &iso) fzq ) (x⊆pxq fzq x=ψzq) ty51 : filter F ∋ ( ZFP p Q ∩ ZFP q Q ) ty51 = filter2 F ty53 ty52 ty54 ty50 : filter F ∋ ZFP (p ∩ q) Q ty50 = subst (λ k → filter F ∋ k ) (sym (proj1 ZFP∩)) ty51 - UFP : ultra-filter FP UFP = record { proper = {!!} ; ultra = {!!} } uflp : UFLP TP FP UFP