Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1023:52272b5c9d58
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 25 Nov 2022 16:57:33 +0900 |
parents | 1b87669d9b11 |
children | ab72526316bd |
files | src/zorn.agda |
diffstat | 1 files changed, 30 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Fri Nov 25 12:22:22 2022 +0900 +++ b/src/zorn.agda Fri Nov 25 16:57:33 2022 +0900 @@ -535,6 +535,9 @@ z52 : supf (supf b) ≡ supf b z52 = sup=u asupf sfb≤x ⟪ record { x≤sup = z54 } , IsMinSUP→NotHasPrev asupf z54 ( λ ax → proj1 (mf< _ ax)) ⟫ + -- cp : (mf< : <-monotonic-f A f) {b : Ordinal } → b o≤ z → supf b o≤ z → ChainP A f mf ay supf (supf b) + -- the condition of cfcs is satisfied, this is obvious + supf-unique : ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) {y xa xb : Ordinal} → (ay : odef A y) → (xa o≤ xb ) → (za : ZChain A f mf ay xa ) (zb : ZChain A f mf ay xb ) → {z : Ordinal } → z o≤ xa → ZChain.supf za z ≡ ZChain.supf zb z @@ -1114,6 +1117,8 @@ → a o< b → b o≤ x → supf1 a o< b → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 b) w cfcs mf< {a} {b} {w} a<b b≤x sa<b fc with zc43 (supf0 a) px ... | case2 px≤sa = z50 where + a<x : a o< x + a<x = ordtrans<-≤ a<b b≤x a≤px : a o≤ px a≤px = subst (λ k → a o< k) (sym (Oprev.oprev=x op)) (ordtrans<-≤ a<b b≤x) -- supf0 a ≡ px we cannot use previous cfcs, it is in the chain because @@ -1121,10 +1126,20 @@ z50 : odef (UnionCF A f mf ay supf1 b) w z50 with osuc-≡< px≤sa ... | case1 px=sa = ⟪ A∋fc {A} _ f mf fc , ch-is-sup (supf0 px) z51 ? (subst (λ k → FClosure A f k w) z52 fc) ⟫ where + sa≤px : supf0 a o≤ px + sa≤px = subst₂ (λ j k → j o< k) px=sa (sym (Oprev.oprev=x op)) px<x z51 : supf0 px o< b - z51 = ? + z51 = subst (λ k → k o< b ) (sym ( begin supf0 px ≡⟨ cong supf0 px=sa ⟩ + supf0 (supf0 a ) ≡⟨ ZChain.supf-idem zc mf< a≤px sa≤px ⟩ + supf0 a ≡⟨ sym (sf1=sf0 a≤px) ⟩ + supf1 a ∎ )) sa<b where open ≡-Reasoning z52 : supf1 a ≡ supf1 (supf0 px) - z52 = ? + z52 = begin supf1 a ≡⟨ sf1=sf0 a≤px ⟩ + supf0 a ≡⟨ sym (ZChain.supf-idem zc mf< a≤px sa≤px ) ⟩ + supf0 (supf0 a) ≡⟨ sym (sf1=sf0 sa≤px) ⟩ + supf1 (supf0 a) ≡⟨ cong supf1 (sym (ZChain.supf-idem zc mf< a≤px sa≤px )) ⟩ + supf1 (supf0 (supf0 a)) ≡⟨ cong (λ k → supf1 (supf0 k)) (sym px=sa) ⟩ + supf1 (supf0 px) ∎ where open ≡-Reasoning ... | case2 px<sa = ⊥-elim ( ¬p<x<op ⟪ px<sa , subst₂ (λ j k → j o< k ) (sf1=sf0 a≤px) (sym (Oprev.oprev=x op)) z53 ⟫ ) where z53 : supf1 a o< x z53 = ordtrans<-≤ sa<b b≤x @@ -1301,9 +1316,15 @@ -- a ≡ px → supf px ≡ px → odef U w cfcs0 : a ≡ px → odef (UnionCF A f mf ay supf0 b) w - cfcs0 a=px = ⟪ A∋fc {A} _ f mf fc , ch-is-sup (supf0 px) spx<b ? ? ⟫ where + cfcs0 a=px = ⟪ A∋fc {A} _ f mf fc , ch-is-sup (supf0 px) spx<b ? fc1 ⟫ where spx<b : supf0 px o< b - spx<b = ? + spx<b = subst (λ k → supf0 k o< b) a=px sa<b + cs01 : supf0 a ≡ supf0 (supf0 px) + cs01 = trans (cong supf0 a=px) ( sym ( ZChain.supf-idem zc mf< o≤-refl + (subst (λ k → supf0 px o< k ) (sym (Oprev.oprev=x op)) (ordtrans<-≤ spx<b b≤x)))) + fc1 : FClosure A f (supf0 (supf0 px)) w + fc1 = subst (λ k → FClosure A f k w) cs01 fc + cfcs1 : odef (UnionCF A f mf ay supf0 b) w cfcs1 with trio< a px @@ -1316,7 +1337,11 @@ ( ZChain.cfcs zc mf< a<px o≤-refl sa<x fc ) ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , (zc-b<x _ sa<x) ⟫ ) ... | tri≈ ¬a sa=px ¬c with trio< a px - ... | tri< a<px ¬b ¬c = ⟪ A∋fc {A} _ f mf fc , ch-is-sup (supf0 a) sa<b ? ? ⟫ + ... | tri< a<px ¬b ¬c = ⟪ A∋fc {A} _ f mf fc , ch-is-sup (supf0 a) sa<b ? fc1 ⟫ where + cs01 : supf0 a ≡ supf0 (supf0 a) + cs01 = sym ( ZChain.supf-idem zc mf< (zc-b<x _ (ordtrans<-≤ a<b b≤x)) (zc-b<x _ (ordtrans<-≤ sa<b b≤x))) + fc1 : FClosure A f (supf0 (supf0 a)) w + fc1 = subst (λ k → FClosure A f k w) cs01 fc ... | tri≈ ¬a a=px ¬c = cfcs0 a=px ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , (zc-b<x _ (ordtrans<-≤ a<b b≤x) ) ⟫ ) ... | tri≈ ¬a a=px ¬c = cfcs0 a=px