Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 480:6c22ee73ff06
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 03 Apr 2022 17:53:13 +0900 |
parents | fea0c2454b85 |
children | 263d2d1a000e |
files | src/BAlgbra.agda src/ODUtil.agda src/filter.agda |
diffstat | 3 files changed, 44 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/BAlgbra.agda Sun Apr 03 11:34:01 2022 +0900 +++ b/src/BAlgbra.agda Sun Apr 03 17:53:13 2022 +0900 @@ -57,6 +57,13 @@ [a-b]∩b=0 {A} {B} = ==→o≡ record { eq← = λ lt → ⊥-elim ( ¬∅∋ (subst (λ k → odef od∅ k) (sym &iso) lt )) ; eq→ = λ {x} lt → ⊥-elim (proj2 (proj1 lt ) (proj2 lt)) } +U-F=∅→F⊆U : {F U : HOD} → ((x : Ordinal) → ¬ ( odef F x ∧ ( ¬ odef U x ))) → F ⊆ U +U-F=∅→F⊆U {F} {U} not = record { incl = gt02 } where + gt02 : { x : Ordinal } → odef F x → odef U x + gt02 {x} fx with ODC.∋-p O U (* x) + ... | yes y = subst (λ k → odef U k ) &iso y + ... | no n = ⊥-elim ( not x ⟪ fx , subst (λ k → ¬ odef U k ) &iso n ⟫ ) + ∪-Union : { A B : HOD } → Union (A , B) ≡ ( A ∪ B ) ∪-Union {A} {B} = ==→o≡ ( record { eq→ = lemma1 ; eq← = lemma2 } ) where lemma1 : {x : Ordinal} → odef (Union (A , B)) x → odef (A ∪ B) x
--- a/src/ODUtil.agda Sun Apr 03 11:34:01 2022 +0900 +++ b/src/ODUtil.agda Sun Apr 03 17:53:13 2022 +0900 @@ -66,6 +66,10 @@ od⊆→o≤ : {x y : HOD } → x ⊆ y → & x o< osuc (& y) od⊆→o≤ {x} {y} lt = ⊆→o≤ {x} {y} (λ {z} x>z → subst (λ k → def (od y) k ) &iso (incl lt (d→∋ x x>z))) +⊆→= : {F U : HOD} → F ⊆ U → U ⊆ F → F =h= U +⊆→= {F} {U} FU UF = record { eq→ = λ {x} lt → subst (λ k → odef U k) &iso (incl FU (subst (λ k → odef F k) (sym &iso) lt) ) + ; eq← = λ {x} lt → subst (λ k → odef F k) &iso (incl UF (subst (λ k → odef U k) (sym &iso) lt) ) } + subset-lemma : {A x : HOD } → ( {y : HOD } → x ∋ y → (A ∩ x ) ∋ y ) ⇔ ( x ⊆ A ) subset-lemma {A} {x} = record { proj1 = λ lt → record { incl = λ x∋z → proj1 (lt x∋z) }
--- a/src/filter.agda Sun Apr 03 11:34:01 2022 +0900 +++ b/src/filter.agda Sun Apr 03 17:53:13 2022 +0900 @@ -179,7 +179,7 @@ field mf : Filter LP proper : ¬ (filter mf ∋ od∅) - is-maximum : ( f : Filter LP ) → ¬ ( filter mf ⊆ filter f ) + is-maximum : ( f : Filter LP ) → ¬ (filter f ∋ od∅) → ¬ ( (¬ filter mf ≡ filter f ) ∧ (filter mf ⊆ filter f )) max→ultra : {L P : HOD} (LP : L ⊆ Power P) → (mx : MaximumFilter LP ) → ultra-filter ( MaximumFilter.mf mx ) max→ultra {L} {P} LP mx = record { proper = MaximumFilter.proper mx ; ultra = ultra } where @@ -189,18 +189,43 @@ ... | yes y = case1 y ... | no np with ∋-p (filter mf) (P \ p) ... | yes y = case2 y - ... | no n-p = ⊥-elim (MaximumFilter.is-maximum mx FisFilter {!!} ) where + ... | no n-p = ⊥-elim (MaximumFilter.is-maximum mx FisFilter FisProper ⟪ {!!} , record { incl = FisGreater } ⟫ ) where Y : (y : Ordinal) → (my : odef (filter mf) y ) → HOD Y y my = record { od = record { def = λ x → (x ≡ y) ∨ (x ≡ & p) } ; odmax = & L ; <odmax = {!!} } F : HOD F = record { od = record { def = λ x → (x ≡ & p) ∨ ((y : Ordinal) → (my : odef (filter mf) y ) → x ≡ & (Y y my) ) } ; odmax = & L ; <odmax = {!!} } FisFilter : Filter LP FisFilter = record { filter = F ; f⊆L = {!!} ; filter1 = {!!} ; filter2 = {!!} } + FisGreater : {x : HOD} → filter (MaximumFilter.mf mx) ∋ x → filter FisFilter ∋ x + FisGreater = {!!} + FisProper : ¬ (filter FisFilter ∋ od∅) + FisProper = {!!} -ultra→max : {L P : HOD} (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p)) → (F U : Filter LP) → ultra-filter U → ¬ filter U ⊆ filter F -ultra→max {L} {P} LP NG F U u U⊆F = {!!} where - max : {x : HOD} → filter F ∋ x → filter U ∋ x - max {x} fx with ultra-filter.ultra u {x} (incl (f⊆L F) fx) (NG (incl (f⊆L F) fx)) - ... | case1 ux = ux - ... | case2 u-x = {!!} +open _==_ + +open import Relation.Binary.Definitions + +ultra→max : {L P : HOD} (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p)) → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q)) + → (F U : Filter LP) → ¬ (filter F ∋ od∅) → ultra-filter U → ¬ filter U ≡ filter F → ¬ (filter U ⊆ filter F ) +ultra→max {L} {P} LP NG CAP F U Prop u U≠F U⊆F = ⊥-elim ( Prop f0 ) where + GT : HOD + GT = record { od = record { def = λ x → odef (filter F) x ∧ (¬ odef (filter U) x) } ; odmax = {!!} ; <odmax = {!!} } + GT≠∅ : ¬ (GT =h= od∅) + GT≠∅ eq = ⊥-elim (U≠F ( ==→o≡ (⊆→= U⊆F (U-F=∅→F⊆U gt01)))) where + gt01 : (x : Ordinal) → ¬ odef (filter F) x ∧ (¬ odef (filter U) x) + gt01 x not = ¬x<0 ( eq→ eq not ) + p : HOD + p = ODC.minimal O GT GT≠∅ + ¬U∋p : ¬ ( filter U ∋ p ) + ¬U∋p = proj2 (ODC.x∋minimal O GT GT≠∅) + U∋-p : filter U ∋ ( P \ p ) + U∋-p with ultra-filter.ultra u {p} {!!} {!!} + ... | case1 ux = ⊥-elim ( ¬U∋p ux ) + ... | case2 u-x = u-x + F∋p : filter F ∋ p + F∋p = proj1 (ODC.x∋minimal O GT GT≠∅) + F∋-p : filter F ∋ ( P \ p ) + F∋-p = incl U⊆F U∋-p + f0 : filter F ∋ od∅ + f0 = subst (λ k → odef (filter F) k ) (trans (cong (&) ∩-comm) (cong (&) [a-b]∩b=0 ) ) ( filter2 F F∋p F∋-p ( CAP {!!} {!!}) )