changeset 106:c31ac67e9ecb

add Ord Ordinal order preserving map
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 16 Jun 2019 12:26:18 +0900
parents ec6235ce0215
children 745bee73b444
files ordinal-definable.agda
diffstat 1 files changed, 22 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/ordinal-definable.agda	Sun Jun 16 11:37:00 2019 +0900
+++ b/ordinal-definable.agda	Sun Jun 16 12:26:18 2019 +0900
@@ -72,11 +72,9 @@
 _c<_ : { n : Level } → ( x a : Ordinal {n} ) → Set n
 _c<_ {n} x  a = Ord {n} a ∋ Ord x
 
-c<→o< : { n : Level } → { x a : OD {n} } → record { def = λ y → y o< od→ord a } ∋ x → od→ord x o< od→ord a
-c<→o< lt = lt
-
-o<→c< : { n : Level } → { x a : OD {n} } → od→ord x o< od→ord a → record { def = λ y → y o< od→ord a } ∋ x 
-o<→c< lt = lt
+postulate      
+   c<→o< : { n : Level } → { x a : Ordinal {n} } → Ord a  ∋ Ord x →  x o<  a
+   o<→c< : { n : Level } → { x a : Ordinal {n} } → x o< a → Ord a ∋ Ord x 
 
 ==→o≡ : {n : Level} →  { x y : Ordinal {suc n} } →  Ord x == Ord y →  x ≡ y 
 ==→o≡ {n} {x} {y} eq with trio< {n} x y
@@ -131,7 +129,7 @@
 sup-c< {n} ψ {x} = def-subst {n} {_} {_} {record { def = λ y → y o< ( sup-o ( λ x → od→ord (ψ (ord→od x ))) ) }} {od→ord ( ψ x )}
         lemma refl (cong ( λ k → od→ord (ψ k) ) oiso) where
     lemma : od→ord (ψ (ord→od (od→ord x))) o< sup-o (λ x → od→ord (ψ (ord→od x)))
-    lemma = subst₂ (λ j k → j o< k ) refl diso (o<→c< (o<-subst sup-o< refl (sym diso) ) )
+    lemma = subst₂ (λ j k → j o< k ) refl diso (o<-subst sup-o< refl (sym diso)  )
 
 ∅0 : {n : Level} →  record { def = λ x →  Lift n ⊥ } == od∅ {n} 
 eq→ ∅0 {w} (lift ())
@@ -165,6 +163,10 @@
    ... | t with t (case2 (s< s<refl ) )
    c3 lx (OSuc .lx x₁) d not | t | ()
 
+transitive-Ord : {n : Level } { z y x : Ordinal {suc n} } → Ord z ∋ Ord y → Ord y ∋ Ord x → Ord z  ∋ Ord x
+transitive-Ord = {!!}
+
+
 ∅5 : {n : Level} →  { x : Ordinal {n} }  → ¬ ( x  ≡ o∅ {n} ) → o∅ {n} o< x
 ∅5 {n} {record { lv = Zero ; ord = (Φ .0) }} not = ⊥-elim (not refl) 
 ∅5 {n} {record { lv = Zero ; ord = (OSuc .0 ord) }} not = case2 Φ<
@@ -324,6 +326,16 @@
          empty : (x : OD {suc n} ) → ¬  (od∅ ∋ x)
          empty x (case1 ())
          empty x (case2 ())
+
+         power→Ord : (A t : Ordinal) → Power (Ord A) ∋ (Ord t) → {x : OD} → Ord t ∋ x → Ord A ∋ x
+         power→Ord A t P∋t {x} t∋x = {!!} where
+              minsup :  OD
+              minsup =  ZFSubset (Ord A) ( ord→od ( sup-x (λ x → od→ord ( ZFSubset (Ord A) (ord→od x))))) 
+              lemma-t : csuc minsup ∋ Ord t
+              lemma-t with  sup-lb {!!}
+              ... | c = {!!}
+         power←Ord : (A t : Ordinal) → ({x : OD} → (Ord t ∋ x → Ord A ∋ x)) → Power (Ord A) ∋ Ord t
+         power←Ord = {!!}
          ---
          --- ZFSubset A x =  record { def = λ y → def A y ∧  def x y }                   subset of A
          --- Power X = ord→od ( sup-o ( λ x → od→ord ( ZFSubset A (ord→od x )) ) )       Power X is a sup of all subset of A
@@ -333,42 +345,17 @@
          --    In case of later, ZFSubset A ∋ t and t ∋ x implies ZFSubset A ∋ x by transitivity
          --
          power→ : (A t : OD) → Power A ∋ t → {x : OD} → t ∋ x → A ∋ x
-         power→ A t P∋t {x} t∋x = proj1 lemma-s where
-              minsup :  OD
-              minsup =  ZFSubset A ( ord→od ( sup-x (λ x → od→ord ( ZFSubset A (ord→od x))))) 
-              lemma-t : csuc minsup ∋ t
-              lemma-t = {!!}
-              lemma-s : ZFSubset A ( ord→od ( sup-x (λ x → od→ord ( ZFSubset A (ord→od x)))))  ∋ x
-              lemma-s = {!!}
+         power→ A t P∋t {x} t∋x = {!!}
          -- 
          -- we have t ∋ x → A ∋ x means t is a subset of A, that is ZFSubset A t == t
          -- Power A is a sup of ZFSubset A t, so Power A ∋ t
          -- 
          power← : (A t : OD) → ({x : OD} → (t ∋ x → A ∋ x)) → Power A ∋ t
-         power← A t t→A  = def-subst {suc n} {_} {_} {Power A} {od→ord t}
-                  {!!} refl lemma1 where
-              lemma-eq :  ZFSubset A t == t
-              eq→ lemma-eq {z} w = proj2 w 
-              eq← lemma-eq {z} w = record { proj2 = w  ;
-                 proj1 = def-subst {suc n} {_} {_} {A} {z} ( t→A (def-subst {suc n} {_} {_} {t} {od→ord (ord→od z)} w refl (sym diso) )) refl diso  }
-              lemma1 : od→ord (ZFSubset A (ord→od (od→ord t))) ≡ od→ord t
-              lemma1 = subst (λ k → od→ord (ZFSubset A k) ≡ od→ord t ) (sym oiso) {!!}
-              lemma :  od→ord (ZFSubset A (ord→od (od→ord t)) ) o< sup-o (λ x → od→ord (ZFSubset A (ord→od x)))
-              lemma = sup-o<   
-         union-lemma-u : {X z : OD {suc n}} → (U>z : Union X ∋ z ) → csuc z ∋ z
-         union-lemma-u {X} {z} U>z = lemma <-osuc where
-             lemma : {oz ooz : Ordinal {suc n}} → oz o< ooz → def (ord→od ooz) oz
-             lemma {oz} {ooz} lt = def-subst {suc n} {ord→od  ooz} {!!} refl refl
+         power← A t t→A  = {!!}
          union→ :  (X z u : OD) → (X ∋ u) ∧ (u ∋ z) → Union X ∋ z
-         union→ X y u xx with trio< ( od→ord u ) ( osuc ( od→ord y ))
-         union→ X y u xx | tri< a ¬b ¬c with  osuc-< a {!!}
-         union→ X y u xx | tri< a ¬b ¬c | ()
-         union→ X y u xx | tri≈ ¬a b ¬c = lemma b {!!} where
-             lemma : {oX ou ooy : Ordinal {suc n}} →  ou ≡ ooy  → ou o< oX   → ooy  o< oX
-             lemma refl lt = lt
-         union→ X y u xx | tri> ¬a ¬b c = ordtrans {suc n} {osuc ( od→ord y )} {od→ord u} {od→ord X} c {!!} 
+         union→ = {!!}
          union← :  (X z : OD) (X∋z : Union X ∋ z) → (X ∋ csuc z) ∧ (csuc z ∋ z )
-         union← X z X∋z = record { proj1 = def-subst {suc n} {_} {_} {X} {od→ord (csuc z )} {!!} oiso (sym diso) ; proj2 = union-lemma-u X∋z } 
+         union← = {!!}
          ψiso :  {ψ : OD {suc n} → Set (suc n)} {x y : OD {suc n}} → ψ x → x ≡ y   → ψ y
          ψiso {ψ} t refl = t
          selection : {ψ : OD → Set (suc n)} {X y : OD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y)