Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1229:5e6dfe739f6a
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 08 Mar 2023 14:10:56 +0900 |
parents | e3f20bc4fac9 |
children | faffe9a4bd0f |
files | src/Tychonoff.agda |
diffstat | 1 files changed, 125 insertions(+), 86 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Tychonoff.agda Wed Mar 08 10:28:55 2023 +0900 +++ b/src/Tychonoff.agda Wed Mar 08 14:10:56 2023 +0900 @@ -351,14 +351,17 @@ F⊆pxq : {x : HOD } → filter F ∋ x → x ⊆ ZFP P Q F⊆pxq {x} fx {y} xy = f⊆L F fx y (subst (λ k → odef k y) (sym *iso) xy) - isP→PxQ : {x : HOD} → (x⊆P : x ⊆ P ) → ZFP x Q ⊆ ZFP P Q + --- + --- FP is a P-projection of F, which is a ultra filter + --- + isP→PxQ : {x : HOD} → (x⊆P : x ⊆ P ) → ZFP x Q ⊆ ZFP P Q isP→PxQ {x} x⊆P (ab-pair p q) = ab-pair (x⊆P p) q - fx→px : {x : HOD } → filter F ∋ x → HOD + fx→px : {x : HOD } → filter F ∋ x → HOD fx→px {x} fx = Replace' x ( λ y xy → * (zπ1 (F⊆pxq fx xy) )) fx→px1 : {p : HOD } {q : Ordinal } → odef Q q → (fp : filter F ∋ ZFP p Q ) → fx→px fp ≡ p fx→px1 {p} {q} qq fp = ==→o≡ record { eq→ = ty20 ; eq← = ty22 } where ty21 : {a b : Ordinal } → (pz : odef p a) → (qz : odef Q b) → ZFProduct P Q (& (* (& < * a , * b >))) - ty21 pz qz = F⊆pxq fp (subst (odef (ZFP p Q)) (sym &iso) (ab-pair pz qz )) + ty21 pz qz = F⊆pxq fp (subst (odef (ZFP p Q)) (sym &iso) (ab-pair pz qz )) ty32 : {a b : Ordinal } → (pz : odef p a) → (qz : odef Q b) → zπ1 (ty21 pz qz) ≡ a ty32 {a} {b} pz qz = ty33 (ty21 pz qz) (cong (&) *iso) where ty33 : {a b x : Ordinal } ( p : ZFProduct P Q x ) → x ≡ & < * a , * b > → zπ1 p ≡ a @@ -366,45 +369,49 @@ ... | ⟪ a=c , b=d ⟫ = subst₂ (λ j k → j ≡ k) &iso &iso (cong (&) a=c) ty20 : {x : Ordinal} → odef (fx→px fp) x → odef p x ty20 {x} record { z = _ ; az = ab-pair {a} {b} pz qz ; x=ψz = x=ψz } = subst (λ k → odef p k) a=x pz where - ty24 : * x ≡ * a + ty24 : * x ≡ * a ty24 = begin * x ≡⟨ cong (*) x=ψz ⟩ _ ≡⟨ *iso ⟩ * (zπ1 (F⊆pxq fp (subst (odef (ZFP p Q)) (sym &iso) (ab-pair pz qz)))) ≡⟨ cong (*) (ty32 pz qz) ⟩ * a ∎ where open ≡-Reasoning - a=x : a ≡ x + a=x : a ≡ x a=x = subst₂ (λ j k → j ≡ k ) &iso &iso (cong (&) (sym ty24)) - ty22 : {x : Ordinal} → odef p x → odef (fx→px fp) x + ty22 : {x : Ordinal} → odef p x → odef (fx→px fp) x ty22 {x} px = record { z = _ ; az = ab-pair px qq ; x=ψz = subst₂ (λ j k → j ≡ k) &iso refl (cong (&) ty12 ) } where ty12 : * x ≡ * (zπ1 (F⊆pxq fp (subst (odef (ZFP p Q)) (sym &iso) (ab-pair px qq )))) ty12 = begin * x ≡⟨ sym (cong (*) (ty32 px qq )) ⟩ * (zπ1 (F⊆pxq fp (subst (odef (ZFP p Q)) (sym &iso) (ab-pair px qq )))) ∎ where open ≡-Reasoning + + -- Projection of F FPSet : HOD FPSet = Replace' (filter F) (λ x fx → Replace' x ( λ y xy → * (zπ1 (F⊆pxq fx xy) ))) + + -- Projection ⁻¹ F (which is in F) is in FPSet FPSet∋zpq : {q : HOD} → q ⊆ P → filter F ∋ ZFP q Q → FPSet ∋ q FPSet∋zpq {q} q⊆P fq = record { z = _ ; az = fq ; x=ψz = sym (cong (&) ty10) } where -- brain damaged one - ty11 : {y : HOD} {xy : (* (& (ZFP q Q))) ∋ y } → + ty11 : {y : HOD} {xy : (* (& (ZFP q Q))) ∋ y } → * (zπ1 ( (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) ≡ * (zπ1 ( (F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ))) ty11 {y} {xy} = cong (λ k → * (zπ1 k)) ( HE.≅-to-≡ (∋-irr {ZFP P Q} a b )) where a = F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy - b = F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) + b = F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ty10 : Replace' (* (& (ZFP q Q))) (λ y xy → * (zπ1 (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) ≡ q ty10 = begin - Replace' (* (& (ZFP q Q))) (λ y xy → * (zπ1 (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) - ≡⟨ + Replace' (* (& (ZFP q Q))) (λ y xy → * (zπ1 (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) + ≡⟨ cong (λ k → Replace' (* (& (ZFP q Q))) k ) (f-extensionality (λ y → (f-extensionality (λ xy → ty11 {y} {xy})))) ⟩ - Replace' (* (& (ZFP q Q))) (λ y xy → * (zπ1 (F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ))) + Replace' (* (& (ZFP q Q))) (λ y xy → * (zπ1 (F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ))) ≡⟨ Replace'-iso _ ( λ y xy → * (zπ1 (F⊆pxq fq xy) )) ⟩ - Replace' (ZFP q Q) ( λ y xy → * (zπ1 (F⊆pxq fq xy) )) ≡⟨ refl ⟩ + Replace' (ZFP q Q) ( λ y xy → * (zπ1 (F⊆pxq fq xy) )) ≡⟨ refl ⟩ fx→px fq ≡⟨ fx→px1 aq fq ⟩ q ∎ where open ≡-Reasoning FPSet⊆PP : FPSet ⊆ Power P FPSet⊆PP {x} record { z = z ; az = fz ; x=ψz = x=ψz } w xw with subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso) xw - ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } - = subst (λ k → odef P k) (sym (trans x=ψz1 &iso)) + ... | 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=F1 : (x : Ordinal) (p : HOD) (fx : odef (filter F) x) → Set n X=F1 x p fx = & p ≡ & (Replace' (* x) (λ y xy → @@ -415,22 +422,22 @@ 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) + 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 >))) (subst (λ k → odef k (& (* (& < * a , * b >)))) (sym *iso) (subst (odef (* x)) (sym &iso) xw)) - ty07 : odef (* x) (& < * a , * b >) + 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))) + 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=F1 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)) + ... | 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 @@ -451,7 +458,7 @@ 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 = fzp ; x=ψz = x=ψzp } - record { z = zq ; az = fzq ; x=ψz = x=ψzq } Ppq + 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 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 @@ -461,13 +468,13 @@ 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 (p⊆P fzp x=ψzp) - (subst (λ k → odef k z) *iso wz)) + ty53 : filter F ∋ ZFP p Q + 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 = filter1 F (λ z wz → isP→PxQ (p⊆P fzq x=ψzq) - (subst (λ k → odef k z) *iso wz)) + ty52 : filter F ∋ ZFP q Q + 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 @@ -476,33 +483,35 @@ UFP : ultra-filter FP UFP = record { proper = ty61 ; ultra = ty60 } where ty61 : ¬ (FPSet ∋ od∅) - ty61 record { z = z ; az = az ; x=ψz = x=ψz } = ultra-filter.proper UF ty62 where + ty61 record { z = z ; az = az ; x=ψz = x=ψz } = ultra-filter.proper UF ty62 where ty63 : {x : Ordinal} → ¬ odef (* z) x ty63 {x} zx with x⊆pxq az x=ψz zx ... | ab-pair xp xq = ¬x<0 xp ty62 : odef (filter F) (& od∅) ty62 = subst (λ k → odef (filter F) k ) (trans (sym &iso) (cong (&) (¬x∋y→x≡od∅ ty63)) ) az ty60 : {p : HOD} → Power P ∋ p → Power P ∋ (P \ p) → (FPSet ∋ p) ∨ (FPSet ∋ (P \ p)) - ty60 {p} Pp Pnp with ultra-filter.ultra UF {ZFP p Q} - (λ z xz → isP→PxQ (λ {x} lt → Pp _ (subst (λ k → odef k x) (sym *iso) lt)) (subst (λ k → odef k z) *iso xz)) + ty60 {p} Pp Pnp with ultra-filter.ultra UF {ZFP p Q} + (λ z xz → isP→PxQ (λ {x} lt → Pp _ (subst (λ k → odef k x) (sym *iso) lt)) (subst (λ k → odef k z) *iso xz)) (λ z xz → proj1 (subst (λ k → odef k z) *iso xz )) ... | case1 fp = case1 (FPSet∋zpq (λ {z} xz → Pp z (subst (λ k → odef k z) (sym *iso) xz )) fp ) ... | case2 fnp = case2 (FPSet∋zpq (λ pp → proj1 pp) (subst (λ k → odef (filter F) k) (cong (&) (proj1 ZFP\Q)) fnp )) uflp : UFLP TP FP UFP uflp = FIP→UFLP TP (Compact→FIP TP CP) FP UFP + + -- FPSet is in Projection ⁻¹ F FPSet⊆F : {x : Ordinal } → odef FPSet x → odef (filter F) (& (ZFP (* x) Q)) FPSet⊆F {x} record { z = z ; az = az ; x=ψz = x=ψz } = ? -- copy and pasted, sorry -- - isQ→PxQ : {x : HOD} → (x⊆Q : x ⊆ Q ) → ZFP P x ⊆ ZFP P Q - isQ→PxQ {x} x⊆Q (ab-pair p q) = ab-pair p (x⊆Q q) - fx→qx : {x : HOD } → filter F ∋ x → HOD + isQ→PxQ : {x : HOD} → (x⊆Q : x ⊆ Q ) → ZFP P x ⊆ ZFP P Q + isQ→PxQ {x} x⊆Q (ab-pair p q) = ab-pair p (x⊆Q q) + fx→qx : {x : HOD } → filter F ∋ x → HOD fx→qx {x} fx = Replace' x ( λ y xy → * (zπ2 (F⊆pxq fx xy) )) fx→qx1 : {q : HOD } {p : Ordinal } → odef P p → (fq : filter F ∋ ZFP P q ) → fx→qx fq ≡ q fx→qx1 {q} {p} qq fq = ==→o≡ record { eq→ = ty20 ; eq← = ty22 } where ty21 : {a b : Ordinal } → (qz : odef q b) → (pz : odef P a) → ZFProduct P Q (& (* (& < * a , * b >))) - ty21 qz pz = F⊆pxq fq (subst (odef (ZFP P q)) (sym &iso) (ab-pair pz qz )) + ty21 qz pz = F⊆pxq fq (subst (odef (ZFP P q)) (sym &iso) (ab-pair pz qz )) ty32 : {a b : Ordinal } → (qz : odef q b) → (pz : odef P a) → zπ2 (ty21 qz pz) ≡ b ty32 {a} {b} pz qz = ty33 (ty21 pz qz) (cong (&) *iso) where ty33 : {a b x : Ordinal } ( q : ZFProduct P Q x ) → x ≡ & < * a , * b > → zπ2 q ≡ b @@ -510,15 +519,15 @@ ... | ⟪ a=c , b=d ⟫ = subst₂ (λ j k → j ≡ k) &iso &iso (cong (&) b=d) ty20 : {x : Ordinal} → odef (fx→qx fq) x → odef q x ty20 {x} record { z = _ ; az = ab-pair {a} {b} pz qz ; x=ψz = x=ψz } = subst (λ k → odef q k) b=x qz where - ty24 : * x ≡ * b + ty24 : * x ≡ * b ty24 = begin * x ≡⟨ cong (*) x=ψz ⟩ _ ≡⟨ *iso ⟩ * (zπ2 (F⊆pxq fq (subst (odef (ZFP P q)) (sym &iso) (ab-pair pz qz)))) ≡⟨ cong (*) (ty32 qz pz) ⟩ * b ∎ where open ≡-Reasoning - b=x : b ≡ x + b=x : b ≡ x b=x = subst₂ (λ j k → j ≡ k ) &iso &iso (cong (&) (sym ty24)) - ty22 : {x : Ordinal} → odef q x → odef (fx→qx fq) x + ty22 : {x : Ordinal} → odef q x → odef (fx→qx fq) x ty22 {x} qx = record { z = _ ; az = ab-pair qq qx ; x=ψz = subst₂ (λ j k → j ≡ k) &iso refl (cong (&) ty12 ) } where ty12 : * x ≡ * (zπ2 (F⊆pxq fq (subst (odef (ZFP P q)) (sym &iso) (ab-pair qq qx )))) ty12 = begin @@ -529,26 +538,26 @@ FQSet∋zpq : {q : HOD} → q ⊆ Q → filter F ∋ ZFP P q → FQSet ∋ q FQSet∋zpq {q} q⊆P fq = record { z = _ ; az = fq ; x=ψz = sym (cong (&) ty10) } where -- brain damaged one - ty11 : {y : HOD} {xy : (* (& (ZFP P q ))) ∋ y } → + ty11 : {y : HOD} {xy : (* (& (ZFP P q ))) ∋ y } → * (zπ2 ( (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) ≡ * (zπ2 ( (F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ))) ty11 {y} {xy} = cong (λ k → * (zπ2 k)) ( HE.≅-to-≡ (∋-irr {ZFP P Q} a b )) where a = F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy - b = F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) + b = F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ty10 : Replace' (* (& (ZFP P q ))) (λ y xy → * (zπ2 (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) ≡ q ty10 = begin - Replace' (* (& (ZFP P q))) (λ y xy → * (zπ2 (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) - ≡⟨ + Replace' (* (& (ZFP P q))) (λ y xy → * (zπ2 (F⊆pxq (subst (odef (filter F)) (sym &iso) fq) xy))) + ≡⟨ cong (λ k → Replace' (* (& (ZFP P q ))) k ) (f-extensionality (λ y → (f-extensionality (λ xy → ty11 {y} {xy})))) ⟩ - Replace' (* (& (ZFP P q))) (λ y xy → * (zπ2 (F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ))) + Replace' (* (& (ZFP P q))) (λ y xy → * (zπ2 (F⊆pxq fq (subst (λ k → odef k (& y)) *iso xy) ))) ≡⟨ Replace'-iso _ ( λ y xy → * (zπ2 (F⊆pxq fq xy) )) ⟩ - Replace' (ZFP P q ) ( λ y xy → * (zπ2 (F⊆pxq fq xy) )) ≡⟨ refl ⟩ + Replace' (ZFP P q ) ( λ y xy → * (zπ2 (F⊆pxq fq xy) )) ≡⟨ refl ⟩ fx→qx fq ≡⟨ fx→qx1 ap fq ⟩ q ∎ where open ≡-Reasoning FQSet⊆PP : FQSet ⊆ Power Q FQSet⊆PP {x} record { z = z ; az = fz ; x=ψz = x=ψz } w xw with subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso) xw - ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } - = subst (λ k → odef Q k) (sym (trans x=ψz1 &iso)) + ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } + = subst (λ k → odef Q k) (sym (trans x=ψz1 &iso)) (zp2 (F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fz) (subst (λ k → odef (* z) k) (sym &iso) az1)) ) X=F2 : (x : Ordinal) (q : HOD) (fx : odef (filter F) x) → Set n X=F2 x q fx = & q ≡ & (Replace' (* x) (λ y xy → @@ -559,43 +568,43 @@ x⊆qxq {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 pw ty08 where ty21 : ZFProduct P Q (& (* (& < * a , * b >))) - ty21 = subst (λ k → ZFProduct P Q k) (cong & (sym *iso)) (ab-pair pw qw) + 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 >))) (subst (λ k → odef k (& (* (& < * a , * b >)))) (sym *iso) (subst (odef (* x)) (sym &iso) xw)) - ty07 : odef (* x) (& < * a , * b >) + ty07 : odef (* x) (& < * a , * b >) ty07 = xw ty08 : odef p b - ty08 = subst (λ k → odef k b ) (subst₂ (λ j k → j ≡ k) *iso *iso (sym (cong (*) x=ψz))) + ty08 = subst (λ k → odef k b ) (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π2 p ≡ b 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 (&) b=d) q⊆Q : {x : Ordinal} {p : HOD} (fx : odef (filter F) x) → X=F2 x p fx → p ⊆ Q q⊆Q {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 Q k) (sym (trans x=ψz1 &iso)) + ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef Q k) (sym (trans x=ψz1 &iso)) (zp2 (F⊆pxq (subst (λ k → odef (filter F) k) (sym &iso) fx) (subst (λ k → odef (* x) k) (sym &iso) az1 )) ) FQ : Filter {Power Q} {Q} (λ x → x) FQ = record { filter = FQSet ; f⊆L = FQSet⊆PP ; filter1 = ty01 ; filter2 = ty02 } where ty01 : {p q : HOD} → Power Q ∋ q → FQSet ∋ p → p ⊆ q → FQSet ∋ q - ty01 {p} {q} Pq record { z = x ; az = fx ; x=ψz = x=ψz } p⊆q = FQSet∋zpq q⊆P (ty10 ty05 ty06 ) + ty01 {p} {q} Pq record { z = x ; az = fx ; x=ψz = x=ψz } p⊆q = FQSet∋zpq q⊆P (ty10 ty05 ty06 ) where -- p ≡ (Replace' (* x) (λ y xy → (zπ2 (F⊆qxq (subst (odef (filter F)) (sym &iso) fx) xy)) -- x = ( px , qx ) , qx ⊆ q - ty03 : Power (ZFP P Q) ∋ ZFP P q - ty03 z zpq = isQ→PxQ {* (& q)} (Pq _) ( subst (λ k → odef k z ) (trans *iso (cong (λ k → ZFP P k ) (sym *iso))) zpq ) + ty03 : Power (ZFP P Q) ∋ ZFP P q + ty03 z zpq = isQ→PxQ {* (& q)} (Pq _) ( subst (λ k → odef k z ) (trans *iso (cong (λ k → ZFP P k ) (sym *iso))) zpq ) q⊆P : q ⊆ Q q⊆P {w} qw = Pq _ (subst (λ k → odef k w ) (sym *iso) qw ) ty05 : filter F ∋ ZFP P p ty05 = filter1 F (λ z wz → isQ→PxQ (q⊆Q fx x=ψz) (subst (λ k → odef k z) *iso wz)) (subst (λ k → odef (filter F) k) (sym &iso) fx) (x⊆qxq fx x=ψz) - ty06 : ZFP P p ⊆ ZFP P q - ty06 (ab-pair wp wq ) = ab-pair wp (p⊆q wq) - ty10 : filter F ∋ ZFP P p → ZFP P p ⊆ ZFP P q → filter F ∋ ZFP P q + ty06 : ZFP P p ⊆ ZFP P q + ty06 (ab-pair wp wq ) = ab-pair wp (p⊆q wq) + ty10 : filter F ∋ ZFP P p → ZFP P p ⊆ ZFP P q → filter F ∋ ZFP P q ty10 fzp zp⊆zq = filter1 F ty03 fzp zp⊆zq ty02 : {p q : HOD} → FQSet ∋ p → FQSet ∋ q → Power Q ∋ (p ∩ q) → FQSet ∋ (p ∩ q) ty02 {p} {q} record { z = zp ; az = fzp ; x=ψz = x=ψzp } - record { z = zq ; az = fzq ; x=ψz = x=ψzq } Ppq + record { z = zq ; az = fzq ; x=ψz = x=ψzq } Ppq = FQSet∋zpq (λ {z} xz → Ppq z (subst (λ k → odef k z) (sym *iso) xz )) ty50 where ty54 : Power (ZFP P Q) ∋ (ZFP P p ∩ ZFP P q ) ty54 z xz = subst (λ k → ZFProduct P Q k ) (zp-iso pqz) (ab-pair pqz1 pqz2 ) where @@ -605,46 +614,51 @@ pqz1 = zp1 pqz pqz2 : odef Q (zπ2 pqz) pqz2 = q⊆Q fzp x=ψzp (proj1 (zp2 pqz)) - ty53 : filter F ∋ ZFP P p - ty53 = filter1 F (λ z wz → isQ→PxQ (q⊆Q fzp x=ψzp) - (subst (λ k → odef k z) *iso wz)) + ty53 : filter F ∋ ZFP P p + ty53 = filter1 F (λ z wz → isQ→PxQ (q⊆Q fzp x=ψzp) + (subst (λ k → odef k z) *iso wz)) (subst (λ k → odef (filter F) k) (sym &iso) fzp ) (x⊆qxq fzp x=ψzp) - ty52 : filter F ∋ ZFP P q - ty52 = filter1 F (λ z wz → isQ→PxQ (q⊆Q fzq x=ψzq) - (subst (λ k → odef k z) *iso wz)) + ty52 : filter F ∋ ZFP P q + ty52 = filter1 F (λ z wz → isQ→PxQ (q⊆Q fzq x=ψzq) + (subst (λ k → odef k z) *iso wz)) (subst (λ k → odef (filter F) k) (sym &iso) fzq ) (x⊆qxq fzq x=ψzq) ty51 : filter F ∋ ( ZFP P p ∩ ZFP P q ) ty51 = filter2 F ty53 ty52 ty54 - ty50 : filter F ∋ ZFP P (p ∩ q) + ty50 : filter F ∋ ZFP P (p ∩ q) ty50 = subst (λ k → filter F ∋ k ) (sym (proj2 ZFP∩)) ty51 UFQ : ultra-filter FQ UFQ = record { proper = ty61 ; ultra = ty60 } where ty61 : ¬ (FQSet ∋ od∅) - ty61 record { z = z ; az = az ; x=ψz = x=ψz } = ultra-filter.proper UF ty62 where + ty61 record { z = z ; az = az ; x=ψz = x=ψz } = ultra-filter.proper UF ty62 where ty63 : {x : Ordinal} → ¬ odef (* z) x ty63 {x} zx with x⊆qxq az x=ψz zx ... | ab-pair xp xq = ¬x<0 xq ty62 : odef (filter F) (& od∅) ty62 = subst (λ k → odef (filter F) k ) (trans (sym &iso) (cong (&) (¬x∋y→x≡od∅ ty63)) ) az ty60 : {p : HOD} → Power Q ∋ p → Power Q ∋ (Q \ p) → (FQSet ∋ p) ∨ (FQSet ∋ (Q \ p)) - ty60 {q} Pp Pnp with ultra-filter.ultra UF {ZFP P q} - (λ z xz → isQ→PxQ (λ {x} lt → Pp _ (subst (λ k → odef k x) (sym *iso) lt)) (subst (λ k → odef k z) *iso xz)) + ty60 {q} Pp Pnp with ultra-filter.ultra UF {ZFP P q} + (λ z xz → isQ→PxQ (λ {x} lt → Pp _ (subst (λ k → odef k x) (sym *iso) lt)) (subst (λ k → odef k z) *iso xz)) (λ z xz → proj1 (subst (λ k → odef k z) *iso xz )) ... | case1 fq = case1 (FQSet∋zpq (λ {z} xz → Pp z (subst (λ k → odef k z) (sym *iso) xz )) fq ) ... | case2 fnp = case2 (FQSet∋zpq (λ pp → proj1 pp) (subst (λ k → odef (filter F) k) (cong (&) (proj2 ZFP\Q)) fnp )) + + -- FQSet is in Projection ⁻¹ F + FQSet⊆F : {x : Ordinal } → odef FQSet x → odef (filter F) (& (ZFP P (* x) )) + FQSet⊆F {x} record { z = z ; az = az ; x=ψz = x=ψz } = ? + uflq : UFLP TQ FQ UFQ uflq = FIP→UFLP TQ (Compact→FIP TQ CQ) FQ UFQ Pf : odef (ZFP P Q) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) - Pf = ab-pair (UFLP.P∋limit uflp) (UFLP.P∋limit uflq) + Pf = ab-pair (UFLP.P∋limit uflp) (UFLP.P∋limit uflq) record aSubbase (b : Ordinal) : Set n where field - fp∋b∨fq∋b : odef (filter FP ) b ∨ odef (filter FP ) b - + fp∋b∨fq∋b : odef (filter FP ) b ∨ odef (filter FP ) b + isL : {v : Ordinal} → Neighbor (ProductTopology TP TQ) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) v → filter F ∋ * v - isL {v} npq = filter1 F (λ z xz → Neighbor.v⊆P npq (subst (λ k → odef k z) *iso xz)) - (subst (λ k → odef (filter F) k) (sym &iso) (F∋base pqb npq pqb⊆opq)) bpq⊆v where + isL {v} nei = filter1 F (λ z xz → Neighbor.v⊆P nei (subst (λ k → odef k z) *iso xz)) + (subst (λ k → odef (filter F) k) (sym &iso) (F∋base pqb b∋l )) bpq⊆v where -- -- Product Topolgy's open set contains a subbase which is an element of ZPF p Q or ZPF P q -- Neighbor of limit contains an open set which conatins a limit @@ -652,33 +666,58 @@ -- so there is a subbase which contains a limit, the subbase is an element of projection of a filter (P or Q) TPQ = ProductTopology TP TQ lim = & < * (UFLP.limit uflp) , * (UFLP.limit uflq) > - bpq : Base (ZFP P Q) (pbase TP TQ) (Neighbor.u npq) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) - bpq = Neighbor.ou npq (Neighbor.ux npq) + bpq : Base (ZFP P Q) (pbase TP TQ) (Neighbor.u nei) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) + bpq = Neighbor.ou nei (Neighbor.ux nei) + b∋l : odef (* (Base.b bpq)) lim + b∋l = Base.bx bpq pqb : Subbase (pbase TP TQ) (Base.b bpq ) pqb = Base.sb bpq - pqb⊆opq : * (Base.b bpq) ⊆ * ( Neighbor.u npq ) + pqb⊆opq : * (Base.b bpq) ⊆ * ( Neighbor.u nei ) bpq⊆v : * (Base.b bpq) ⊆ * v - bpq⊆v {x} bx = Neighbor.u⊆v npq (pqb⊆opq bx) + bpq⊆v {x} bx = Neighbor.u⊆v nei (pqb⊆opq bx) pqb⊆opq = Base.b⊆u bpq - F∋base : {b v : Ordinal } → Subbase (pbase TP TQ) b → (npq : Neighbor TPQ lim v) → * b ⊆ * (Neighbor.u npq) → odef (filter F) b - F∋base {b} {v} (gi (case1 px)) npq b⊆u = subst (λ k → odef (filter F) k) (sym (BaseP.prod px)) f∋b where + F∋base : {b : Ordinal } → Subbase (pbase TP TQ) b → odef (* b) lim → odef (filter F) b + F∋base {b} (gi (case1 px)) bl = subst (λ k → odef (filter F) k) (sym (BaseP.prod px)) f∋b where + -- + -- subbase of product topology which includes lim is in FP, so in F + -- + isl00 : odef (ZFP (* (BaseP.p px)) Q) lim + isl00 = subst (λ k → odef k lim ) (trans (cong (*) (BaseP.prod px)) *iso ) bl px∋limit : odef (* (BaseP.p px)) (UFLP.limit uflp) - px∋limit = ? + px∋limit = isl01 isl00 refl where + isl01 : {x : Ordinal } → odef (ZFP (* (BaseP.p px)) Q) x → x ≡ lim → odef (* (BaseP.p px)) (UFLP.limit uflp) + isl01 (ab-pair {a} {b} bx qx) ab=lim = subst (λ k → odef (* (BaseP.p px)) k) a=lim bx where + a=lim : a ≡ UFLP.limit uflp + a=lim = subst₂ (λ j k → j ≡ k ) &iso &iso (cong (&) (proj1 ( prod-≡ (subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) ab=lim) ) ))) fp∋b : filter FP ∋ * (BaseP.p px) - fp∋b = UFLP.is-limit uflp record { u = _ ; ou = BaseP.op px ; ux = px∋limit + fp∋b = UFLP.is-limit uflp record { u = _ ; ou = BaseP.op px ; ux = px∋limit ; v⊆P = λ {x} lt → os⊆L TP (subst (λ k → odef (OS TP) k) (sym &iso) (BaseP.op px)) lt ; u⊆v = λ x → x } f∋b : odef (filter F) (& (ZFP (* (BaseP.p px)) Q)) f∋b = FPSet⊆F (subst (λ k → odef (filter FP) k ) &iso fp∋b ) - F∋base (gi (case2 qx)) npq b⊆u = ? - F∋base (g∩ {x} {y} b1 b2) npq xy⊆u = F∋x∩y where + F∋base {b} (gi (case2 qx)) bl = subst (λ k → odef (filter F) k) (sym (BaseQ.prod qx)) f∋b where + isl00 : odef (ZFP P (* (BaseQ.q qx))) lim + isl00 = subst (λ k → odef k lim ) (trans (cong (*) (BaseQ.prod qx)) *iso ) bl + qx∋limit : odef (* (BaseQ.q qx)) (UFLP.limit uflq) + qx∋limit = isl01 isl00 refl where + isl01 : {x : Ordinal } → odef (ZFP P (* (BaseQ.q qx)) ) x → x ≡ lim → odef (* (BaseQ.q qx)) (UFLP.limit uflq) + isl01 (ab-pair {a} {b} px bx) ab=lim = subst (λ k → odef (* (BaseQ.q qx)) k) b=lim bx where + b=lim : b ≡ UFLP.limit uflq + b=lim = subst₂ (λ j k → j ≡ k ) &iso &iso (cong (&) (proj2 ( prod-≡ (subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) ab=lim) ) ))) + fp∋b : filter FQ ∋ * (BaseQ.q qx) + fp∋b = UFLP.is-limit uflq record { u = _ ; ou = BaseQ.oq qx ; ux = qx∋limit + ; v⊆P = λ {x} lt → os⊆L TQ (subst (λ k → odef (OS TQ) k) (sym &iso) (BaseQ.oq qx)) lt ; u⊆v = λ x → x } + f∋b : odef (filter F) (& (ZFP P (* (BaseQ.q qx)) )) + f∋b = FQSet⊆F (subst (λ k → odef (filter FQ) k ) &iso fp∋b ) + F∋base (g∩ {x} {y} b1 b2) bl = F∋x∩y where + -- filter contains finite intersection fb01 : odef (filter F) x - fb01 = F∋base b1 ? ? + fb01 = F∋base b1 (proj1 (subst (λ k → odef k lim) *iso bl)) fb02 : odef (filter F) y - fb02 = F∋base b2 ? ? + fb02 = F∋base b2 (proj2 (subst (λ k → odef k lim) *iso bl)) F∋x∩y : odef (filter F) (& (* x ∩ * y)) - F∋x∩y = filter2 F (subst (λ k → odef (filter F) k) (sym &iso) fb01) (subst (λ k → odef (filter F) k) (sym &iso) fb02) - (CAP (ZFP P Q) (subst (λ k → odef (Power (ZFP P Q)) k) (sym &iso) (f⊆L F fb01)) - (subst (λ k → odef (Power (ZFP P Q)) k) (sym &iso) (f⊆L F fb02))) + F∋x∩y = filter2 F (subst (λ k → odef (filter F) k) (sym &iso) fb01) (subst (λ k → odef (filter F) k) (sym &iso) fb02) + (CAP (ZFP P Q) (subst (λ k → odef (Power (ZFP P Q)) k) (sym &iso) (f⊆L F fb01)) + (subst (λ k → odef (Power (ZFP P Q)) k) (sym &iso) (f⊆L F fb02)))