Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 363:aad9249d1e8f
hω2
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 18 Jul 2020 10:36:32 +0900 |
parents | 8a430df110eb |
children | 67580311cc8e |
files | OD.agda OPair.agda filter.agda zf-in-agda.ind |
diffstat | 4 files changed, 90 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/OD.agda Fri Jul 17 18:57:40 2020 +0900 +++ b/OD.agda Sat Jul 18 10:36:32 2020 +0900 @@ -106,6 +106,16 @@ postulate odAxiom : ODAxiom open ODAxiom odAxiom +-- odmax minimality +-- +-- since we have ==→o≡ , so odmax have to be unique. We should have odmaxmin in HOD. +-- We can calculate the minimum using sup but it is tedius. +-- Only Select has non minimum odmax. +-- We have the same problem on 'def' itself, but we leave it. + +odmaxmin : Set (suc n) +odmaxmin = (y : HOD) (z : Ordinal) → ((x : Ordinal)→ def (od y) x → x o< z) → odmax y o< osuc z + -- possible order restriction hod-ord< : {x : HOD } → Set n hod-ord< {x} = od→ord x o< next (odmax x) @@ -320,16 +330,17 @@ HOD→ZF = record { ZFSet = HOD ; _∋_ = _∋_ - ; _≈_ = _=h=_ + ; _≈_ = hod→zf._=h=_ ; ∅ = od∅ ; _,_ = _,_ - ; Union = Union - ; Power = Power - ; Select = Select - ; Replace = Replace - ; infinite = infinite - ; isZF = isZF + ; Union = hod→zf.Union + ; Power = hod→zf.Power + ; Select = hod→zf.Select + ; Replace = hod→zf.Replace + ; infinite = hod→zf.infinite + ; isZF = hod→zf.isZF } where + module hod→zf where ZFSet = HOD -- is less than Ords because of maxod Select : (X : HOD ) → ((x : HOD ) → Set n ) → HOD Select X ψ = record { od = record { def = λ x → ( odef X x ∧ ψ ( ord→od x )) } ; odmax = odmax X ; <odmax = λ y → <odmax X (proj1 y) } @@ -410,7 +421,16 @@ 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)) - + + nat→ω : Nat → HOD + nat→ω Zero = od∅ + nat→ω (Suc y) = Union (nat→ω y , (nat→ω y , nat→ω y)) + + ω→nat : (n : HOD) → infinite ∋ n → Nat + ω→nat n = lemma where + lemma : {y : Ordinal} → infinite-d y → Nat + lemma iφ = Zero + lemma (isuc lt) = Suc (lemma lt) _=h=_ : (x y : HOD) → Set n x =h= y = od x == od y @@ -656,4 +676,6 @@ Power = ZF.Power HOD→ZF Select = ZF.Select HOD→ZF Replace = ZF.Replace HOD→ZF +infinite = ZF.infinite HOD→ZF isZF = ZF.isZF HOD→ZF +
--- a/OPair.agda Fri Jul 17 18:57:40 2020 +0900 +++ b/OPair.agda Sat Jul 18 10:36:32 2020 +0900 @@ -1,3 +1,5 @@ +{-# OPTIONS --allow-unsolved-metas #-} + open import Level open import Ordinals module OPair {n : Level } (O : Ordinals {n}) where
--- a/filter.agda Fri Jul 17 18:57:40 2020 +0900 +++ b/filter.agda Sat Jul 18 10:36:32 2020 +0900 @@ -6,14 +6,14 @@ open import logic import OD -open import Relation.Nullary -open import Relation.Binary -open import Data.Empty +open import Relation.Nullary +open import Relation.Binary +open import Data.Empty open import Relation.Binary open import Relation.Binary.Core -open import Relation.Binary.PropositionalEquality +open import Relation.Binary.PropositionalEquality open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ ) -import BAlgbra +import BAlgbra open BAlgbra O @@ -131,13 +131,6 @@ dense-d : { p : HOD} → P ∋ p → dense ∋ dense-f p dense-p : { p : HOD} → P ∋ p → p ⊆ (dense-f p) --- the set of finite partial functions from ω to 2 --- --- ph2 : Nat → Set → 2 --- ph2 : Nat → Maybe 2 --- --- Hω2 : Filter (Power (Power infinite)) - record Ideal ( L : HOD ) : Set (suc n) where field ideal : HOD @@ -153,3 +146,45 @@ 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 + +ODSuc : (y : HOD) → infinite ∋ y → HOD +ODSuc y lt = Union (y , (y , y)) + +nat→ω : Nat → HOD +nat→ω Zero = od∅ +nat→ω (Suc y) = Union (nat→ω y , (nat→ω y , nat→ω y)) + +data Hω2 : ( x : Ordinal ) → Set n where + hφ : Hω2 o∅ + h0 : {x : Ordinal } → Hω2 x → + Hω2 (od→ord < nat→ω 0 , ord→od x >) + h1 : {x : Ordinal } → Hω2 x → + Hω2 (od→ord < nat→ω 1 , ord→od x >) + h2 : {x : Ordinal } → Hω2 x → + Hω2 (od→ord < nat→ω 2 , ord→od x >) + +HODω2 : HOD +HODω2 = record { od = record { def = λ x → Hω2 x } ; odmax = {!!} ; <odmax = {!!} } + +-- the set of finite partial functions from ω to 2 + +data Two : Set n where + i0 : Two + i1 : Two + +Hω2f : Set (suc n) +Hω2f = (Nat → Set n) → Two + +Hω2f→Hω2 : Hω2f → HOD +Hω2f→Hω2 p = record { od = record { def = λ x → (p {!!} ≡ i0 ) ∨ (p {!!} ≡ i1 )}; odmax = {!!} ; <odmax = {!!} } + +
--- a/zf-in-agda.ind Fri Jul 17 18:57:40 2020 +0900 +++ b/zf-in-agda.ind Sat Jul 18 10:36:32 2020 +0900 @@ -811,6 +811,17 @@ odef-iso : {A B : HOD } {x y : Ordinal } → x ≡ y → (def A (od y) → def (od B) y) → def (od A) x → def (od B) x odef-iso refl t = t +--The uniqueness of HOD + +To prove extensionality or other we need ==→o≡. + +Since we have ==→o≡ , so odmax have to be unique. We should have odmaxmin in HOD. +We can calculate the minimum using sup if we have bound but it is tedius. +Only Select has non minimum odmax. +We have the same problem on 'def' itself, but we leave it, that is we assume the +assumption of predicates of Agda have a unique form, it is something like the +functional extensionality assumption. + --Validity of Axiom of Extensionality If we can derive (w ∋ A) ⇔ (w ∋ B) from od A == od B, the axiom becomes valid, but it seems impossible, @@ -915,7 +926,6 @@ sup-o : (A : HOD) → ( ( x : Ordinal ) → def (od A) x → Ordinal ) → Ordinal sup-o< : (A : HOD) → { ψ : ( x : Ordinal ) → def (od A) x → Ordinal } → ∀ {x : Ordinal } → (lt : def (od A) x ) → ψ x lt o< sup-o A ψ - --Axiom which have negation form Union, Selection