diff Ordinals.agda @ 346:06f10815d0b3

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 13 Jul 2020 19:19:02 +0900
parents b1ccdbb14c92
children cfecd05a4061
line wrap: on
line diff
--- a/Ordinals.agda	Mon Jul 13 14:46:03 2020 +0900
+++ b/Ordinals.agda	Mon Jul 13 19:19:02 2020 +0900
@@ -244,6 +244,19 @@
         nexto≡ {x} | tri> ¬a ¬b c = ⊥-elim ((proj2 (proj2 next-limit)) _ (ordtrans <-osuc (proj1 next-limit)) c
            (λ z eq → o<¬≡ (sym eq) ((proj1 (proj2 next-limit)) _ (osuc< (sym eq)))))
 
+        not-limit-p :  ( x : Ordinal  ) → Dec ( ¬ ((y : Ordinal) → ¬ (x ≡ osuc y) ))
+        not-limit-p x = TransFinite {λ x → Dec ( ¬ ((y : Ordinal) → ¬ (x ≡ osuc y)))} ind x where
+             ind : (x : Ordinal) → ((y : Ordinal) → y o< x → Dec (¬ ((y₁ : Ordinal) → ¬ y ≡ osuc y₁))) → Dec (¬ ((y : Ordinal) → ¬ x ≡ osuc  y))
+             ind x prev with trio< o∅ x
+             ind x prev | tri< a ¬b ¬c = ?
+             ind x prev | tri≈ ¬a refl ¬c = no (λ not → not lemma) where
+                lemma : (y : Ordinal) → o∅  ≡ osuc y → ⊥
+                lemma y refl with trio< o∅ y
+                lemma y refl | tri< a ¬b ¬c = o<> a <-osuc
+                lemma y refl | tri≈ ¬a b ¬c = o<¬≡ (sym b) <-osuc
+                lemma y refl | tri> ¬a ¬b c = ¬x<0 c
+             ind x prev | tri> ¬a ¬b c = ⊥-elim (  ¬x<0 c )
+
         record OrdinalSubset (maxordinal : Ordinal) : Set (suc n) where
           field
             os→ : (x : Ordinal) → x o< maxordinal → Ordinal