Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 364:67580311cc8e
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 18 Jul 2020 11:38:33 +0900 |
parents | aad9249d1e8f |
children | 7f919d6b045b |
files | OD.agda filter.agda |
diffstat | 2 files changed, 37 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/OD.agda Sat Jul 18 10:36:32 2020 +0900 +++ b/OD.agda Sat Jul 18 11:38:33 2020 +0900 @@ -1,3 +1,4 @@ +{-# OPTIONS --allow-unsolved-metas #-} open import Level open import Ordinals module OD {n : Level } (O : Ordinals {n} ) where @@ -400,27 +401,24 @@ infinite' ho< = record { od = record { def = λ x → infinite-d x } ; odmax = next o∅ ; <odmax = lemma } where u : (y : Ordinal ) → HOD u y = Union (ord→od y , (ord→od y , ord→od y)) + -- next< : {x y z : Ordinal} → x o< next z → y o< next x → y o< next z + lemma8 : {y : Ordinal} → od→ord (ord→od y , ord→od y) o< next (odmax (ord→od y , ord→od y)) + lemma8 = ho< + --- (x,y) < next (omax x y) < next (osuc y) = next y + lemmaa : {x y : HOD} → od→ord x o< od→ord y → od→ord (x , y) o< next (od→ord y) + lemmaa {x} {y} x<y = subst (λ k → od→ord (x , y) o< k ) (sym nexto≡) (subst (λ k → od→ord (x , y) o< next k ) (sym (omax< _ _ x<y)) ho< ) + lemma81 : {y : Ordinal} → od→ord (ord→od y , ord→od y) o< next (od→ord (ord→od y)) + lemma81 {y} = nexto=n (subst (λ k → od→ord (ord→od y , ord→od y) o< k ) (cong (λ k → next k) (omxx _)) lemma8) + lemma9 : {y : Ordinal} → od→ord (ord→od y , (ord→od y , ord→od y)) o< next (od→ord (ord→od y , ord→od y)) + lemma9 = lemmaa (c<→o< (case1 refl)) + lemma71 : {y : Ordinal} → od→ord (ord→od y , (ord→od y , ord→od y)) o< next (od→ord (ord→od y)) + lemma71 = next< lemma81 lemma9 + lemma1 : {y : Ordinal} → od→ord (u y) o< next (osuc (od→ord (ord→od y , (ord→od y , ord→od y)))) + lemma1 = ho< + --- main recursion lemma : {y : Ordinal} → infinite-d y → y o< next o∅ lemma {o∅} iφ = x<nx - lemma (isuc {y} x) = lemma2 where - -- next< : {x y z : Ordinal} → x o< next z → y o< next x → y o< next z - lemma0 : y o< next o∅ - lemma0 = lemma x - lemma8 : od→ord (ord→od y , ord→od y) o< next (odmax (ord→od y , ord→od y)) - lemma8 = ho< - --- (x,y) < next (omax x y) < next (osuc y) = next y - lemmaa : {x y : HOD} → od→ord x o< od→ord y → od→ord (x , y) o< next (od→ord y) - lemmaa {x} {y} x<y = subst (λ k → od→ord (x , y) o< k ) (sym nexto≡) (subst (λ k → od→ord (x , y) o< next k ) (sym (omax< _ _ x<y)) ho< ) - lemma81 : od→ord (ord→od y , ord→od y) o< next (od→ord (ord→od y)) - lemma81 = nexto=n (subst (λ k → od→ord (ord→od y , ord→od y) o< k ) (cong (λ k → next k) (omxx _)) lemma8) - lemma9 : od→ord (ord→od y , (ord→od y , ord→od y)) o< next (od→ord (ord→od y , ord→od y)) - lemma9 = lemmaa (c<→o< (case1 refl)) - lemma71 : od→ord (ord→od y , (ord→od y , ord→od y)) o< next (od→ord (ord→od y)) - lemma71 = next< lemma81 lemma9 - lemma1 : od→ord (u y) o< next (osuc (od→ord (ord→od y , (ord→od y , ord→od y)))) - lemma1 = ho< - lemma2 : od→ord (u y) o< next o∅ - lemma2 = next< lemma0 (next< (subst (λ k → od→ord (ord→od y , (ord→od y , ord→od y)) o< next k) diso lemma71 ) (nexto=n lemma1)) + lemma (isuc {y} x) = next< (lemma x) (next< (subst (λ k → od→ord (ord→od y , (ord→od y , ord→od y)) o< next k) diso lemma71 ) (nexto=n lemma1)) nat→ω : Nat → HOD nat→ω Zero = od∅ @@ -432,6 +430,10 @@ lemma iφ = Zero lemma (isuc lt) = Suc (lemma lt) + ω∋nat→ω : {n : Nat} → def (od infinite) (od→ord (nat→ω n)) + ω∋nat→ω {Zero} = subst (λ k → def (od infinite) k) {!!} iφ + ω∋nat→ω {Suc n} = subst (λ k → def (od infinite) k) {!!} (isuc ( ω∋nat→ω {n})) + _=h=_ : (x y : HOD) → Set n x =h= y = od x == od y
--- a/filter.agda Sat Jul 18 10:36:32 2020 +0900 +++ b/filter.agda Sat Jul 18 11:38:33 2020 +0900 @@ -146,12 +146,10 @@ prime-ideal : {L : HOD} → Ideal L → ∀ {p q : HOD } → Set n prime-ideal {L} P {p} {q} = ideal P ∋ ( p ∩ q) → ( ideal P ∋ p ) ∨ ( ideal P ∋ q ) +------- -- the set of finite partial functions from ω to 2 -- --- ph2 : Nat → Set → 2 --- ph2 : Nat → Maybe 2 -- --- Hω2 : Filter (Power (Power infinite)) import OPair open OPair O @@ -163,6 +161,13 @@ nat→ω Zero = od∅ nat→ω (Suc y) = Union (nat→ω y , (nat→ω y , nat→ω y)) +postulate -- we have proved in other module + ω∋nat→ω : {n : Nat} → def (od infinite) (od→ord (nat→ω n)) + ω<next-o∅ : {y : Ordinal} → infinite-d y → y o< next o∅ + +postulate + ho< : {x : HOD} → hod-ord< {x} -- : ({x : HOD} → od→ord x o< next (odmax x)) + data Hω2 : ( x : Ordinal ) → Set n where hφ : Hω2 o∅ h0 : {x : Ordinal } → Hω2 x → @@ -173,7 +178,14 @@ Hω2 (od→ord < nat→ω 2 , ord→od x >) HODω2 : HOD -HODω2 = record { od = record { def = λ x → Hω2 x } ; odmax = {!!} ; <odmax = {!!} } +HODω2 = record { od = record { def = λ x → Hω2 x } ; odmax = next o∅ ; <odmax = odmax0 } where + lemma0 : {n y : Ordinal} → Hω2 y → odef infinite n → od→ord < ord→od n , ord→od y > o< next y + lemma0 {n} {y} hw2 inf = nexto=n {!!} + odmax0 : {y : Ordinal} → Hω2 y → y o< next o∅ + odmax0 {o∅} hφ = x<nx + odmax0 (h0 {y} lt) = next< (odmax0 lt) (subst (λ k → k o< next y ) (cong (λ k → od→ord < k , ord→od y >) oiso ) (lemma0 lt (ω∋nat→ω {0} ))) + odmax0 (h1 {y} lt) = next< (odmax0 lt) (subst (λ k → k o< next y ) (cong (λ k → od→ord < k , ord→od y >) oiso ) (lemma0 lt (ω∋nat→ω {1} ))) + odmax0 (h2 {y} lt) = next< (odmax0 lt) (subst (λ k → k o< next y ) (cong (λ k → od→ord < k , ord→od y >) oiso ) (lemma0 lt (ω∋nat→ω {2} ))) -- the set of finite partial functions from ω to 2