Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1065:e053ad9c1afb
equal case
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 Dec 2022 23:14:22 +0900 |
parents | 77740070e008 |
children | 86f6cc26e315 |
files | src/zorn.agda |
diffstat | 1 files changed, 32 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Mon Dec 12 18:55:31 2022 +0900 +++ b/src/zorn.agda Mon Dec 12 23:14:22 2022 +0900 @@ -1309,12 +1309,16 @@ ichain-inject : {a b : Ordinal } {ia : IChain ay supfz a } {ib : IChain ay supfz b } → ZChain.supf (pzc (pic<x ia)) (IChain-i ia) o< ZChain.supf (pzc (pic<x ib)) (IChain-i ib) → IChain-i ia o< IChain-i ib - ichain-inject {a} {b} {ia} {ib} sa<sb = osucprev ( begin - osuc (IChain-i ia) ≤⟨ osucc ( ZChain.supf-inject (pzc (pic<x ib)) (osucprev ( begin - osuc (ZChain.supf (pzc (pic<x ib)) (IChain-i ia)) ≡⟨ cong osuc ( zeq _ _ ? ?) ⟩ - osuc (ZChain.supf (pzc (pic<x ia)) (IChain-i ia)) ≤⟨ osucc sa<sb ⟩ - ZChain.supf (pzc (pic<x ib)) (IChain-i ib) ∎ ))) ⟩ - IChain-i ib ∎ ) where open o≤-Reasoning O + ichain-inject {a} {b} {ia} {ib} sa<sb = uz11 where + uz11 : IChain-i ia o< IChain-i ib + uz11 with trio< (IChain-i ia ) (IChain-i ib) + ... | tri< a ¬b ¬c = a + ... | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ (trans (zeq _ _ (o≤-refl0 (cong osuc b)) (o<→≤ <-osuc) ) + ( cong (ZChain.supf (pzc (pic<x ib))) b )) sa<sb ) + ... | tri> ¬a ¬b c = ⊥-elim ( o≤> ( begin + ZChain.supf (pzc (pic<x ib)) (IChain-i ib) ≡⟨ zeq _ _ (o<→≤ (osucc c)) (o<→≤ <-osuc) ⟩ + ZChain.supf (pzc (pic<x ia)) (IChain-i ib) ≤⟨ ZChain.supf-mono (pzc (pic<x ia)) (o<→≤ c) ⟩ + ZChain.supf (pzc (pic<x ia)) (IChain-i ia) ∎ ) sa<sb ) where open o≤-Reasoning O ptotalx : IsTotalOrderSet pchainx ptotalx {a} {b} ia ib with trio< (ZChain.supf (pzc (pic<x (proj2 ia))) (IChain-i (proj2 ia))) @@ -1324,20 +1328,36 @@ uz01 with pchainx⊆chain ia ... | ⟪ ai , ch-init fc ⟫ = ZChain.f-total (pzc (pic<x (proj2 ib))) ⟪ ai , ch-init fc ⟫ (pchainx⊆chain ib) ... | ⟪ ai , ch-is-sup u u<x su=u fc ⟫ = ZChain.f-total (pzc (pic<x (proj2 ib))) ⟪ ai , ch-is-sup u uz02 uz03 uz04 ⟫ (pchainx⊆chain ib) where - uz05 : IChain-i (proj2 ia) o< IChain-i (proj2 ib) - uz05 = ichain-inject {_} {_} {proj2 ia} {proj2 ib} ia<ib + a<b : IChain-i (proj2 ia) o< IChain-i (proj2 ib) + a<b = ichain-inject {_} {_} {proj2 ia} {proj2 ib} ia<ib uz02 : u o< osuc (IChain-i (proj2 ib)) - uz02 = ordtrans<-≤ u<x ? + uz02 = ordtrans<-≤ u<x (o<→≤ (osucc a<b)) uz03 : ZChain.supf (pzc (pic<x (proj2 ib))) u ≡ u - uz03 = trans ( zeq _ _ ? ? ) su=u + uz03 = trans (sym ( zeq _ _ (o<→≤ (osucc a<b)) (o<→≤ u<x) )) su=u uz04 : FClosure A f (ZChain.supf (pzc (pic<x (proj2 ib))) u) (& a) - uz04 = subst (λ k → FClosure A f k (& a)) ? fc + uz04 = subst (λ k → FClosure A f k (& a)) ( zeq _ _ (o<→≤ (osucc a<b)) (o<→≤ u<x) ) fc ... | tri≈ ¬a ia=ib ¬c = uz01 where uz01 : Tri (a < b) (a ≡ b) (b < a ) uz01 with pchainx⊆chain ia ... | ⟪ ai , ch-init fc ⟫ = ZChain.f-total (pzc (pic<x (proj2 ib))) ⟪ ai , ch-init fc ⟫ (pchainx⊆chain ib) ... | ⟪ ai , ch-is-sup u u<x su=u fc ⟫ = ZChain.f-total (pzc (pic<x (proj2 ib))) ⟪ ai , ch-is-sup u ? ? ? ⟫ (pchainx⊆chain ib) - ... | tri> ¬a ¬b ib<ia = ? + uz02 : u o< osuc (IChain-i (proj2 ia)) + uz02 = ? + uz04 : FClosure A f (ZChain.supf (pzc (pic<x (proj2 ib))) u) (& a) + uz04 = subst (λ k → FClosure A f k (& a)) ? fc + ... | tri> ¬a ¬b ib<ia = uz01 where + uz01 : Tri (a < b) (a ≡ b) (b < a ) + uz01 with pchainx⊆chain ib + ... | ⟪ bi , ch-init fc ⟫ = ZChain.f-total (pzc (pic<x (proj2 ia))) (pchainx⊆chain ia) ⟪ bi , ch-init fc ⟫ + ... | ⟪ bi , ch-is-sup u u<x su=u fc ⟫ = ZChain.f-total (pzc (pic<x (proj2 ia))) (pchainx⊆chain ia) ⟪ bi , ch-is-sup u uz02 uz03 uz04 ⟫ where + b<a : IChain-i (proj2 ib) o< IChain-i (proj2 ia) + b<a = ichain-inject {_} {_} {proj2 ib} {proj2 ia} ib<ia + uz02 : u o< osuc (IChain-i (proj2 ia)) + uz02 = ordtrans<-≤ u<x (o<→≤ (osucc b<a)) + uz03 : ZChain.supf (pzc (pic<x (proj2 ia))) u ≡ u + uz03 = trans (sym ( zeq _ _ (o<→≤ (osucc b<a)) (o<→≤ u<x) )) su=u + uz04 : FClosure A f (ZChain.supf (pzc (pic<x (proj2 ia))) u) (& b) + uz04 = subst (λ k → FClosure A f k (& b)) ( zeq _ _ (o<→≤ (osucc b<a)) (o<→≤ u<x) ) fc usup : MinSUP A pchainx usup = minsupP pchainx (λ ic → ? ) ptotalx