Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/zorn.agda @ 852:a28bb57c88e6
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 06 Sep 2022 01:18:54 +0900 |
parents | 717b8c3f55c9 |
children | 2569ace27176 |
comparison
equal
deleted
inserted
replaced
851:717b8c3f55c9 | 852:a28bb57c88e6 |
---|---|
769 supf0=1 {px} {z} z≤px with trio< z px | 769 supf0=1 {px} {z} z≤px with trio< z px |
770 ... | tri< a ¬b ¬c = refl | 770 ... | tri< a ¬b ¬c = refl |
771 ... | tri≈ ¬a b ¬c = refl | 771 ... | tri≈ ¬a b ¬c = refl |
772 ... | tri> ¬a ¬b c = ⊥-elim ( o≤> z≤px c ) | 772 ... | tri> ¬a ¬b c = ⊥-elim ( o≤> z≤px c ) |
773 | 773 |
774 supfx : {z : Ordinal } → z ≡ x → supf0 px ≡ supf1 px z | |
775 supfx {z} z=x with trio< z px | |
776 ... | tri< a ¬b ¬c = ⊥-elim ( o<¬≡ z=x (subst (λ k → z o< k ) (Oprev.oprev=x op) (ordtrans a <-osuc ))) | |
777 ... | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ z=x (subst (λ k → k o< x ) (sym b) (pxo<x op))) | |
778 ... | tri> ¬a ¬b c = refl | |
779 | |
774 supf∈A : {b : Ordinal} → b o≤ x → odef A (supf1 px b) | 780 supf∈A : {b : Ordinal} → b o≤ x → odef A (supf1 px b) |
775 supf∈A {b} b≤z with trio< b px | 781 supf∈A {b} b≤z with trio< b px |
776 ... | tri< a ¬b ¬c = proj1 ( ZChain.csupf zc (o<→≤ a )) | 782 ... | tri< a ¬b ¬c = proj1 ( ZChain.csupf zc (o<→≤ a )) |
777 ... | tri≈ ¬a b ¬c = proj1 ( ZChain.csupf zc (o≤-refl0 b )) | 783 ... | tri≈ ¬a b ¬c = proj1 ( ZChain.csupf zc (o≤-refl0 b )) |
778 ... | tri> ¬a ¬b c = proj1 ( ZChain.csupf zc o≤-refl ) | 784 ... | tri> ¬a ¬b c = proj1 ( ZChain.csupf zc o≤-refl ) |
892 zcsup : xSUP (UnionCF A f mf ay supf0 px) x | 898 zcsup : xSUP (UnionCF A f mf ay supf0 px) x |
893 zcsup with zc30 | 899 zcsup with zc30 |
894 ... | refl = record { ax = ab ; is-sup = record { x<sup = λ {w} lt → | 900 ... | refl = record { ax = ab ; is-sup = record { x<sup = λ {w} lt → |
895 IsSup.x<sup is-sup (subst (λ k → odef k w) pchain0=1 lt) } } | 901 IsSup.x<sup is-sup (subst (λ k → odef k w) pchain0=1 lt) } } |
896 csupf : {b : Ordinal} → b o≤ x → odef (UnionCF A f mf ay (supf1 px) (supf1 px b)) (supf1 px b) | 902 csupf : {b : Ordinal} → b o≤ x → odef (UnionCF A f mf ay (supf1 px) (supf1 px b)) (supf1 px b) |
897 csupf {b} b≤x = ⟪ zc01 , ch-is-sup u o≤-refl | 903 csupf {b} b≤x = zc05 where |
898 record { fcy<sup = fcy<sup ; order = order ; supu=u = supu=u } fc ⟫ where | |
899 csupf0 : b o≤ px → odef (UnionCF A f mf ay supf0 (supf1 px b)) (supf1 px b) | |
900 csupf0 b≤px = subst (λ k → odef (UnionCF A f mf ay supf0 k) k ) (supf0=1 b≤px) ( ZChain.csupf zc b≤px ) | |
901 zc04 : (b o≤ px ) ∨ (b ≡ x ) | 904 zc04 : (b o≤ px ) ∨ (b ≡ x ) |
902 zc04 with trio< b px | 905 zc04 with trio< b px |
903 ... | tri< a ¬b ¬c = case1 (o<→≤ a) | 906 ... | tri< a ¬b ¬c = case1 (o<→≤ a) |
904 ... | tri≈ ¬a b ¬c = case1 (o≤-refl0 b) | 907 ... | tri≈ ¬a b ¬c = case1 (o≤-refl0 b) |
905 ... | tri> ¬a ¬b px<b with osuc-≡< b≤x | 908 ... | tri> ¬a ¬b px<b with osuc-≡< b≤x |
906 ... | case1 eq = case2 eq | 909 ... | case1 eq = case2 eq |
907 ... | case2 b<x = ⊥-elim ( ¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) b<x ⟫ ) | 910 ... | case2 b<x = ⊥-elim ( ¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) b<x ⟫ ) |
908 zc01 : odef A (supf1 px b) | 911 zc05 : odef (UnionCF A f mf ay (supf1 px) (supf1 px b)) (supf1 px b) |
909 zc01 = supf∈A b≤x | 912 zc05 with zc04 |
910 u = supf1 px b | 913 ... | case2 b=x with ZChain.csupf zc o≤-refl |
911 supu=u : supf1 px u ≡ u | 914 ... | ⟪ au , ch-init fc ⟫ = ⟪ subst (λ k → odef A k) (supfx b=x) au |
912 supu=u with zc04 | 915 , ch-init (subst₂ (λ j k → FClosure A f j k ) refl (supfx b=x) fc) ⟫ |
913 ... | case2 eq = begin | 916 ... | ⟪ au , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ subst (λ k → odef A k) (supfx b=x) au |
914 supf1 px u ≡⟨ ? ⟩ | 917 , ch-is-sup u (subst (λ k → u o≤ k) (supfx b=x) u≤x) ? zc06 ⟫ where |
915 supf0 px ≡⟨ ? ⟩ | 918 zc06 : FClosure A f (supf1 px u) (supf1 px b) |
916 u ∎ where open ≡-Reasoning | 919 zc06 = ? |
917 ... | case1 le = ? where | 920 zc07 : FClosure A f (supf0 u) (supf0 px) |
918 zc06 : b o≤ px | 921 zc07 = fc |
919 zc06 = le | 922 zc05 | case1 b≤px with ZChain.csupf zc b≤px |
920 zc02 : odef A (supf1 px u) | 923 ... | ⟪ au , ch-init fc ⟫ = ⟪ subst (λ k → odef A k) (supf0=1 b≤px) au |
921 zc02 = subst (λ k → odef A k ) (sym supu=u) zc01 | 924 , ch-init (subst₂ (λ j k → FClosure A f j k ) refl (supf0=1 b≤px) fc) ⟫ |
922 zc03 : supf1 px u ≡ supf1 px b | 925 ... | ⟪ au , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ subst (λ k → odef A k) (supf0=1 b≤px) au |
923 zc03 = ? | 926 , ch-is-sup u (subst (λ k → u o≤ k) (supf0=1 b≤px) u≤x) ? zc06 ⟫ where |
924 fc : FClosure A f (supf1 px u) (supf1 px b) | 927 zc06 : FClosure A f (supf1 px u) (supf1 px b) |
925 fc = init zc02 zc03 | 928 zc06 = ? |
926 fcy<sup : {z : Ordinal} → FClosure A f y z → (z ≡ supf1 px u) ∨ (z << supf1 px u) | 929 zc07 : FClosure A f (supf0 u) (supf0 b) |
927 fcy<sup = ? | 930 zc07 = fc |
928 order : {s z1 : Ordinal} → supf1 px s o< supf1 px u → FClosure A f (supf1 px s) z1 | |
929 → (z1 ≡ supf1 px u) ∨ (z1 << supf1 px u) | |
930 order = ? | |
931 sis : {z : Ordinal} (z≤x : z o≤ x) → supf1 px z ≡ & (SUP.sup (sup z≤x)) | 931 sis : {z : Ordinal} (z≤x : z o≤ x) → supf1 px z ≡ & (SUP.sup (sup z≤x)) |
932 sis {z} z≤x = zc40 where | 932 sis {z} z≤x = zc40 where |
933 zc40 : supf1 px z ≡ & (SUP.sup (sup z≤x)) -- direct with statment causes error | 933 zc40 : supf1 px z ≡ & (SUP.sup (sup z≤x)) -- direct with statment causes error |
934 zc40 with trio< z px | inspect (supf1 px) z | inspect sup z≤x | 934 zc40 with trio< z px | inspect (supf1 px) z | inspect sup z≤x |
935 ... | tri< a ¬b ¬c | record { eq = eq1 } | record { eq = eq2 } = ? | 935 ... | tri< a ¬b ¬c | record { eq = eq1 } | record { eq = eq2 } = ? |