Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 77:75ba8cf64707
Power Set on going ...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 02 Jun 2019 15:12:26 +0900 |
parents | 8e8f54e7a030 |
children | 9a7a64b2388c |
files | ordinal-definable.agda zf.agda |
diffstat | 2 files changed, 10 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- a/ordinal-definable.agda Sun Jun 02 11:56:43 2019 +0900 +++ b/ordinal-definable.agda Sun Jun 02 15:12:26 2019 +0900 @@ -283,15 +283,6 @@ lemma o∅ ne | yes refl | () lemma ox ne | no ¬p = subst ( λ k → def (ord→od ox) (od→ord k) ) o∅→od∅ (o<→c< (∅5 ¬p)) --- ∃-set : {n : Level} → ( x : OD {suc n} ) → ( ψ : OD {suc n} → Set (suc n) ) → Set (suc n) --- ∃-set = {!!} - --- postulate f-extensionality : { n : Level} → Relation.Binary.PropositionalEquality.Extensionality (suc (suc n)) (suc (suc n )) - --- ==∅→≡ : {n : Level} → { x : OD {suc n} } → ( x == od∅ {suc n} ) → x ≡ od∅ {suc n} --- ==∅→≡ {n} {x} eq = cong ( λ k → record { def = k } ) (trans {!!} ∅-base-def ) where - - open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ ) OD→ZF : {n : Level} → ZF {suc (suc n)} {suc n} @@ -316,8 +307,9 @@ x , y = record { def = λ z → ( (z ≡ od→ord x ) ∨ ( z ≡ od→ord y )) } Union : OD {suc n} → OD {suc n} Union U = record { def = λ y → osuc y o< (od→ord U) } + -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x ) Power : OD {suc n} → OD {suc n} - Power x = record { def = λ y → (z : Ordinal {suc n} ) → ( def x y ∧ def (ord→od z) y ) } + Power X = record { def = λ y → ∀ (x : Ordinal {suc n} ) → ( def X x ∧ def (ord→od y) x ) } ZFSet = OD {suc n} _∈_ : ( A B : ZFSet ) → Set (suc n) A ∈ B = B ∋ A @@ -355,16 +347,14 @@ proj2 (pair A B ) = case2 refl empty : (x : OD {suc n} ) → ¬ (od∅ ∋ x) empty x () - -- Power x = record { def = λ y → (z : Ordinal {suc n} ) → ( def x y ∧ def (ord→od z) y ) } + --- Power X = record { def = λ y → ∀ (x : Ordinal {suc n} ) → ( def X x ∧ def (ord→od y) x ) } power→ : (A t : OD) → Power A ∋ t → {x : OD} → t ∋ x → A ∋ x - power→ A t P∋t {x} t∋x = transitive {n} {A} {t} {x} lemma t∋x where - lemma : A ∋ t - lemma = proj1 (P∋t (od→ord x )) - power← : (A t : OD) {x : OD} → (t ∋ x → A ∋ x) → Power A ∋ t - power← A t {x} t→A y = record { proj1 = lemma1 ; proj2 = lemma2 } where - lemma1 : def A (od→ord t) + power→ A t P∋t {x} t∋x = proj1 (P∋t (od→ord x) ) + power← : (A t : OD) → ({x : OD} → (t ∋ x → A ∋ x)) → Power A ∋ t + power← A t t→A z = record { proj1 = lemma2 ; proj2 = lemma1 } where + lemma1 : def (ord→od (od→ord t)) z lemma1 = {!!} - lemma2 : def (ord→od y) (od→ord t) + lemma2 : def A z lemma2 = {!!} union-u : (X z : OD {suc n}) → Union X ∋ z → OD {suc n} union-u X z U>z = ord→od ( osuc ( od→ord z ) )
--- a/zf.agda Sun Jun 02 11:56:43 2019 +0900 +++ b/zf.agda Sun Jun 02 15:12:26 2019 +0900 @@ -11,23 +11,15 @@ proj1 : A proj2 : B -open _∧_ - - data _∨_ {n m : Level} (A : Set n) ( B : Set m ) : Set (n ⊔ m) where case1 : A → A ∨ B case2 : B → A ∨ B --- open import Relation.Binary.PropositionalEquality - _⇔_ : {n : Level } → ( A B : Set n ) → Set n -_⇔_ A B = ( A → B ) ∧ ( B → A ) +_⇔_ A B = ( A → B ) ∧ ( B → A ) -open import Data.Empty open import Relation.Nullary - open import Relation.Binary -open import Relation.Binary.Core infixr 130 _∧_ infixr 140 _∨_ @@ -68,7 +60,7 @@ empty : ∀( x : ZFSet ) → ¬ ( ∅ ∋ x ) -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ t ⊆ X ) ) power→ : ∀( A t : ZFSet ) → Power A ∋ t → ∀ {x} → _⊆_ t A {x} - power← : ∀( A t : ZFSet ) → ∀ {x} → _⊆_ t A {x} → Power A ∋ t + power← : ∀( A t : ZFSet ) → ( ∀ {x} → _⊆_ t A {x}) → Power A ∋ t -- extensionality : ∀ z ( z ∈ x ⇔ z ∈ y ) ⇒ ∀ w ( x ∈ w ⇔ y ∈ w ) extensionality : { A B : ZFSet } → ( (z : ZFSet) → ( A ∋ z ) ⇔ (B ∋ z) ) → A ≈ B -- regularity : ∀ x ( x ≠ ∅ → ∃ y ∈ x ( y ∩ x = ∅ ) ) @@ -99,20 +91,3 @@ infinite : ZFSet isZF : IsZF ZFSet _∋_ _≈_ ∅ _,_ Union Power Select Replace infinite -module zf-exapmle {n m : Level } ( zf : ZF {m} {n} ) where - - _≈_ = ZF._≈_ zf - ZFSet = ZF.ZFSet zf - Select = ZF.Select zf - ∅ = ZF.∅ zf - _∩_ = ( IsZF._∩_ ) (ZF.isZF zf) - _∋_ = ZF._∋_ zf - replacement = IsZF.replacement ( ZF.isZF zf ) - selection = IsZF.selection ( ZF.isZF zf ) - minimul = IsZF.minimul ( ZF.isZF zf ) - regularity = IsZF.regularity ( ZF.isZF zf ) - --- russel : Select ( λ x → x ∋ x ) ≈ ∅ --- russel with Select ( λ x → x ∋ x ) --- ... | s = {!!} -