Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 118:78fe704c3543
Union done
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 26 Jun 2019 20:32:30 +0900 |
parents | a4c97390d312 |
children | 6e264c78e420 |
files | HOD.agda |
diffstat | 1 files changed, 16 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/HOD.agda Wed Jun 26 08:38:33 2019 +0900 +++ b/HOD.agda Wed Jun 26 20:32:30 2019 +0900 @@ -83,9 +83,9 @@ 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 : Ordinal} → osuc ox o< od→ord x → { oy : Ordinal}→ oy o< ox → osuc oy o< od→ord x - lemma {ox} oox<Ox {oy} oy<ox = ordtrans (osucc oy<ox ) oox<Ox +cseq x = record { def = λ y → def x (osuc y) ; otrans = lemma } where + lemma : {ox : Ordinal} → def x (osuc ox) → { oy : Ordinal}→ oy o< ox → def x (osuc oy) + lemma {ox} oox<Ox {oy} oy<ox = otrans x oox<Ox (osucc oy<ox ) def-subst : {n : Level } {Z : HOD {n}} {X : Ordinal {n} }{z : HOD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x def-subst df refl refl = df @@ -280,7 +280,7 @@ isZF = record { isEquivalence = record { refl = eq-refl ; sym = eq-sym; trans = eq-trans } ; pair = pair - ; union-u = λ _ z _ → csuc z + ; union-u = λ X z UX∋z → union-u {X} {z} UX∋z ; union→ = union→ ; union← = union← ; empty = empty @@ -335,20 +335,18 @@ lemma1 = subst (λ k → od→ord (ZFSubset A k) ≡ od→ord t ) (sym oiso) {!!} lemma : od→ord (ZFSubset A (ord→od (od→ord t)) ) o< sup-o (λ x → od→ord (ZFSubset A (ord→od x))) lemma = sup-o< - union-lemma-u : {X z : HOD {suc n}} → (U>z : Union X ∋ z ) → csuc z ∋ z - union-lemma-u {X} {z} U>z = lemma <-osuc where - lemma : {oz ooz : Ordinal {suc n}} → oz o< ooz → def (ord→od ooz) oz - lemma {oz} {ooz} lt = def-subst {suc n} {ord→od ooz} {!!} refl refl + union-u : {X z : HOD {suc n}} → (U>z : Union X ∋ z ) → HOD {suc n} + union-u {X} {z} U>z = Ord ( osuc ( od→ord z ) ) union→ : (X z u : HOD) → (X ∋ u) ∧ (u ∋ z) → Union X ∋ z - union→ X y u xx with trio< ( od→ord u ) ( osuc ( od→ord y )) - union→ X y u xx | tri< a ¬b ¬c with osuc-< a (c<→o< (proj2 xx)) - union→ X y u xx | tri< a ¬b ¬c | () - union→ X y u xx | tri≈ ¬a b ¬c = lemma b (c<→o< (proj1 xx )) where - lemma : {oX ou ooy : Ordinal {suc n}} → ou ≡ ooy → ou o< oX → ooy o< oX - lemma refl lt = lt - union→ X y u xx | tri> ¬a ¬b c = ordtrans {suc n} {osuc ( od→ord y )} {od→ord u} {od→ord X} c ( c<→o< (proj1 xx )) - union← : (X z : HOD) (X∋z : Union X ∋ z) → (X ∋ csuc z) ∧ (csuc z ∋ z ) - union← X z X∋z = record { proj1 = def-subst {suc n} {_} {_} {X} {od→ord (csuc z )} {!!} oiso (sym diso) ; proj2 = union-lemma-u X∋z } + union→ X z u xx with trio< ( od→ord u ) ( osuc ( od→ord z )) + union→ X z u xx | tri< a ¬b ¬c with osuc-< a (c<→o< (proj2 xx)) + union→ X z u xx | tri< a ¬b ¬c | () + union→ X z u xx | tri≈ ¬a b ¬c = def-subst {suc n} {_} {_} {X} {osuc (od→ord z)} (proj1 xx) refl b where + union→ X z u xx | tri> ¬a ¬b c = otrans X (proj1 xx) c + union← : (X z : HOD) (X∋z : Union X ∋ z) → (X ∋ union-u {X} {z} X∋z ) ∧ (union-u {X} {z} X∋z ∋ z ) + union← X z X∋z = record { proj1 = lemma ; proj2 = <-osuc } where + lemma : X ∋ union-u {X} {z} X∋z + lemma = def-subst {suc n} {_} {_} {X} {od→ord (Ord (osuc ( od→ord z )))} X∋z refl ord-Ord ψiso : {ψ : HOD {suc n} → Set (suc n)} {x y : HOD {suc n}} → ψ x → x ≡ y → ψ y ψiso {ψ} t refl = t selection : {X : HOD } {ψ : (x : HOD ) → Set (suc n)} {y : HOD} → (((y₁ : HOD) → X ∋ y₁ → ψ y₁) ∧ (X ∋ y)) ⇔ (Select X ψ ∋ y) @@ -384,7 +382,7 @@ lemma : {x : HOD {suc n}} → omax (od→ord x) (od→ord (x , x)) ≡ osuc (osuc (od→ord x)) lemma {x} = trans ( sym ( omax< (od→ord x) (od→ord (x , x)) lemma1 ) ) ( cong ( λ k → osuc k ) lemma2 ) uxxx-union : {x : HOD {suc n}} → Union (x , (x , x)) ≡ record { def = λ z → osuc z o< osuc (osuc (od→ord x)) } - uxxx-union {x} = cong ( λ k → record { def = λ z → osuc z o< k ; otrans = {!!} } ) lemma where + uxxx-union {x} = cong ( λ k → record { def = λ z → osuc z o< k ; otrans = {!!} } ) {!!} where lemma : od→ord (x , (x , x)) ≡ osuc (osuc (od→ord x)) lemma = trans ( cong ( λ k → od→ord k ) xxx-union ) {!!} uxxx-2 : {x : HOD {suc n}} → record { def = λ z → osuc z o< osuc (osuc (od→ord x)) } == record { def = λ z → z o< osuc (od→ord x) }