comparison cardinal.agda @ 238:a8c6239176db

ZFProduct
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 19 Aug 2019 11:39:46 +0900
parents 521290e85527
children b6d80eec5f9e
comparison
equal deleted inserted replaced
237:521290e85527 238:a8c6239176db
25 -- since we use p∨¬p which works only on Level n 25 -- since we use p∨¬p which works only on Level n
26 26
27 <_,_> : (x y : OD) → OD 27 <_,_> : (x y : OD) → OD
28 < x , y > = (x , x ) , (x , y ) 28 < x , y > = (x , x ) , (x , y )
29 29
30 Ord< : {x y : Ordinal } → x o< y → od→ord (Ord x) o< od→ord (Ord y) -- x o< y = Ord y ∋ x → ox o< od→ord (Ord y) 30 data ord-pair : (p : Ordinal) → Set n where
31 Ord< {x} {y} lt with trio< (od→ord (Ord x)) (od→ord (Ord y)) 31 pair : (x y : Ordinal ) → ord-pair ( od→ord ( < ord→od x , ord→od y > ) )
32 Ord< {x} {y} lt | tri< a ¬b ¬c = a 32
33 Ord< {x} {y} lt | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ refl (def-subst {Ord y} {x} {Ord x} {x} lt -- Ord x ∋ x 33 ZFProduct : OD
34 (subst₂ (λ j k → j ≡ k) oiso oiso (cong (λ k → ord→od k )(sym b)) )refl )) -- Ord x ≡ Ord y 34 ZFProduct = record { def = λ x → ord-pair x }
35 Ord< {x} {y} lt | tri> ¬a ¬b c = ? where 35
36 lemma : ¬ ( Ord x ∋ ord→od x ) 36 π1' : { p : OD } → ZFProduct ∋ p → OD
37 lemma lt = ⊥-elim ( o<¬≡ refl ( def-subst {_} {_} {Ord x} {x} lt refl diso )) 37 π1' lt = ord→od (pi1 lt) where
38 lemma1 : od→ord (Ord y) o< od→ord (Ord x) → x o< od→ord (Ord x ) 38 pi1 : { p : Ordinal } → ord-pair p → Ordinal
39 lemma1 lt1 = ordtrans ( o<-subst (c<→o< lt ) diso refl ) {!!} 39 pi1 ( pair x y ) = x
40 40
41 --- Ord (osuc ox) ∋ x 41 π2' : { p : OD } → ZFProduct ∋ p → OD
42 --- ox o< od→ord (Ord (osuc ox)) 42 π2' lt = ord→od (pi2 lt) where
43 --- osuc ox ≡ od→ord (Ord (osuc ox)) 43 pi2 : { p : Ordinal } → ord-pair p → Ordinal
44 44 pi2 ( pair x y ) = y
45 opair : {x y : OD} → ( < x , y > ∋ x ) ∧ ( < x , y > ∋ y ) 45
46 opair {x} {y} = record { proj1 = lemma ; proj2 = {!!} } where 46 p-cons : { x y : OD } → ZFProduct ∋ < x , y >
47 ox = (od→ord x) 47 p-cons {x} {y} = def-subst {_} {_} {ZFProduct} {od→ord (< x , y >)} (pair (od→ord x) ( od→ord y )) refl (
48 oy = (od→ord y) 48 let open ≡-Reasoning in begin
49 -- < x , y > ∋ x -- od→ord (Ord (omax ox ox )) 49 od→ord < ord→od (od→ord x) , ord→od (od→ord y) >
50 lemma : ox o< (omax (od→ord (x , x)) (od→ord (x , y))) 50 ≡⟨ cong₂ (λ j k → od→ord < j , k >) oiso oiso ⟩
51 lemma with trio< ox oy 51 od→ord < x , y >
52 lemma | tri< a ¬b ¬c with omax< ox oy a | omxx ox 52 ∎ )
53 ... | eq | eq1 = {!!} 53
54 lemma | tri≈ ¬a b ¬c = {!!} 54
55 lemma | tri> ¬a ¬b c = {!!}
56 55
57 record SetProduct ( A B : OD ) : Set n where 56 record SetProduct ( A B : OD ) : Set n where
58 field 57 field
59 π1 : Ordinal 58 π1 : Ordinal
60 π2 : Ordinal 59 π2 : Ordinal