comparison ordinal-definable.agda @ 93:d382a7902f5e

replacement
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 06 Jun 2019 09:36:41 +0900
parents b4742cf4ef97
children 4659a815b70d
comparison
equal deleted inserted replaced
92:ef0dfc4b97fd 93:d382a7902f5e
282 x , y = record { def = λ z → z o< (omax (od→ord x) (od→ord y)) } 282 x , y = record { def = λ z → z o< (omax (od→ord x) (od→ord y)) }
283 Union : OD {suc n} → OD {suc n} 283 Union : OD {suc n} → OD {suc n}
284 Union U = record { def = λ y → osuc y o< (od→ord U) } 284 Union U = record { def = λ y → osuc y o< (od→ord U) }
285 -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x ) 285 -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x )
286 Power : OD {suc n} → OD {suc n} 286 Power : OD {suc n} → OD {suc n}
287 Power X = record { def = λ y → ∀ (x : Ordinal {suc n} ) → ( def X x ∧ def (ord→od y) x ) } 287 Power X = record { def = λ y → ∀ (x : Ordinal {suc n} ) → def X x → def (ord→od y) x }
288 ZFSet = OD {suc n} 288 ZFSet = OD {suc n}
289 _∈_ : ( A B : ZFSet ) → Set (suc n) 289 _∈_ : ( A B : ZFSet ) → Set (suc n)
290 A ∈ B = B ∋ A 290 A ∈ B = B ∋ A
291 _⊆_ : ( A B : ZFSet ) → ∀{ x : ZFSet } → Set (suc n) 291 _⊆_ : ( A B : ZFSet ) → ∀{ x : ZFSet } → Set (suc n)
292 _⊆_ A B {x} = A ∋ x → B ∋ x 292 _⊆_ A B {x} = A ∋ x → B ∋ x
309 ; power← = power← 309 ; power← = power←
310 ; extensionality = extensionality 310 ; extensionality = extensionality
311 ; minimul = minimul 311 ; minimul = minimul
312 ; regularity = regularity 312 ; regularity = regularity
313 ; infinity∅ = infinity∅ 313 ; infinity∅ = infinity∅
314 ; infinity = {!!} 314 ; infinity = λ _ → infinity
315 ; selection = λ {ψ} {X} {y} → selection {ψ} {X} {y} 315 ; selection = λ {ψ} {X} {y} → selection {ψ} {X} {y}
316 ; replacement = {!!} 316 ; replacement = replacement
317 } where 317 } where
318 open _∧_ 318 open _∧_
319 open Minimumo 319 open Minimumo
320 pair : (A B : OD {suc n} ) → ((A , B) ∋ A) ∧ ((A , B) ∋ B) 320 pair : (A B : OD {suc n} ) → ((A , B) ∋ A) ∧ ((A , B) ∋ B)
321 proj1 (pair A B ) = omax-x {n} (od→ord A) (od→ord B) 321 proj1 (pair A B ) = omax-x {n} (od→ord A) (od→ord B)
322 proj2 (pair A B ) = omax-y {n} (od→ord A) (od→ord B) 322 proj2 (pair A B ) = omax-y {n} (od→ord A) (od→ord B)
323 empty : (x : OD {suc n} ) → ¬ (od∅ ∋ x) 323 empty : (x : OD {suc n} ) → ¬ (od∅ ∋ x)
324 empty x () 324 empty x ()
325 --- Power X = record { def = λ y → ∀ (x : Ordinal {suc n} ) → ( def X x ∧ def (ord→od y) x ) } 325 --- Power X = record { def = λ y → ∀ (x : Ordinal {suc n} ) → def X x → def (ord→od y) x }
326 power→ : (A t : OD) → Power A ∋ t → {x : OD} → t ∋ x → A ∋ x 326 power→ : (A t : OD) → Power A ∋ t → {x : OD} → t ∋ x → A ∋ x
327 power→ A t P∋t {x} t∋x = proj1 (P∋t (od→ord x) ) 327 power→ A t P∋t {x} t∋x = {!!}
328 power← : (A t : OD) → ({x : OD} → (t ∋ x → A ∋ x)) → Power A ∋ t 328 power← : (A t : OD) → ({x : OD} → (t ∋ x → A ∋ x)) → Power A ∋ t
329 power← A t t→A z = record { proj1 = lemma2 ; proj2 = lemma1 } where 329 power← A t t→A z = {!!}
330 lemma1 : def (ord→od (od→ord t)) z
331 lemma1 = {!!}
332 lemma2 : def A z
333 lemma2 = {!!}
334 union-u : (X z : OD {suc n}) → Union X ∋ z → OD {suc n} 330 union-u : (X z : OD {suc n}) → Union X ∋ z → OD {suc n}
335 union-u X z U>z = ord→od ( osuc ( od→ord z ) ) 331 union-u X z U>z = ord→od ( osuc ( od→ord z ) )
336 union-lemma-u : {X z : OD {suc n}} → (U>z : Union X ∋ z ) → union-u X z U>z ∋ z 332 union-lemma-u : {X z : OD {suc n}} → (U>z : Union X ∋ z ) → union-u X z U>z ∋ z
337 union-lemma-u {X} {z} U>z = lemma <-osuc where 333 union-lemma-u {X} {z} U>z = lemma <-osuc where
338 lemma : {oz ooz : Ordinal {suc n}} → oz o< ooz → def (ord→od ooz) oz 334 lemma : {oz ooz : Ordinal {suc n}} → oz o< ooz → def (ord→od ooz) oz
352 selection : {ψ : OD → Set (suc n)} {X y : OD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y) 348 selection : {ψ : OD → Set (suc n)} {X y : OD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y)
353 selection {ψ} {X} {y} = record { 349 selection {ψ} {X} {y} = record {
354 proj1 = λ cond → record { proj1 = proj1 cond ; proj2 = ψiso {ψ} (proj2 cond) (sym oiso) } 350 proj1 = λ cond → record { proj1 = proj1 cond ; proj2 = ψiso {ψ} (proj2 cond) (sym oiso) }
355 ; proj2 = λ select → record { proj1 = proj1 select ; proj2 = ψiso {ψ} (proj2 select) oiso } 351 ; proj2 = λ select → record { proj1 = proj1 select ; proj2 = ψiso {ψ} (proj2 select) oiso }
356 } 352 }
353 replacement : {ψ : OD → OD} (X x : OD) → Replace X ψ ∋ ψ x
354 replacement {ψ} X x = sup-c< ψ {x}
357 ∅-iso : {x : OD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅) 355 ∅-iso : {x : OD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅)
358 ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq 356 ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq
359 minimul : (x : OD {suc n} ) → ¬ (x == od∅ )→ OD {suc n} 357 minimul : (x : OD {suc n} ) → ¬ (x == od∅ )→ OD {suc n}
360 minimul x not = od∅ 358 minimul x not = od∅
361 regularity : (x : OD) (not : ¬ (x == od∅)) → 359 regularity : (x : OD) (not : ¬ (x == od∅)) →
408 lemma record { lv = Zero ; ord = (OSuc .0 ord₁) } (case1 (s≤s x)) = case1 (s≤s z≤n) 406 lemma record { lv = Zero ; ord = (OSuc .0 ord₁) } (case1 (s≤s x)) = case1 (s≤s z≤n)
409 lemma record { lv = (Suc lv₁) ; ord = (Φ .(Suc lv₁)) } (case1 (s≤s ())) 407 lemma record { lv = (Suc lv₁) ; ord = (Φ .(Suc lv₁)) } (case1 (s≤s ()))
410 lemma record { lv = (Suc lv₁) ; ord = (OSuc .(Suc lv₁) ord₁) } (case1 (s≤s ())) 408 lemma record { lv = (Suc lv₁) ; ord = (OSuc .(Suc lv₁) ord₁) } (case1 (s≤s ()))
411 lemma record { lv = 1 ; ord = (Φ 1) } (case2 c2) with d<→lv c2 409 lemma record { lv = 1 ; ord = (Φ 1) } (case2 c2) with d<→lv c2
412 lemma record { lv = (Suc Zero) ; ord = (Φ .1) } (case2 ()) | refl 410 lemma record { lv = (Suc Zero) ; ord = (Φ .1) } (case2 ()) | refl
413 replacement : {ψ : OD → OD} (X x : OD) → Replace X ψ ∋ ψ x 411
414 replacement {ψ} X x = {!!}
415