comparison ordinal.agda @ 30:3b0fdb95618e

problem on Ordinal ( OSuc ℵ )
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 21 May 2019 00:30:01 +0900
parents fce60b99dc55
children 97ff3f7933fe 2b853472cb24
comparison
equal deleted inserted replaced
29:fce60b99dc55 30:3b0fdb95618e
28 _o<_ : {n : Level} ( x y : Ordinal ) → Set n 28 _o<_ : {n : Level} ( x y : Ordinal ) → Set n
29 _o<_ x y = (lv x < lv y ) ∨ ( ord x d< ord y ) 29 _o<_ x y = (lv x < lv y ) ∨ ( ord x d< ord y )
30 30
31 open import Data.Nat.Properties 31 open import Data.Nat.Properties
32 open import Data.Empty 32 open import Data.Empty
33 open import Data.Unit using ( ⊤ )
33 open import Relation.Nullary 34 open import Relation.Nullary
34 35
35 open import Relation.Binary 36 open import Relation.Binary
36 open import Relation.Binary.Core 37 open import Relation.Binary.Core
38
39 ¬ℵ : {n : Level} {lx : Nat } ( x : OrdinalD {n} lx ) → Set
40 ¬ℵ (Φ lv₁) = ⊤
41 ¬ℵ (OSuc lv₁ x) = ¬ℵ x
42 ¬ℵ (ℵ lv₁) = ⊥
43
44 s<refl : {n : Level } {lx : Nat } { x : OrdinalD {n} lx } → ¬ℵ x → x d< OSuc lx x
45 s<refl {n} {.lv₁} {Φ lv₁} t = Φ<
46 s<refl {n} {.lv₁} {OSuc lv₁ x} t = s< (s<refl t)
47 s<refl {n} {.(Suc lv₁)} {ℵ lv₁} ()
37 48
38 o∅ : {n : Level} → Ordinal {n} 49 o∅ : {n : Level} → Ordinal {n}
39 o∅ = record { lv = Zero ; ord = Φ Zero } 50 o∅ = record { lv = Zero ; ord = Φ Zero }
40 51
41 52
165 ; reflexive = case1 176 ; reflexive = case1
166 ; trans = OrdTrans 177 ; trans = OrdTrans
167 } 178 }
168 } 179 }
169 180
170 TransFinite : {n : Level} → ( ψ : Ordinal {n} → Set n ) 181 TransFinite : {n : Level} → { ψ : Ordinal {n} → Set n }
171 → ( ∀ (lx : Nat ) → ψ ( record { lv = Suc lx ; ord = ℵ lx } )) 182 → ( ∀ (lx : Nat ) → ψ ( record { lv = Suc lx ; ord = ℵ lx } ))
172 → ( ∀ (lx : Nat ) → ψ ( record { lv = lx ; ord = Φ lx } ) ) 183 → ( ∀ (lx : Nat ) → ψ ( record { lv = lx ; ord = Φ lx } ) )
173 → ( ∀ (lx : Nat ) → (x : OrdinalD lx ) → ψ ( record { lv = lx ; ord = x } ) → ψ ( record { lv = lx ; ord = OSuc lx x } ) ) 184 → ( ∀ (lx : Nat ) → (x : OrdinalD lx ) → ψ ( record { lv = lx ; ord = x } ) → ψ ( record { lv = lx ; ord = OSuc lx x } ) )
174 → ∀ (x : Ordinal) → ψ x 185 → ∀ (x : Ordinal) → ψ x
175 TransFinite ψ caseℵ caseΦ caseOSuc record { lv = lv ; ord = Φ lv } = caseΦ lv 186 TransFinite caseℵ caseΦ caseOSuc record { lv = lv ; ord = Φ lv } = caseΦ lv
176 TransFinite ψ caseℵ caseΦ caseOSuc record { lv = lv ; ord = OSuc lv ord₁ } = caseOSuc lv ord₁ 187 TransFinite caseℵ caseΦ caseOSuc record { lv = lv ; ord = OSuc lv ord₁ } = caseOSuc lv ord₁
177 ( TransFinite ψ caseℵ caseΦ caseOSuc (record { lv = lv ; ord = ord₁ } )) 188 ( TransFinite caseℵ caseΦ caseOSuc (record { lv = lv ; ord = ord₁ } ))
178 TransFinite ψ caseℵ caseΦ caseOSuc record { lv = Suc lv₁ ; ord = ℵ lv₁ } = caseℵ lv₁ 189 TransFinite caseℵ caseΦ caseOSuc record { lv = Suc lv₁ ; ord = ℵ lv₁ } = caseℵ lv₁
179 190