Mercurial > hg > Members > kono > Proof > ZF-in-agda
diff OPair.agda @ 362:8a430df110eb
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2020 18:57:40 +0900 |
parents | 4cbcf71b09c4 |
children | aad9249d1e8f |
line wrap: on
line diff
--- a/OPair.agda Fri Jul 17 16:33:30 2020 +0900 +++ b/OPair.agda Fri Jul 17 18:57:40 2020 +0900 @@ -136,36 +136,24 @@ p-pi2 : { x y : HOD } → (p : def ZFProduct (od→ord < x , y >) ) → π2 p ≡ y p-pi2 {x} {y} p = proj2 ( prod-eq ( ord→== (op-iso p))) +_⊗_ : (A B : HOD) → HOD +A ⊗ B = Union ( Replace B (λ b → Replace A (λ a → < a , b > ) )) -_⊗_ : (A B : HOD) → HOD -A ⊗ B = record { od = record { def = λ x → def ZFProduct x ∧ ( { x : Ordinal } → (p : def ZFProduct x ) → checkAB p ) } ; - odmax = pmax; <odmax = <pmax } where +product→ : {A B a b : HOD} → A ∋ a → B ∋ b → ( A ⊗ B ) ∋ < a , b > +product→ {A} {B} {a} {b} A∋a B∋b = {!!} + +record IsProduct (A B p : HOD) (A⊗B∋p : (A ⊗ B ) ∋ p ) : Set (suc n) where + field + is-pair : def ZFProduct (od→ord p) + π1A : A ∋ π1 is-pair + π2B : B ∋ π2 is-pair + +product← : {A B a b p : HOD} → (lt : (A ⊗ B ) ∋ p ) → IsProduct A B p lt +product← lt = record { is-pair = {!!} ; π1A = {!!} ; π2B = {!!} } + + +ZFP : (A B : HOD) → ( {x : HOD } → hod-ord< {x} ) → HOD +ZFP A B hod-ord< = record { od = record { def = λ x → def ZFProduct x ∧ ( { x : Ordinal } → (p : def ZFProduct x ) → checkAB p ) } ; + odmax = {!!} ; <odmax = {!!} } where checkAB : { p : Ordinal } → def ZFProduct p → Set n checkAB (pair x y) = odef A x ∧ odef B y - pmax : Ordinal - pmax = next (omax (od→ord A) (od→ord B)) - <pmax : {y : Ordinal} → def ZFProduct y ∧ ({x : Ordinal} (p : def ZFProduct x) → checkAB p) → y o< next (omax (od→ord A) (od→ord B)) - <pmax {y} prod = {!!} where - prod-odmax : ( x y : HOD) → Ordinal - prod-odmax x y = omax (od→ord (x , x)) (od→ord (x , y)) - lemma : {x y z : HOD } → ((x , x ) , (x , y )) ∋ z → od→ord z o< osuc (osuc (od→ord (x , y) )) - lemma {x} {y} {z} = {!!} - lemma1 : {x y : HOD } → A ∋ x → B ∋ y → od→ord (x , y) o< omax (odmax A) (odmax B) - lemma1 {x} {y} A∋x B∋y with trio< (odmax A) (odmax B) - lemma1 {x} {y} A∋x B∋y | tri< a ¬b ¬c = begin - od→ord (x , y) - ≤⟨ {!!} ⟩ - odmax B - ∎ where open o≤-Reasoning O - lemma1 {x} {y} A∋x B∋y | tri≈ ¬a b ¬c = {!!} - lemma1 {x} {y} A∋x B∋y | tri> ¬a ¬b c = {!!} - --- lemma2 : od→ord (x , y) o< osuc (omax (odmax A) (odmax B)) --- lemma2 = begin --- {!!} --- ≤⟨ {!!} ⟩ --- {!!} --- ∎ where open o≤-Reasoning O - a = π1 (subst (λ k → def ZFProduct k) (sym diso) (proj1 prod)) - b = π2 (subst (λ k → def ZFProduct k) (sym diso) (proj1 prod)) -