### changeset 228:49736efc822b

try transfinite
author Shinji KONO Sun, 11 Aug 2019 20:42:48 +0900 a4cdfc84f65f 5e36744b8dce OD.agda cardinal.agda 2 files changed, 10 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
```--- a/OD.agda	Sun Aug 11 18:37:33 2019 +0900
+++ b/OD.agda	Sun Aug 11 20:42:48 2019 +0900
@@ -483,3 +483,4 @@
Select = ZF.Select OD→ZF
Replace = ZF.Replace OD→ZF
isZF = ZF.isZF  OD→ZF
+TransFinite = IsOrdinals.TransFinite (Ordinals.isOrdinal O)```
```--- a/cardinal.agda	Sun Aug 11 18:37:33 2019 +0900
+++ b/cardinal.agda	Sun Aug 11 20:42:48 2019 +0900
@@ -51,30 +51,10 @@
-- contra position of sup-o<
--

-record Sup ( ψ : Ordinal  →  Ordinal )  : Set n where
-   field
-        sup-x  : Ordinal
-        sup-lb : {z : Ordinal }  →  z o< sup-o ψ → z o< osuc (ψ sup-x )
-
-sup-o> : ( ψ : Ordinal  →  Ordinal )  → Sup ψ
-sup-o> ψ = record {
-        sup-x = od→ord ( minimul (Ord (osuc (sup-o ψ))) lemma )
-      ; sup-lb = λ {z} z<sψ → lemma1 z<sψ
-   } where
-       lemma0 : {x : Ordinal} → o∅ o< osuc x
-       lemma0 {x} with trio< o∅ (osuc x)
-       lemma0 {x} | tri< a ¬b ¬c = a
-       lemma0 {x} | tri≈ ¬a refl ¬c = ⊥-elim (¬x<0 <-osuc )
-       lemma0 {x} | tri> ¬a ¬b c = ⊥-elim (¬x<0 c)
-       lemma : ¬ (Ord (osuc (sup-o ψ)) == od∅)
-       lemma record { eq→ = eq→ ; eq← = eq← } = ¬x<0 {o∅} ( eq→  lemma0 )
-       lemma1 :  {z : Ordinal} → z o< sup-o ψ → z o< osuc (ψ (od→ord (minimul (Ord (osuc (sup-o ψ))) lemma)))
-       lemma1 {z} lt with trio< z (ψ (od→ord (minimul (Ord (osuc (sup-o ψ))) lemma)))
-       lemma1 {z} lt | tri< a ¬b ¬c = ordtrans a <-osuc
-       lemma1 {z} lt | tri≈ ¬a refl ¬c = <-osuc
-       lemma1 {z} lt | tri> ¬a ¬b c = ⊥-elim (o<> c lemma2 ) where
-           lemma2 :  z o< ψ (od→ord (minimul (Ord (osuc (sup-o ψ))) lemma))
-           lemma2 = ordtrans sup-o< ( o<-subst (x∋minimul (Ord (osuc (sup-o ψ))) lemma ) ? ?)
+postulate
+  -- contra-position of mimimulity of supermum required in Cardinal
+  sup-x  : ( Ordinal  → Ordinal ) →  Ordinal
+  sup-lb : { ψ : Ordinal  →  Ordinal } → {z : Ordinal }  →  z o< sup-o ψ → z o< osuc (ψ (sup-x ψ))

------------
--
@@ -107,8 +87,12 @@
cardinal-p x with p∨¬p ( Onto (Ord x) X )
cardinal-p x | case1 True = record { proj1 = x ; proj2 = yes True }
cardinal-p x | case2 False = record { proj1 = o∅ ; proj2 = no False }
+    lemma1 :  (x : Ordinal) → ((y : Ordinal) → y o< x → Lift (suc n) (y o< (osuc (sup-o (λ x₁ → proj1 (cardinal-p x₁)))) → Onto (Ord y) X)) →
+                    Lift (suc n) (x o< (osuc  (sup-o (λ x₁ → proj1 (cardinal-p x₁)))) → Onto (Ord x) X)
+    lemma1 = {!!}
onto : Onto (Ord (sup-o (λ x → proj1 (cardinal-p x)))) X
-    onto = {!!}
+    onto with TransFinite {λ x → Lift (suc n) ( x o< osuc (sup-o (λ x → proj1 (cardinal-p x))) → Onto (Ord x) X ) } lemma1 (sup-o (λ x → proj1 (cardinal-p x)))
+    ... | lift t = t <-osuc  where
cmax : (y : Ordinal) → sup-o (λ x → proj1 (cardinal-p x)) o< y → ¬ Onto (Ord y) X
cmax y lt ontoy = o<> lt (o<-subst  {_} {_} {y} {sup-o (λ x → proj1 (cardinal-p x))}
(sup-o<  {λ x → proj1 ( cardinal-p x)}{y}  ) lemma refl ) where```