comparison src/zorn.agda @ 1052:0b6cee971cba

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 09 Dec 2022 11:38:13 +0900
parents 8d25e368e26f
children a281ad683577
comparison
equal deleted inserted replaced
1051:8d25e368e26f 1052:0b6cee971cba
472 472
473 supf-mono< : {a b : Ordinal } → b o≤ z → supf a o< supf b → supf a << supf b 473 supf-mono< : {a b : Ordinal } → b o≤ z → supf a o< supf b → supf a << supf b
474 supf-mono< {a} {b} b≤z sa<sb with order {a} {b} b≤z sa<sb (init asupf refl) 474 supf-mono< {a} {b} b≤z sa<sb with order {a} {b} b≤z sa<sb (init asupf refl)
475 ... | case2 lt = lt 475 ... | case2 lt = lt
476 ... | case1 eq = ⊥-elim ( o<¬≡ eq sa<sb ) 476 ... | case1 eq = ⊥-elim ( o<¬≡ eq sa<sb )
477
478 supfeq : {a b : Ordinal } → UnionCF A f ay supf a ≡ UnionCF A f ay supf b → supf a ≡ supf b
479 supfeq = ?
480
481 unioneq : {a b : Ordinal } → z o≤ supf a → supf a o≤ supf b → UnionCF A f ay supf a ≡ UnionCF A f ay supf b
482 unioneq = ?
477 483
478 -- cp : (mf< : <-monotonic-f A f) {b : Ordinal } → b o≤ z → supf b o≤ z → ChainP A f supf (supf b) 484 -- cp : (mf< : <-monotonic-f A f) {b : Ordinal } → b o≤ z → supf b o≤ z → ChainP A f supf (supf b)
479 -- the condition of cfcs is satisfied, this is obvious 485 -- the condition of cfcs is satisfied, this is obvious
480 486
481 record ZChain1 ( A : HOD ) ( f : Ordinal → Ordinal ) (mf< : <-monotonic-f A f) 487 record ZChain1 ( A : HOD ) ( f : Ordinal → Ordinal ) (mf< : <-monotonic-f A f)
1187 a≤px with trio< a px 1193 a≤px with trio< a px
1188 ... | tri< a ¬b ¬c = o<→≤ a 1194 ... | tri< a ¬b ¬c = o<→≤ a
1189 ... | tri≈ ¬a b ¬c = o≤-refl0 b 1195 ... | tri≈ ¬a b ¬c = o≤-refl0 b
1190 ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → a o< k) (sym (Oprev.oprev=x op)) 1196 ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → a o< k) (sym (Oprev.oprev=x op))
1191 ( ordtrans<-≤ a<b b≤x) ⟫ ) -- px o< a o< b o≤ x 1197 ( ordtrans<-≤ a<b b≤x) ⟫ ) -- px o< a o< b o≤ x
1192 spx<x : supf0 px o< x
1193 spx<x = ?
1194 spx<=sb : supf0 px ≤ sp1
1195 spx<=sb = MinSUP.x≤sup sup1 (case2 ⟪ init (ZChain.asupf zc) refl , ? ⟫ )
1196 sa<<sb : supf1 a << supf1 b
1197 sa<<sb with osuc-≡< b≤x
1198 ... | case2 b<x = subst₂ (λ j k → j << k ) (sym (sf1=sf0 ?)) (sym (sf1=sf0 ?)) ( ZChain.supf-mono< zc (zc-b<x _ b<x)
1199 (subst₂ (λ j k → j o< k) (sf1=sf0 ?) (sf1=sf0 ?) sa<sb ))
1200 ... | case1 b=x with osuc-≡< ( supf1-mono a≤px ) -- supf1 a ≤ supf1 px << sp1
1201 ... | case2 sa<spx = subst₂ (λ j k → j << k ) (sym (sf1=sf0 ?)) (sym (sf1=sp1 ?))
1202 ( ftrans<-≤ ( ZChain.supf-mono< zc o≤-refl (subst₂ (λ j k → j o< k) (sf1=sf0 ?) (sf1=sf0 ?) sa<spx)) spx<=sb )
1203 ... | case1 sa=spx with spx<=sb
1204 ... | case2 lt = subst₂ (λ j k → j << k ) ? ? lt
1205 ... | case1 eq = ?
1206 -- supf1 a o≤ x
1207 -- x o< supf1 a o< supf1 b -> UnionCF px ⊆ UnionCF a → supf0 px ≡ supf0 a → ⊥
1208 -- a o≤ supf1 a
1209 sa<x : supf1 a o< x -- supf1 a o< supf1 x ≡ sp1 ( supf of fc (supf0 px) ∧ (supf0 px o< x)
1210 sa<x with x<y∨y≤x (supf1 a) x
1211 ... | case1 lt = lt
1212 ... | case2 x≤sa = ⊥-elim ( <<-irr z27 sa<<sb ) where
1213 z27 : supf1 b ≤ supf1 a
1214 z27 = subst (λ k → supf1 b ≤ k ) ? (IsMinSUP.x≤sup (is-minsup ? ) ? )
1215 ssa=sa : supf1 a ≡ supf1 (supf1 a) -- supf0 a o≤ px
1216 ssa=sa = sym ( sup=u ? ? ? )
1217 sa<b : supf1 a o< b -- supf1 (supf1 a) ≡ supf1 a o< supf1 b → inject supf1 a o< b
1218 sa<b = supf-inject0 supf1-mono (subst (λ k → k o< supf1 b ) ? sa<sb )
1219 z20 : w ≤ supf1 b 1198 z20 : w ≤ supf1 b
1220 z20 with trio< b px 1199 z20 with trio< b px
1221 ... | tri< b<px ¬b ¬c = ZChain.order zc (o<→≤ b<px) (subst (λ k → k o< supf0 b) (sf1=sf0 (o<→≤ (ordtrans a<b b<px))) sa<sb) 1200 ... | tri< b<px ¬b ¬c = ZChain.order zc (o<→≤ b<px) (subst (λ k → k o< supf0 b) (sf1=sf0 (o<→≤ (ordtrans a<b b<px))) sa<sb)
1222 (fcup fc (o<→≤ (ordtrans a<b b<px))) 1201 (fcup fc (o<→≤ (ordtrans a<b b<px)))
1223 ... | tri≈ ¬a b=px ¬c = IsMinSUP.x≤sup (ZChain.is-minsup zc (o≤-refl0 b=px)) z26 where 1202 ... | tri≈ ¬a b=px ¬c = IsMinSUP.x≤sup (ZChain.is-minsup zc (o≤-refl0 b=px)) z26 where
1224 -- sa<b : supf1 a o< b -- px
1225 -- sa<b = ?
1226 z26 : odef ( UnionCF A f ay supf0 b ) w 1203 z26 : odef ( UnionCF A f ay supf0 b ) w
1227 z26 with cfcs a<b b≤x sa<b fc 1204 z26 with x<y∨y≤x (supf1 a) b
1205 ... | case2 b≤sa = ?
1206 ... | case1 sa<b with cfcs a<b b≤x sa<b fc
1228 ... | ⟪ ua , ch-init fc ⟫ = ⟪ ua , ch-init fc ⟫ 1207 ... | ⟪ ua , ch-init fc ⟫ = ⟪ ua , ch-init fc ⟫
1229 ... | ⟪ ua , ch-is-sup u u<x su=u fc ⟫ = ⟪ ua , ch-is-sup u ? ? ? ⟫ 1208 ... | ⟪ ua , ch-is-sup u u<x su=u fc ⟫ = ⟪ ua , ch-is-sup u ? ? ? ⟫
1230 ... | tri> ¬a ¬b px<b = MinSUP.x≤sup sup1 (zc11 ( chain-mono f mf ay supf1 supf1-mono b≤x (cfcs a<b b≤x sa<b fc))) 1209 ... | tri> ¬a ¬b px<b with x<y∨y≤x (supf1 a) b
1231 -- sa<b : supf1 a o< b -- b ≡ x 1210 ... | case1 sa<b = MinSUP.x≤sup sup1 (zc11 ( chain-mono f mf ay supf1 supf1-mono b≤x (cfcs a<b b≤x sa<b fc)))
1232 -- sa<b = ? 1211 ... | case2 b≤sa = ? -- x=b x o≤ sa UnionCF a ≡ UnionCF b → supf1 a ≡ supfb b → ⊥
1233 1212
1234 ... | no lim with trio< x o∅ 1213 ... | no lim with trio< x o∅
1235 ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) 1214 ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a )
1236 ... | tri≈ ¬a b ¬c = record { supf = ? ; sup=u = ? ; asupf = ? ; supf-mono = ? ; order = ? 1215 ... | tri≈ ¬a b ¬c = record { supf = ? ; sup=u = ? ; asupf = ? ; supf-mono = ? ; order = ?
1237 ; supfmax = ? ; is-minsup = ? ; cfcs = ? } 1216 ; supfmax = ? ; is-minsup = ? ; cfcs = ? }