Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/zorn.agda @ 968:9a8041a7f3c9
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 06 Nov 2022 13:39:45 +0900 |
parents | cd0ef83189c5 |
children | ec7f3473ff55 |
comparison
equal
deleted
inserted
replaced
967:cd0ef83189c5 | 968:9a8041a7f3c9 |
---|---|
882 | 882 |
883 zc43 : ( x o< sp1 ) ∨ ( sp1 o≤ x ) | 883 zc43 : ( x o< sp1 ) ∨ ( sp1 o≤ x ) |
884 zc43 = ? | 884 zc43 = ? |
885 | 885 |
886 zc41 : ZChain A f mf ay x | 886 zc41 : ZChain A f mf ay x |
887 zc41 with MinSUP.x≤sup sup1 (case2 (init (ZChain.asupf zc {px}) refl )) | 887 zc41 with zc43 |
888 zc41 | (case2 sfpx<sp1) = record { supf = supf1 ; sup=u = ? ; asupf = ? ; supf-mono = supf1-mono ; supf-< = ? | 888 zc41 | (case2 sp≤x ) = record { supf = supf1 ; sup=u = ? ; asupf = ? ; supf-mono = supf1-mono ; supf-< = ? |
889 ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; csupf = csupf1 } where | 889 ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; csupf = csupf1 } where |
890 -- supf0 px is included by the chain of sp1 | 890 -- supf0 px is included by the chain of sp1 |
891 -- ( UnionCF A f mf ay supf0 px ∪ FClosure (supf0 px) ) ≡ UnionCF supf1 x | 891 -- ( UnionCF A f mf ay supf0 px ∪ FClosure (supf0 px) ) ≡ UnionCF supf1 x |
892 -- supf1 x ≡ sp1, which is not included now | 892 -- supf1 x ≡ sp1, which is not included now |
893 | 893 |
906 sf1=sp1 : {z : Ordinal } → px o< z → supf1 z ≡ sp1 | 906 sf1=sp1 : {z : Ordinal } → px o< z → supf1 z ≡ sp1 |
907 sf1=sp1 {z} px<z with trio< z px | 907 sf1=sp1 {z} px<z with trio< z px |
908 ... | tri< a ¬b ¬c = ⊥-elim ( o<> px<z a ) | 908 ... | tri< a ¬b ¬c = ⊥-elim ( o<> px<z a ) |
909 ... | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ (sym b) px<z ) | 909 ... | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ (sym b) px<z ) |
910 ... | tri> ¬a ¬b c = refl | 910 ... | tri> ¬a ¬b c = refl |
911 | |
912 sf=eq : { z : Ordinal } → z o< x → supf0 z ≡ supf1 z | |
913 sf=eq {z} z<x = sym (sf1=sf0 (subst (λ k → z o< k ) (sym (Oprev.oprev=x op)) z<x )) | |
911 | 914 |
912 asupf1 : {z : Ordinal } → odef A (supf1 z) | 915 asupf1 : {z : Ordinal } → odef A (supf1 z) |
913 asupf1 {z} with trio< z px | 916 asupf1 {z} with trio< z px |
914 ... | tri< a ¬b ¬c = ZChain.asupf zc | 917 ... | tri< a ¬b ¬c = ZChain.asupf zc |
915 ... | tri≈ ¬a b ¬c = ZChain.asupf zc | 918 ... | tri≈ ¬a b ¬c = ZChain.asupf zc |
936 zc24 {x₁} ux = MinSUP.x≤sup sup1 (case1 (chain-mono f mf ay supf0 (ZChain.supf-mono zc) (o≤-refl0 b) ux ) ) | 939 zc24 {x₁} ux = MinSUP.x≤sup sup1 (case1 (chain-mono f mf ay supf0 (ZChain.supf-mono zc) (o≤-refl0 b) ux ) ) |
937 zc18 : supf0 a o≤ sp1 | 940 zc18 : supf0 a o≤ sp1 |
938 zc18 = subst (λ k → k o≤ sp1) zc20( MinSUP.minsup zc21 (MinSUP.asm sup1) zc24 ) | 941 zc18 = subst (λ k → k o≤ sp1) zc20( MinSUP.minsup zc21 (MinSUP.asm sup1) zc24 ) |
939 ... | tri> ¬a ¬b c = o≤-refl | 942 ... | tri> ¬a ¬b c = o≤-refl |
940 | 943 |
944 sf≤ : { z : Ordinal } → x o≤ z → supf0 x o≤ supf1 z | |
945 sf≤ {z} x≤z with trio< z px | |
946 ... | tri< a ¬b ¬c = ⊥-elim ( o<> (osucc a) (subst (λ k → k o≤ z) (sym (Oprev.oprev=x op)) x≤z ) ) | |
947 ... | tri≈ ¬a b ¬c = ⊥-elim ( o≤> x≤z (subst (λ k → k o< x ) (sym b) px<x )) | |
948 ... | tri> ¬a ¬b c = subst₂ (λ j k → j o≤ k ) (trans (sf1=sf0 o≤-refl ) (sym (ZChain.supfmax zc px<x))) (sf1=sp1 c) | |
949 (supf1-mono (o<→≤ c )) | |
950 -- px o<z → spuf0 x ≡ supf0 px ≡ supf1 px o≤ supf1 z | |
941 | 951 |
942 fcup : {u z : Ordinal } → FClosure A f (supf1 u) z → u o≤ px → FClosure A f (supf0 u) z | 952 fcup : {u z : Ordinal } → FClosure A f (supf1 u) z → u o≤ px → FClosure A f (supf0 u) z |
943 fcup {u} {z} fc u≤px = subst (λ k → FClosure A f k z ) (sf1=sf0 u≤px) fc | 953 fcup {u} {z} fc u≤px = subst (λ k → FClosure A f k z ) (sf1=sf0 u≤px) fc |
944 fcpu : {u z : Ordinal } → FClosure A f (supf0 u) z → u o≤ px → FClosure A f (supf1 u) z | 954 fcpu : {u z : Ordinal } → FClosure A f (supf0 u) z → u o≤ px → FClosure A f (supf1 u) z |
945 fcpu {u} {z} fc u≤px = subst (λ k → FClosure A f k z ) (sym (sf1=sf0 u≤px)) fc | 955 fcpu {u} {z} fc u≤px = subst (λ k → FClosure A f k z ) (sym (sf1=sf0 u≤px)) fc |
1120 csupf2 | tri≈ ¬a b ¬c | record { eq = eq1 } = zc12 ? (case2 (init (ZChain.asupf zc) (cong supf0 (sym b)))) | 1130 csupf2 | tri≈ ¬a b ¬c | record { eq = eq1 } = zc12 ? (case2 (init (ZChain.asupf zc) (cong supf0 (sym b)))) |
1121 csupf2 | tri> ¬a ¬b px<z1 | record { eq = eq1 } = ? | 1131 csupf2 | tri> ¬a ¬b px<z1 | record { eq = eq1 } = ? |
1122 -- ⊥-elim ( ¬p<x<op ⟪ px<z1 , subst (λ k → z1 o< k) (sym opx=x) z1<x ⟫ ) | 1132 -- ⊥-elim ( ¬p<x<op ⟪ px<z1 , subst (λ k → z1 o< k) (sym opx=x) z1<x ⟫ ) |
1123 | 1133 |
1124 | 1134 |
1125 zc41 | (case1 sfp=sp1 ) = record { supf = supf0 ; sup=u = ? ; asupf = ? ; supf-mono = ? ; supf-< = ? | 1135 zc41 | (case1 x<sp ) = record { supf = supf0 ; sup=u = ? ; asupf = ? ; supf-mono = ? ; supf-< = ? |
1126 ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; csupf = ? } where | 1136 ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; csupf = ? } where |
1127 | 1137 |
1128 -- supf0 px not is included by the chain | 1138 -- supf0 px not is included by the chain |
1129 -- supf1 x ≡ supf0 px because of supfmax | 1139 -- supf1 x ≡ supf0 px because of supfmax |
1130 | 1140 |
1131 supf1 : Ordinal → Ordinal | 1141 supf1 : Ordinal → Ordinal |
1132 supf1 z with trio< z px | 1142 supf1 z with trio< z px |
1133 ... | tri< a ¬b ¬c = supf0 z | 1143 ... | tri< a ¬b ¬c = supf0 z |
1134 ... | tri≈ ¬a b ¬c = supf0 px | 1144 ... | tri≈ ¬a b ¬c = supf0 z |
1135 ... | tri> ¬a ¬b c = supf0 px | 1145 ... | tri> ¬a ¬b c = supf0 px |
1136 | 1146 |
1137 sf1=sf0 : {z : Ordinal } → z o< px → supf1 z ≡ supf0 z | 1147 sf1=sf0 : {z : Ordinal } → z o< px → supf1 z ≡ supf0 z |
1138 sf1=sf0 {z} z<px with trio< z px | 1148 sf1=sf0 {z} z<px with trio< z px |
1139 ... | tri< a ¬b ¬c = refl | 1149 ... | tri< a ¬b ¬c = refl |
1140 ... | tri≈ ¬a b ¬c = ⊥-elim ( ¬a z<px ) | 1150 ... | tri≈ ¬a b ¬c = ⊥-elim ( ¬a z<px ) |
1141 ... | tri> ¬a ¬b c = ⊥-elim ( ¬a z<px ) | 1151 ... | tri> ¬a ¬b c = ⊥-elim ( ¬a z<px ) |
1152 | |
1153 sf=eq : { z : Ordinal } → z o< x → supf0 z ≡ supf1 z | |
1154 sf=eq {z} z<x with trio< z px | |
1155 ... | tri< a ¬b ¬c = refl | |
1156 ... | tri≈ ¬a b ¬c = refl | |
1157 ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → z o< k) (sym (Oprev.oprev=x op)) z<x ⟫ ) | |
1158 sf≤ : { z : Ordinal } → x o≤ z → supf0 x o≤ supf1 z | |
1159 sf≤ {z} x≤z with trio< z px | |
1160 ... | tri< a ¬b ¬c = ⊥-elim ( o<> (osucc a) (subst (λ k → k o≤ z) (sym (Oprev.oprev=x op)) x≤z ) ) | |
1161 ... | tri≈ ¬a b ¬c = ⊥-elim ( o≤> x≤z (subst (λ k → k o< x ) (sym b) px<x )) | |
1162 ... | tri> ¬a ¬b c = o≤-refl0 ( ZChain.supfmax zc px<x ) | |
1142 | 1163 |
1143 zc17 : {z : Ordinal } → supf0 z o≤ supf0 px | 1164 zc17 : {z : Ordinal } → supf0 z o≤ supf0 px |
1144 zc17 = ? -- px o< z, px o< supf0 px | 1165 zc17 = ? -- px o< z, px o< supf0 px |
1145 | 1166 |
1146 supf-mono1 : {z w : Ordinal } → z o≤ w → supf1 z o≤ supf1 w | 1167 supf-mono1 : {z w : Ordinal } → z o≤ w → supf1 z o≤ supf1 w |
1150 ... | tri< a ¬b ¬c = zc17 | 1171 ... | tri< a ¬b ¬c = zc17 |
1151 ... | tri≈ ¬a refl ¬c = o≤-refl | 1172 ... | tri≈ ¬a refl ¬c = o≤-refl |
1152 ... | tri> ¬a ¬b c = o≤-refl | 1173 ... | tri> ¬a ¬b c = o≤-refl |
1153 supf-mono1 {z} {w} z≤w | tri> ¬a ¬b c with trio< z px | 1174 supf-mono1 {z} {w} z≤w | tri> ¬a ¬b c with trio< z px |
1154 ... | tri< a ¬b ¬c = zc17 | 1175 ... | tri< a ¬b ¬c = zc17 |
1155 ... | tri≈ ¬a b ¬c = o≤-refl | 1176 ... | tri≈ ¬a b ¬c = o≤-refl0 ? |
1156 ... | tri> ¬a ¬b c = o≤-refl | 1177 ... | tri> ¬a ¬b c = o≤-refl |
1157 | 1178 |
1158 pchain1 : HOD | 1179 pchain1 : HOD |
1159 pchain1 = UnionCF A f mf ay supf1 x | 1180 pchain1 = UnionCF A f mf ay supf1 x |
1160 | 1181 |