Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/zorn.agda @ 997:908369b2d08b
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 17 Nov 2022 17:04:47 +0900 |
parents | 61d74b3d5456 |
children | e5f46d08c074 |
comparison
equal
deleted
inserted
replaced
996:61d74b3d5456 | 997:908369b2d08b |
---|---|
1031 | 1031 |
1032 fcs<sup : {a b w : Ordinal } → a o< b → b o≤ x → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 b) w | 1032 fcs<sup : {a b w : Ordinal } → a o< b → b o≤ x → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 b) w |
1033 fcs<sup {a} {b} {w} a<b b≤x fc with trio< a px | 1033 fcs<sup {a} {b} {w} a<b b≤x fc with trio< a px |
1034 ... | tri< a<px ¬b ¬c = z50 where | 1034 ... | tri< a<px ¬b ¬c = z50 where |
1035 z50 : odef (UnionCF A f mf ay supf1 b) w | 1035 z50 : odef (UnionCF A f mf ay supf1 b) w |
1036 z50 with ZChain.fcs<sup zc a<px o≤-refl fc | 1036 z50 with osuc-≡< b≤x |
1037 ... | case2 lt with ZChain.fcs<sup zc a<b (subst (λ k → b o< k) (sym (Oprev.oprev=x op)) lt) fc | |
1037 ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ | 1038 ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ |
1038 ... | ⟪ az , ch-is-sup u u<x is-sup fc ⟫ = ⟪ az , ch-is-sup u ? ? ? ⟫ | 1039 ... | ⟪ az , ch-is-sup u u<b is-sup fc ⟫ = ⟪ az , ch-is-sup u u<b cp1 (fcpu fc u≤px ) ⟫ where -- u o< px → u o< b ? |
1039 ... | tri≈ ¬a a=px ¬c = ⟪ A∋fc _ f mf fc , ch-is-sup px px<b ? ? ⟫ where -- a ≡ px , b ≡ x, sp o≤ x → supf px o≤ supf x | 1040 u≤px : u o≤ px |
1041 u≤px = subst (λ k → u o< k) (sym (Oprev.oprev=x op)) (ordtrans<-≤ u<b b≤x ) | |
1042 u<x : u o< x | |
1043 u<x = ordtrans<-≤ u<b b≤x | |
1044 cp1 : ChainP A f mf ay supf1 u | |
1045 cp1 = record { fcy<sup = λ {z} fc → subst (λ k → (z ≡ k) ∨ ( z << k ) ) (sf=eq u<x) (ChainP.fcy<sup is-sup fc ) | |
1046 ; order = λ {s} {z} s<u fc → subst (λ k → (z ≡ k) ∨ ( z << k ) ) (sf=eq u<x) | |
1047 (ChainP.order is-sup (subst₂ (λ j k → j o< k ) (sym (sf=eq (ordtrans (supf-inject0 supf1-mono s<u) u<x) )) | |
1048 (sym (sf=eq u<x)) s<u) | |
1049 (subst (λ k → FClosure A f k z ) (sym (sf=eq (ordtrans (supf-inject0 supf1-mono s<u) u<x) )) fc )) | |
1050 ; supu=u = trans (sym (sf=eq u<x)) (ChainP.supu=u is-sup) } | |
1051 z50 | case1 eq with ZChain.fcs<sup zc a<px o≤-refl fc | |
1052 ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ | |
1053 ... | ⟪ az , ch-is-sup u u<px is-sup fc ⟫ = ⟪ az , ch-is-sup u u<b cp1 (fcpu fc (o<→≤ u<px)) ⟫ where -- u o< px → u o< b ? | |
1054 u<b : u o< b | |
1055 u<b = subst (λ k → u o< k ) (trans (Oprev.oprev=x op) (sym eq) ) (ordtrans u<px <-osuc ) | |
1056 u<x : u o< x | |
1057 u<x = subst (λ k → u o< k ) (Oprev.oprev=x op) ( ordtrans u<px <-osuc ) | |
1058 cp1 : ChainP A f mf ay supf1 u | |
1059 cp1 = record { fcy<sup = λ {z} fc → subst (λ k → (z ≡ k) ∨ ( z << k ) ) (sf=eq u<x) (ChainP.fcy<sup is-sup fc ) | |
1060 ; order = λ {s} {z} s<u fc → subst (λ k → (z ≡ k) ∨ ( z << k ) ) (sf=eq u<x) | |
1061 (ChainP.order is-sup (subst₂ (λ j k → j o< k ) (sym (sf=eq (ordtrans (supf-inject0 supf1-mono s<u) u<x) )) | |
1062 (sym (sf=eq u<x)) s<u) | |
1063 (subst (λ k → FClosure A f k z ) (sym (sf=eq (ordtrans (supf-inject0 supf1-mono s<u) u<x) )) fc )) | |
1064 ; supu=u = trans (sym (sf=eq u<x)) (ChainP.supu=u is-sup) } | |
1065 ... | tri≈ ¬a a=px ¬c = ⟪ A∋fc _ f mf fc , ch-is-sup px px<b cp1 z51 ⟫ where -- a ≡ px , b ≡ x, sp o≤ x → supf px o≤ supf x | |
1040 px<b : px o< b | 1066 px<b : px o< b |
1041 px<b = subst₂ (λ j k → j o< k) a=px refl a<b | 1067 px<b = subst₂ (λ j k → j o< k) a=px refl a<b |
1042 b=x : b ≡ x | 1068 b=x : b ≡ x |
1043 b=x with trio< b x | 1069 b=x with trio< b x |
1044 ... | tri< a ¬b ¬c = ⊥-elim ( ¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) a ⟫ ) -- px o< b o< x | 1070 ... | tri< a ¬b ¬c = ⊥-elim ( ¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) a ⟫ ) -- px o< b o< x |
1045 ... | tri≈ ¬a b ¬c = b | 1071 ... | tri≈ ¬a b ¬c = b |
1046 ... | tri> ¬a ¬b c = ⊥-elim ( o≤> b≤x c ) -- x o< b | 1072 ... | tri> ¬a ¬b c = ⊥-elim ( o≤> b≤x c ) -- x o< b |
1073 z51 : FClosure A f (supf1 px) w | |
1074 z51 = subst (λ k → FClosure A f k w) (sym (trans (cong supf1 (sym a=px)) (sf1=sf0 (o≤-refl0 a=px) ))) fc | |
1075 cp1 : ChainP A f mf ay supf1 px | |
1076 cp1 = record { fcy<sup = λ {z} fc → ? | |
1077 ; order = λ {s} {z} s<u fc → ? | |
1078 ; supu=u = ? } | |
1047 ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → a o< k ) (sym (Oprev.oprev=x op)) ( ordtrans<-≤ a<b b≤x) ⟫ ) -- px o< a o< b o≤ x | 1079 ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → a o< k ) (sym (Oprev.oprev=x op)) ( ordtrans<-≤ a<b b≤x) ⟫ ) -- px o< a o< b o≤ x |
1048 | 1080 |
1049 zc11 : {z : Ordinal} → odef (UnionCF A f mf ay supf1 x) z → odef pchainpx z | 1081 zc11 : {z : Ordinal} → odef (UnionCF A f mf ay supf1 x) z → odef pchainpx z |
1050 zc11 {z} ⟪ az , ch-init fc ⟫ = case1 ⟪ az , ch-init fc ⟫ | 1082 zc11 {z} ⟪ az , ch-init fc ⟫ = case1 ⟪ az , ch-init fc ⟫ |
1051 zc11 {z} ⟪ az , ch-is-sup u u<x is-sup fc ⟫ = zc21 fc where | 1083 zc11 {z} ⟪ az , ch-is-sup u u<x is-sup fc ⟫ = zc21 fc where |
1086 m = ZChain.minsup zc (o<→≤ a) | 1118 m = ZChain.minsup zc (o<→≤ a) |
1087 ms00 : {x : Ordinal} → odef (UnionCF A f mf ay supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) | 1119 ms00 : {x : Ordinal} → odef (UnionCF A f mf ay supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) |
1088 ms00 {x} ux = MinSUP.x≤sup m ? | 1120 ms00 {x} ux = MinSUP.x≤sup m ? |
1089 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → | 1121 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → |
1090 odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 | 1122 odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 |
1091 ms01 {sup2} us P = MinSUP.minsup m ? ? | 1123 ms01 {sup2} us P = MinSUP.minsup m us ? |
1092 ... | tri≈ ¬a b ¬c = record { tsup = record { sup = MinSUP.sup m ; asm = MinSUP.asm m | 1124 ... | tri≈ ¬a b ¬c = record { tsup = record { sup = MinSUP.sup m ; asm = MinSUP.asm m |
1093 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = trans (sf1=sf0 (o≤-refl0 b) ) (ZChain.supf-is-minsup zc (o≤-refl0 b)) } where | 1125 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = trans (sf1=sf0 (o≤-refl0 b) ) (ZChain.supf-is-minsup zc (o≤-refl0 b)) } where |
1094 m = ZChain.minsup zc (o≤-refl0 b) | 1126 m = ZChain.minsup zc (o≤-refl0 b) |
1095 ms00 : {x : Ordinal} → odef (UnionCF A f mf ay supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) | 1127 ms00 : {x : Ordinal} → odef (UnionCF A f mf ay supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) |
1096 ms00 {x} ux = MinSUP.x≤sup m ? | 1128 ms00 {x} ux = MinSUP.x≤sup m ? |
1097 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → | 1129 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → |
1098 odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 | 1130 odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 |
1099 ms01 {sup2} us P = MinSUP.minsup m ? ? | 1131 ms01 {sup2} us P = MinSUP.minsup m us ? |
1100 ... | tri> ¬a ¬b px<z = record { tsup = record { sup = sp1 ; asm = MinSUP.asm sup1 | 1132 ... | tri> ¬a ¬b px<z = record { tsup = record { sup = sp1 ; asm = MinSUP.asm sup1 |
1101 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = sf1=sp1 px<z } where | 1133 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = sf1=sp1 px<z } where |
1102 m = sup1 | 1134 m = sup1 |
1103 ms00 : {x : Ordinal} → odef (UnionCF A f mf ay supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) | 1135 ms00 : {x : Ordinal} → odef (UnionCF A f mf ay supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) |
1104 ms00 {x} ux = MinSUP.x≤sup m ? | 1136 ms00 {x} ux = MinSUP.x≤sup m ? |
1105 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → | 1137 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → |
1106 odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 | 1138 odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 |
1107 ms01 {sup2} us P = MinSUP.minsup m ? ? | 1139 ms01 {sup2} us P = MinSUP.minsup m us ? |
1108 | 1140 |
1109 | 1141 |
1110 zc41 | (case1 x<sp ) = record { supf = supf0 ; sup=u = ? ; asupf = ? ; supf-mono = ? ; supf-< = ? | 1142 zc41 | (case1 x<sp ) = record { supf = supf0 ; sup=u = ? ; asupf = ? ; supf-mono = ? ; supf-< = ? |
1111 ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; fcs<sup = ? } where | 1143 ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; fcs<sup = ? } where |
1112 | 1144 |