# HG changeset patch # User Shinji KONO # Date 1685619200 -32400 # Node ID f29970636e017f98b5eb94b569a22b581c93fba9 # Parent 302cfb533201cb79a60777849bbb58e71db5a59c ZProduct with Replace sup diff -r 302cfb533201 -r f29970636e01 src/ZProduct.agda --- a/src/ZProduct.agda Sat May 20 18:28:22 2023 +0900 +++ b/src/ZProduct.agda Thu Jun 01 20:33:20 2023 +0900 @@ -37,6 +37,14 @@ <_,_> : (x y : HOD) → HOD < x , y > = (x , x ) , (x , y ) +ZFP ⊆ Power ( Union (X , Y )) +ZFP ¬a ¬b b o< osuc (& (Power (Union (A , B)))) + lemma1 = ⊆→o≤ (ZFP ZFP→ {A} {B} {a} {b} aa bb = subst (λ k → ZFProduct A B k ) (cong₂ (λ j k → & < j , k >) *iso *iso ) ( ab-pair aa bb ) @@ -166,10 +173,14 @@ -- -- ... | record { z = b ; az = ab ; x=ψz = x=ψb } = subst (λ k → ZFProduct A B k ) (sym x=ψb) (ab-pair ab ba) ZPI1 : (A B : HOD) → HOD -ZPI1 A B = Replace' (ZFP A B) ( λ x px → * (zπ1 px )) ? +ZPI1 A B = Replace' (ZFP A B) ( λ x px → * (zπ1 px )) {Union A} record { ≤COD = lemma1 } where + lemma1 : {x : Ordinal } (lt : odef (ZFP A B) x) → * (zπ1 lt) ⊆ Union A + lemma1 (ab-pair {a} {b} aa bb) {x} ax = record { owner = _ ; ao = aa ; ox = ax } ZPI2 : (A B : HOD) → HOD -ZPI2 A B = Replace' (ZFP A B) ( λ x px → * (zπ2 px )) ? +ZPI2 A B = Replace' (ZFP A B) ( λ x px → * (zπ2 px )) {Union B} record { ≤COD = lemma1 } where + lemma1 : {x : Ordinal } (lt : odef (ZFP A B) x) → * (zπ2 lt) ⊆ Union B + lemma1 (ab-pair {a} {b} aa bb) {x} bx = record { owner = _ ; ao = bb ; ox = bx } ZFProj1-iso : {P Q : HOD} {a b x : Ordinal } ( p : ZFProduct P Q x ) → x ≡ & < * a , * b > → zπ1 p ≡ a ZFProj1-iso {P} {Q} {a} {b} (ab-pair {c} {d} zp zq) eq with prod-≡ (subst₂ (λ j k → j ≡ k) *iso *iso (cong (*) eq)) @@ -231,18 +242,25 @@ * x ≡⟨ sym (cong (*) (ty32 pp qx )) ⟩ * (zπ2 (subst (odef (ZFP P Q)) (sym &iso) (ab-pair pp qx ))) ∎ where open ≡-Reasoning +⊆-ZFP : {A B : HOD} {X Y x y : HOD} → X ⊆ A → Y ⊆ B → ZFP X Y ⊆ ZFP A B +⊆-ZFP {A} {B} {X} {y} X) + fodmax = record { ≤COD = λ {x} ax → lemma1 ax } where + lemma1 : {x : HOD} → (ax : odef A (& x)) → < x , * (func ax) > ⊆ Power (Union (A , B)) + lemma1 {x} ax = ZFP ) ? )) + felm : (F : Func A B) → FuncHOD A B (& ( Replace' A ( λ x ax → < x , (* (Func.func F {& x} ax )) > ) (Func.fodmax F) )) FuncHOD→F : {A B : HOD} {x : Ordinal} → FuncHOD A B x → Func A B FuncHOD→F {A} {B} (felm F) = F -FuncHOD=R : {A B : HOD} {x : Ordinal} → (fc : FuncHOD A B x) → (* x) ≡ Replace' A ( λ x ax → < x , (* (Func.func (FuncHOD→F fc) ax)) > ) ? +FuncHOD=R : {A B : HOD} {x : Ordinal} → (fc : FuncHOD A B x) → (* x) ≡ Replace' A ( λ x ax → < x , (* (Func.func (FuncHOD→F fc) ax)) > ) (Func.fodmax (FuncHOD→F fc) ) FuncHOD=R {A} {B} (felm F) = *iso --