comparison src/ZProduct.agda @ 1286:619e68271cf8

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 22 May 2023 19:06:25 +0900
parents 302cfb533201
children
comparison
equal deleted inserted replaced
1285:302cfb533201 1286:619e68271cf8
33 open Bool 33 open Bool
34 34
35 open _==_ 35 open _==_
36 36
37 <_,_> : (x y : HOD) → HOD 37 <_,_> : (x y : HOD) → HOD
38 < x , y > = (x , x ) , (x , y ) 38 < x , y > = (x , x) , (x , y)
39 39
40 exg-pair : { x y : HOD } → (x , y ) =h= ( y , x ) 40 exg-pair : { x y : HOD } → (x , y ) =h= ( y , x )
41 exg-pair {x} {y} = record { eq→ = left ; eq← = right } where 41 exg-pair {x} {y} = record { eq→ = left ; eq← = right } where
42 left : {z : Ordinal} → odef (x , y) z → odef (y , x) z 42 left : {z : Ordinal} → odef (x , y) z → odef (y , x) z
43 left (case1 t) = case2 t 43 left (case1 t) = case2 t
111 -- lemma1 : odef (Replace' B (λ b₁ lb → Replace' A (λ a₁ la → < a₁ , b₁ >) ? ) ? ) (& (Replace' A (λ a₁ la → < a₁ , b >) ? )) 111 -- lemma1 : odef (Replace' B (λ b₁ lb → Replace' A (λ a₁ la → < a₁ , b₁ >) ? ) ? ) (& (Replace' A (λ a₁ la → < a₁ , b >) ? ))
112 -- lemma1 = ? -- replacement← B b B∋b ? 112 -- lemma1 = ? -- replacement← B b B∋b ?
113 -- lemma2 : odef (Replace' A (λ a₁ la → < a₁ , b >) ? ) (& < a , b >) 113 -- lemma2 : odef (Replace' A (λ a₁ la → < a₁ , b >) ? ) (& < a , b >)
114 -- lemma2 = ? -- replacement← A a A∋a ? 114 -- lemma2 = ? -- replacement← A a A∋a ?
115 115
116 -- & (x , x) o< next (osuc (& x))
117 -- & (x , y) o< next (omax (& x) (& y))
118 -- & ((x , x) , (x , y)) o< next (omax (next (osuc (& x))) (next (omax (& x) (& y))))
119 -- o≤ next (next (omax (& A) (& B)))
120
116 data ZFProduct (A B : HOD) : (p : Ordinal) → Set n where 121 data ZFProduct (A B : HOD) : (p : Ordinal) → Set n where
117 ab-pair : {a b : Ordinal } → odef A a → odef B b → ZFProduct A B ( & ( < * a , * b > ) ) 122 ab-pair : {a b : Ordinal } → odef A a → odef B b → ZFProduct A B ( & ( < * a , * b > ) )
118 123
119 ZFP : (A B : HOD) → HOD 124 ZFP : (A B : HOD) → HOD
120 ZFP A B = record { od = record { def = λ x → ZFProduct A B x } 125 ZFP A B = record { od = record { def = λ x → ZFProduct A B x }
121 ; odmax = omax (& A) (& B) ; <odmax = λ {y} px → lemma0 px } 126 ; odmax = omax (& A) (& B) ; <odmax = λ {y} px → lemma0 px }
122 where 127 where
123 lemma0 : {A B : HOD} {x : Ordinal} → ZFProduct A B x → x o< omax (& A) (& B) 128 lemma0 : {A B : HOD} {x : Ordinal} → ZFProduct A B x → x o< omax (& A) (& B)
124 lemma0 {A} {B} {px} ( ab-pair {a} {b} ax by ) with trio< a b 129 lemma0 {A} {B} {px} ( ab-pair {a} {b} ax by ) with trio< a b | inspect (omax a) b
125 ... | tri< a<b ¬b ¬c = ? 130 ... | tri< a<b ¬b ¬c | record { eq = eq1 } = ?
126 ... | tri≈ ¬a a=b ¬c = ? 131 ... | tri≈ ¬a a=b ¬c | record { eq = eq1 } = ?
127 ... | tri> ¬a ¬b b<a = ? 132 ... | tri> ¬a ¬b b<a | record { eq = eq1 } = ?
128 133
129 ZFP→ : {A B a b : HOD} → A ∋ a → B ∋ b → ZFP A B ∋ < a , b > 134 ZFP→ : {A B a b : HOD} → A ∋ a → B ∋ b → ZFP A B ∋ < a , b >
130 ZFP→ {A} {B} {a} {b} aa bb = subst (λ k → ZFProduct A B k ) (cong₂ (λ j k → & < j , k >) *iso *iso ) ( ab-pair aa bb ) 135 ZFP→ {A} {B} {a} {b} aa bb = subst (λ k → ZFProduct A B k ) (cong₂ (λ j k → & < j , k >) *iso *iso ) ( ab-pair aa bb )
131 136
132 zπ1 : {A B : HOD} → {x : Ordinal } → odef (ZFP A B) x → Ordinal 137 zπ1 : {A B : HOD} → {x : Ordinal } → odef (ZFP A B) x → Ordinal