comparison cardinal.agda @ 244:0bd498de2ef4

Product
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 26 Aug 2019 02:07:44 +0900
parents f97a2e4df451
children f0f9aede682f
comparison
equal deleted inserted replaced
243:f97a2e4df451 244:0bd498de2ef4
28 < x , y > = (x , x ) , (x , y ) 28 < x , y > = (x , x ) , (x , y )
29 29
30 data ord-pair : (p : Ordinal) → Set n where 30 data ord-pair : (p : Ordinal) → Set n where
31 pair : (x y : Ordinal ) → ord-pair ( od→ord ( < ord→od x , ord→od y > ) ) 31 pair : (x y : Ordinal ) → ord-pair ( od→ord ( < ord→od x , ord→od y > ) )
32 32
33 lemma33 : { p q : Ordinal } → p ≡ q → ord-pair p ≡ ord-pair q
34 lemma33 refl = refl
35
36
37
33 ZFProduct : OD 38 ZFProduct : OD
34 ZFProduct = record { def = λ x → ord-pair x } 39 ZFProduct = record { def = λ x → ord-pair x }
35 40
36 pi1 : { p : Ordinal } → ord-pair p → Ordinal 41 pi1 : { p : Ordinal } → ord-pair p → Ordinal
37 pi1 ( pair x y ) = x 42 pi1 ( pair x y ) = x
59 eq-pair refl refl = HE.refl 64 eq-pair refl refl = HE.refl
60 65
61 eq-prod : { x x' y y' : OD } → x ≡ x' → y ≡ y' → < x , y > ≡ < x' , y' > 66 eq-prod : { x x' y y' : OD } → x ≡ x' → y ≡ y' → < x , y > ≡ < x' , y' >
62 eq-prod refl refl = refl 67 eq-prod refl refl = refl
63 68
69 prod<x : { x y y' : OD } → od→ord y o< od→ord y' → od→ord (< x , y > ) o< od→ord (< x , y' > )
70 prod<x {x} {y} {y'} y<y' with trio< (od→ord x) (od→ord y)
71 prod<x {x} {y} {y'} y<y' | tri≈ ¬a refl ¬c = ? where
72 lemma : ?
73 lemma = ?
74 prod<x {x} {y} {y'} y<y' | tri< a ¬b ¬c = {!!}
75 prod<x {x} {y} {y'} y<y' | tri> ¬a ¬b c = {!!}
76
77 eq-prod' : { x y y' : OD } → < x , y > ≡ < x , y' > → y ≡ y'
78 eq-prod' {x} {y} {y'} eq with trio< (od→ord y) (od→ord y')
79 eq-prod' {x} {y} {y'} eq | tri≈ ¬a b ¬c = subst₂ (λ j k → j ≡ k ) oiso oiso ( cong ( λ k → ord→od k ) b )
80 eq-prod' {x} {y} {y'} eq | tri< a ¬b ¬c = {!!}
81 eq-prod' {x} {y} {y'} eq | tri> ¬a ¬b c = {!!}
82
83 -- def-eq : { P Q p q : OD } → P ≡ Q → p ≡ q → (pt : P ∋ p ) → (qt : Q ∋ q ) → pt ≅ qt
84 -- def-eq refl refl _ _ = ?
85
86 lemma34 : { p q : Ordinal } → (x : ord-pair p ) → (y : ord-pair q ) → p ≡ q → x ≅ y
87 lemma34 {p} (pair x0 x1) (pair y0 y1) eq = {!!}
88
89 prod-eq : { p q : OD } → p ≡ q → (pt : ZFProduct ∋ p ) → (qt : ZFProduct ∋ q ) → pt ≅ qt
90 prod-eq refl s t = {!!} where
91 lemma : {P : Ordinal } → ( pt qt : ord-pair P ) → pt ≅ qt
92 lemma = {!!}
93
64 π1-cong : { p q : OD } → p ≡ q → (pt : ZFProduct ∋ p ) → (qt : ZFProduct ∋ q ) → π1 pt ≅ π1 qt 94 π1-cong : { p q : OD } → p ≡ q → (pt : ZFProduct ∋ p ) → (qt : ZFProduct ∋ q ) → π1 pt ≅ π1 qt
65 π1-cong {p} {q} refl s t = HE.cong (λ k → pi1 k ) (lemma s t refl ) where 95 π1-cong {p} {q} refl s t = HE.cong (λ k → pi1 k ) (prod-eq refl s t )
66 lemma : { op oq : Ordinal } → (P : ord-pair op ) → (Q : ord-pair oq ) → op ≡ oq → P ≅ Q
67 lemma (pair x y ) (pair x' y') eq = eq-pair {!!} {!!}
68 96
69 Tlemma : { x y x' y' : Ordinal } → (prod : ord-pair (od→ord < ord→od x , ord→od y >)) 97 Tlemma : { x y x' y' : Ordinal } → (prod : ord-pair (od→ord < ord→od x , ord→od y >))
70 → (prod' : ord-pair (od→ord < ord→od x' , ord→od y' >)) → x ≡ x' → y ≡ y' → prod ≅ prod' 98 → (prod' : ord-pair (od→ord < ord→od x' , ord→od y' >)) → x ≡ x' → y ≡ y' → prod ≅ prod'
71 Tlemma prod prod' refl refl = lemma prod prod' refl where 99 Tlemma prod prod' refl refl = lemma prod prod' refl where
72 lemma : { p q : Ordinal } → (prod : ord-pair p) → (prod1 : ord-pair q) → p ≡ q → prod ≅ prod1 100 lemma : { p q : Ordinal } → (prod : ord-pair p) → (prod1 : ord-pair q) → p ≡ q → prod ≅ prod1
73 lemma (pair x y) (pair x' y') eq = {!!} 101 lemma (pair x y) (pair x' y') eq = {!!}
102
103 π1--iso : { x y : OD } → (p : ZFProduct ∋ < x , y > ) → π1 p ≡ od→ord x
104 π1--iso {x} {y} p = {!!} where
105 lemma1 : ( ox oy op : Ordinal ) → (p : ord-pair op) → op ≡ od→ord ( < ord→od ox , ord→od oy >) → p ≅ pair ox oy
106 lemma1 ox oy op (pair x' y') eq = {!!}
107 lemma : ( ox oy op : Ordinal ) → (p : ord-pair op ) → op ≡ od→ord ( < ord→od ox , ord→od oy > ) → pi1 p ≡ ox
108 lemma ox oy op (pair ox' oy') eq = {!!}
74 109
75 p-iso : { x : OD } → {p : ZFProduct ∋ x } → < ord→od (π1 p) , ord→od (π2 p) > ≡ x 110 p-iso : { x : OD } → {p : ZFProduct ∋ x } → < ord→od (π1 p) , ord→od (π2 p) > ≡ x
76 p-iso {x} {p} with p-cons (ord→od (π1 p)) (ord→od (π2 p)) 111 p-iso {x} {p} with p-cons (ord→od (π1 p)) (ord→od (π2 p))
77 ... | t = {!!} 112 ... | t = {!!}
78 113