# HG changeset patch # User Shinji KONO # Date 1561446271 -32400 # Node ID 5f97ebaeb89ba88f49fcbb63d4f07ae3d1e9b266 # Parent c42352a7ee077ee8bc81a4d88541e4af15664b78 ... diff -r c42352a7ee07 -r 5f97ebaeb89b HOD.agda --- a/HOD.agda Tue Jun 25 05:50:22 2019 +0900 +++ b/HOD.agda Tue Jun 25 16:04:31 2019 +0900 @@ -54,17 +54,16 @@ od∅ : {n : Level} → HOD {n} od∅ {n} = Ord o∅ -data SinO {n : Level} : (ox : Ordinal {n}) (x : HOD {n}) → Set (suc n) where - o-in-o : {ox : Ordinal {n} } → SinO ox (Ord ox) - s-in-o : {ox : Ordinal {n} } → {y x : HOD {n} } → SinO ox y → x == y → SinO ox x - postulate -- HOD can be iso to a subset of Ordinal ( by means of Godel Set ) od→ord : {n : Level} → HOD {n} → Ordinal {n} + ord→od : {n : Level} → Ordinal {n} → HOD {n} + oiso : {n : Level} {x : HOD {n}} → ord→od ( od→ord x ) ≡ x + diso : {n : Level} {x : Ordinal {n}} → od→ord ( ord→od x ) ≡ x c<→o< : {n : Level} {x y : HOD {n} } → def y ( od→ord x ) → od→ord x o< od→ord y + ord-Ord :{n : Level} {x : Ordinal {n}} → x ≡ od→ord (Ord x) -- necessary? -- next assumption causes ∀ x ∋ ∅ . It menas only an ordinal becomes a set -- o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → def (ord→od y) x - sino : {n : Level} {x : HOD {n}} → SinO ( od→ord x ) x -- supermum as Replacement Axiom sup-o : {n : Level } → ( Ordinal {n} → Ordinal {n}) → Ordinal {n} sup-o< : {n : Level } → { ψ : Ordinal {n} → Ordinal {n}} → ∀ {x : Ordinal {n}} → ψ x o< sup-o ψ @@ -73,31 +72,26 @@ sup-lb : {n : Level } → { ψ : Ordinal {n} → Ordinal {n}} → {z : Ordinal {n}} → z o< sup-o ψ → z o< osuc (ψ (sup-x ψ)) -- sup-lb : {n : Level } → ( ψ : Ordinal {n} → Ordinal {n}) → ( ∀ {x : Ordinal {n}} → ψx o< z ) → z o< osuc ( sup-o ψ ) - _∋_ : { n : Level } → ( a x : HOD {n} ) → Set n _∋_ {n} a x = def a ( od→ord x ) _c<_ : { n : Level } → ( x a : HOD {n} ) → Set n x c< a = a ∋ x -postulate - o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → Ord y ∋ Ord x - -ord→od : {n : Level} → Ordinal {n} → HOD {n} -ord→od = ? - -oiso : {n : Level} {x : HOD {n}} → ? ≡ x -oiso = ? - -diso : {n : Level} {x : Ordinal {n}} → od→ord ? ≡ x -diso = ? - _c≤_ : {n : Level} → HOD {n} → HOD {n} → Set (suc n) a c≤ b = (a ≡ b) ∨ ( b ∋ a ) +cseq : {n : Level} → HOD {n} → HOD {n} +cseq x = record { def = λ y → osuc y o< (od→ord x) ; otrans = lemma } where + lemma : {ox oy : Ordinal} → osuc ox o< od→ord x → oy o< ox → osuc oy o< od→ord x + lemma {ox} {oy} oox ¬a ¬b c = ⊥-elim (¬x<0 c) -ord-od∅ : {n : Level} → o∅ {suc n} ≡ od→ord (Ord (o∅ {suc n})) -ord-od∅ {n} with trio< {n} (o∅ {suc n}) (od→ord (Ord (o∅ {suc n}))) -ord-od∅ {n} | tri< a ¬b ¬c = ⊥-elim (lemma a) where - lemma : o∅ {suc n } o< (od→ord (Ord (o∅ {suc n}))) → ⊥ - lemma lt with o<→c< lt - lemma lt | t = o<¬≡ refl t -ord-od∅ {n} | tri≈ ¬a b ¬c = b -ord-od∅ {n} | tri> ¬a ¬b c = ⊥-elim (¬x<0 c) - o<→¬c> : {n : Level} → { x y : HOD {n} } → (od→ord x ) o< ( od→ord y) → ¬ (y c< x ) o<→¬c> {n} {x} {y} olt clt = o<> olt (c<→o< clt ) where @@ -262,14 +247,21 @@ Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n} Replace X ψ = sup-od ψ Select : (X : HOD {suc n} ) → ((x : HOD {suc n} ) → X ∋ x → Set (suc n) ) → HOD {suc n} - Select X ψ = record { def = λ x → ( (d : def X x ) → ψ (ord→od x) (subst (λ k → def X k ) (sym diso) d)) ; otrans = lemma } where - lemma : {x y : Ordinal} → ((d : def X x) → ψ (ord→od x) (subst (def X) (sym diso) d)) → - y o< x → (d : def X y) → ψ (ord→od y) (subst (def X) (sym diso) d) - lemma {x} {y} f y : { x y : Nat } → x < y → y < x → ⊥ nat-<> (s≤s x x