Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 69:93abc0133b8a
union continue
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 31 May 2019 22:30:23 +0900 |
parents | c69657d00557 |
children | cd9cf8b09610 |
files | ordinal-definable.agda zf.agda |
diffstat | 2 files changed, 25 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/ordinal-definable.agda Thu May 30 02:31:58 2019 +0900 +++ b/ordinal-definable.agda Fri May 31 22:30:23 2019 +0900 @@ -106,13 +106,13 @@ def-subst : {n : Level } {Z : OD {n}} {X : Ordinal {n} }{z : OD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x def-subst df refl refl = df -transitive : {n : Level } { z y x : OD {n} } → z ∋ y → y ∋ x → z ∋ x -transitive {n} {z} {y} {x} z∋y x∋y with ordtrans ( c<→o< {n} {x} {y} x∋y ) ( c<→o< {n} {y} {z} z∋y ) +transitive : {n : Level } { z y x : OD {suc n} } → z ∋ y → y ∋ x → z ∋ x +transitive {n} {z} {y} {x} z∋y x∋y with ordtrans ( c<→o< {suc n} {x} {y} x∋y ) ( c<→o< {suc n} {y} {z} z∋y ) ... | t = lemma0 (lemma t) where lemma : ( od→ord x ) o< ( od→ord z ) → def ( ord→od ( od→ord z )) ( od→ord ( ord→od ( od→ord x ))) lemma xo<z = o<→c< xo<z lemma0 : def ( ord→od ( od→ord z )) ( od→ord ( ord→od ( od→ord x ))) → def z (od→ord x) - lemma0 dz = def-subst {n} { ord→od ( od→ord z )} { od→ord ( ord→od ( od→ord x))} dz (oiso) (diso) + lemma0 dz = def-subst {suc n} { ord→od ( od→ord z )} { od→ord ( ord→od ( od→ord x))} dz (oiso) (diso) record Minimumo {n : Level } (x : Ordinal {n}) : Set (suc n) where field @@ -279,7 +279,9 @@ lemma1 = cong ( λ k → od→ord k ) o∅→od∅ 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 )) @@ -310,7 +312,7 @@ _,_ : OD {suc n} → OD {suc n} → OD {suc n} x , y = record { def = λ z → ( (z ≡ od→ord x ) ∨ ( z ≡ od→ord y )) } Union : OD {suc n} → OD {suc n} - Union x = record { def = λ y → {z : Ordinal {suc n}} → def x z → def (ord→od z) y } + Union U = record { def = λ y → y o< (od→ord U) } Power : OD {suc n} → OD {suc n} Power x = record { def = λ y → (z : Ordinal {suc n} ) → ( def x y ∧ def (ord→od z) y ) } ZFSet = OD {suc n} @@ -329,8 +331,8 @@ isZF = record { isEquivalence = record { refl = eq-refl ; sym = eq-sym; trans = eq-trans } ; pair = pair - ; union→ = {!!} - ; union← = {!!} + ; union-u = {!!} + ; union-iso = {!!} ; empty = empty ; power→ = {!!} ; power← = {!!} @@ -349,8 +351,18 @@ proj2 (pair A B ) = case2 refl empty : (x : OD {suc n} ) → ¬ (od∅ ∋ x) empty x () - union→ : (X x y : OD) → X ∋ x → x ∋ y → Union X ∋ y - union→ X x y X∋x x∋y {z} X∋z = {!!} -- transitive {suc n} {X} {x} {y} X∋x x∋y + union→ : (X x y : OD {suc n}) → X ∋ x → x ∋ y → Union X ∋ y + union→ X x y X∋x x∋y = c<→o< (transitive {n} {X} {x} {y} X∋x x∋y ) + union-u : (X z : OD {suc n}) → OD {suc n} + union-u X z = record { def = ( λ u → (u o< od→ord X) ∧ (od→ord z o< u) ) } + union-iso : (X z : OD {suc n}) → (Union X ∋ z) ⇔ ((Union X ∋ union-u X z ) ∧ (union-u X z ∋ z)) + -- ((x : OD) → (z ∋ x → y ∋ x)) → y ∋ z + proj1 ( union-iso X z ) U∋z = record { proj1 = U∋u ; proj2 = u∋z } where + U∋u : Union X ∋ union-u X z + U∋u = {!!} + u∋z : union-u X z ∋ z + u∋z = {!!} + proj2 (union-iso X z ) U∋u∧U∋z = transitive {n} {!!} {!!} -- (proj1 U∋u∧U∋z ) (proj2 U∋u∧U∋z ) ψiso : {ψ : OD {suc n} → Set (suc n)} {x y : OD {suc n}} → ψ x → x ≡ y → ψ y ψiso {ψ} t refl = t selection : {ψ : OD → Set (suc n)} {X y : OD} → ((X ∋ y) ∧ ψ y) ⇔ (Select X ψ ∋ y)
--- a/zf.agda Thu May 30 02:31:58 2019 +0900 +++ b/zf.agda Fri May 31 22:30:23 2019 +0900 @@ -49,9 +49,9 @@ isEquivalence : IsEquivalence {n} {m} {ZFSet} _≈_ -- ∀ x ∀ y ∃ z(x ∈ z ∧ y ∈ z) pair : ( A B : ZFSet ) → ( (A , B) ∋ A ) ∧ ( (A , B) ∋ B ) - -- ∀ X ∃ A∀ t(t ∈ A ⇔ ∃ x ∈ X(t ∈ x)) - union→ : ( X x y : ZFSet ) → X ∋ x → x ∋ y → Union X ∋ y - union← : ( X x y : ZFSet ) → Union X ∋ y → X ∋ x → x ∋ y + -- ∀ x ∃ y ∀ z (z ∈ y ⇔ ∃ u ∈ x ∧ (z ∈ u)) + union-u : ( y z : ZFSet ) → ZFSet + union-iso : ( X z : ZFSet ) → (Union X ∋ z ) ⇔ ((Union X ∋ union-u X z ) ∧ (union-u X z ∋ z )) _∈_ : ( A B : ZFSet ) → Set m A ∈ B = B ∋ A _⊆_ : ( A B : ZFSet ) → ∀{ x : ZFSet } → Set m @@ -69,7 +69,7 @@ power→ : ∀( A t : ZFSet ) → Power A ∋ t → ∀ {x} → _⊆_ t A {x} 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 z : ZFSet ) → (( A ∋ z ) ⇔ (B ∋ z) ) → A ≈ B + extensionality : { A B z : ZFSet } → (( A ∋ z ) ⇔ (B ∋ z) ) → A ≈ B -- regularity : ∀ x ( x ≠ ∅ → ∃ y ∈ x ( y ∩ x = ∅ ) ) minimul : (x : ZFSet ) → ¬ (x ≈ ∅) → ZFSet regularity : ∀( x : ZFSet ) → (not : ¬ (x ≈ ∅)) → ( minimul x not ∈ x ∧ ( minimul x not ∩ x ≈ ∅ ) )