comparison HOD.agda @ 114:89204edb71fa

f x d
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 25 Jun 2019 21:05:07 +0900
parents 5f97ebaeb89b
children 277c2f3b8acb
comparison
equal deleted inserted replaced
113:5f97ebaeb89b 114:89204edb71fa
15 -- Ordinal Definable Set 15 -- Ordinal Definable Set
16 16
17 record HOD {n : Level} : Set (suc n) where 17 record HOD {n : Level} : Set (suc n) where
18 field 18 field
19 def : (x : Ordinal {n} ) → Set n 19 def : (x : Ordinal {n} ) → Set n
20 otrans : {x y : Ordinal {n} } → def x → y o< x → def y 20 otrans : {x : Ordinal {n} } → def x → { y : Ordinal {n} } → y o< x → def y
21 21
22 open HOD 22 open HOD
23 open import Data.Unit 23 open import Data.Unit
24 24
25 open Ordinal 25 open Ordinal
44 eq-trans x=y y=z = record { eq→ = λ t → eq→ y=z ( eq→ x=y t) ; eq← = λ t → eq← x=y ( eq← y=z t) } 44 eq-trans x=y y=z = record { eq→ = λ t → eq→ y=z ( eq→ x=y t) ; eq← = λ t → eq← x=y ( eq← y=z t) }
45 45
46 -- Ordinal in HOD ( and ZFSet ) 46 -- Ordinal in HOD ( and ZFSet )
47 Ord : { n : Level } → ( a : Ordinal {n} ) → HOD {n} 47 Ord : { n : Level } → ( a : Ordinal {n} ) → HOD {n}
48 Ord {n} a = record { def = λ y → y o< a ; otrans = lemma } where 48 Ord {n} a = record { def = λ y → y o< a ; otrans = lemma } where
49 lemma : {x y : Ordinal} → x o< a → y o< x → y o< a 49 lemma : {x : Ordinal} → x o< a → {y : Ordinal} → y o< x → y o< a
50 lemma {x} {y} x<a y<x = ordtrans {n} {y} {x} {a} y<x x<a 50 lemma {x} x<a {y} y<x = ordtrans {n} {y} {x} {a} y<x x<a
51 51
52 -- od∅ : {n : Level} → HOD {n} 52 -- od∅ : {n : Level} → HOD {n}
53 -- od∅ {n} = record { def = λ _ → Lift n ⊥ } 53 -- od∅ {n} = record { def = λ _ → Lift n ⊥ }
54 od∅ : {n : Level} → HOD {n} 54 od∅ : {n : Level} → HOD {n}
55 od∅ {n} = Ord o∅ 55 od∅ {n} = Ord o∅
81 _c≤_ : {n : Level} → HOD {n} → HOD {n} → Set (suc n) 81 _c≤_ : {n : Level} → HOD {n} → HOD {n} → Set (suc n)
82 a c≤ b = (a ≡ b) ∨ ( b ∋ a ) 82 a c≤ b = (a ≡ b) ∨ ( b ∋ a )
83 83
84 cseq : {n : Level} → HOD {n} → HOD {n} 84 cseq : {n : Level} → HOD {n} → HOD {n}
85 cseq x = record { def = λ y → osuc y o< (od→ord x) ; otrans = lemma } where 85 cseq x = record { def = λ y → osuc y o< (od→ord x) ; otrans = lemma } where
86 lemma : {ox oy : Ordinal} → osuc ox o< od→ord x → oy o< ox → osuc oy o< od→ord x 86 lemma : {ox : Ordinal} → osuc ox o< od→ord x → { oy : Ordinal}→ oy o< ox → osuc oy o< od→ord x
87 lemma {ox} {oy} oox<Ox oy<ox = ordtrans (osucc oy<ox ) oox<Ox 87 lemma {ox} oox<Ox {oy} oy<ox = ordtrans (osucc oy<ox ) oox<Ox
88 88
89 def-subst : {n : Level } {Z : HOD {n}} {X : Ordinal {n} }{z : HOD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x 89 def-subst : {n : Level } {Z : HOD {n}} {X : Ordinal {n} }{z : HOD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x
90 def-subst df refl refl = df 90 def-subst df refl refl = df
91 91
92 o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → Ord y ∋ Ord x 92 o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → Ord y ∋ Ord x
245 ; isZF = isZF 245 ; isZF = isZF
246 } where 246 } where
247 Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n} 247 Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n}
248 Replace X ψ = sup-od ψ 248 Replace X ψ = sup-od ψ
249 Select : (X : HOD {suc n} ) → ((x : HOD {suc n} ) → X ∋ x → Set (suc n) ) → HOD {suc n} 249 Select : (X : HOD {suc n} ) → ((x : HOD {suc n} ) → X ∋ x → Set (suc n) ) → HOD {suc n}
250 Select X ψ = record { def = λ x → (d : def X x ) → f x d ; otrans = ftrans } where 250 Select X ψ = record { def = λ x → (d : def X x) → f x d ; otrans = λ {x} g {y} d1 → {!!} } where
251 f : (x : Ordinal {suc n}) → (d : def X x ) → Set (suc n) 251 f : (x : Ordinal {suc n}) → (d : def X x ) → Set (suc n)
252 f x d = ψ (ord→od x) (subst (λ k → def X k ) (sym diso) d) 252 f x d = ψ (ord→od x) (subst (λ k → def X k ) (sym diso) d)
253 ftrans : {x y : Ordinal} → ((d : def X x) → f x d) → y o< x → (d : def X y) → f y d 253 ftrans' : {x : Ordinal} ( g : (x : Ordinal {suc n} ) (d : def X x ) → f x d ) → {y : Ordinal} → y o< x → (d : def X y) → f y d
254 ftrans {x} {y} g = TransFinite {suc n} {λ y1 → (y1<x : y1 o< x) → (d1 : def X y1) → f y1 d1} lemma1 lemma2 y where 254 ftrans' {x} g {y} y<x d = g y d
255 lemma1 : (lx : Nat) → record { lv = lx ; ord = Φ lx } o< x → (d1 : def X (record { lv = lx ; ord = Φ lx })) → f (record { lv = lx ; ord = Φ lx }) d1
256 lemma1 = {!!}
257 lemma2 : (lx : Nat) (x₁ : OrdinalD lx) → (record { lv = lx ; ord = x₁ } o< x →
258 (d1 : def X (record { lv = lx ; ord = x₁ })) → f (record { lv = lx ; ord = x₁ }) d1) → record { lv = lx ; ord = OSuc lx x₁ } o< x →
259 (d1 : def X (record { lv = lx ; ord = OSuc lx x₁ })) → f (record { lv = lx ; ord = OSuc lx x₁ }) d1
260 lemma2 = {!!}
261 _,_ : HOD {suc n} → HOD {suc n} → HOD {suc n} 255 _,_ : HOD {suc n} → HOD {suc n} → HOD {suc n}
262 x , y = Ord (omax (od→ord x) (od→ord y)) 256 x , y = Ord (omax (od→ord x) (od→ord y))
263 Union : HOD {suc n} → HOD {suc n} 257 Union : HOD {suc n} → HOD {suc n}
264 Union U = cseq U 258 Union U = cseq U
265 -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x ) 259 -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x )