comparison src/zorn.agda @ 1006:ac182ad5bfd2

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 19 Nov 2022 00:04:35 +0900
parents 2808471040c0
children 88fae58f89f5
comparison
equal deleted inserted replaced
1005:2808471040c0 1006:ac182ad5bfd2
509 im00 : f (f pr) <= sp 509 im00 : f (f pr) <= sp
510 im00 = is-sup ( f-next (f-next (HasPrev.ay hp))) 510 im00 = is-sup ( f-next (f-next (HasPrev.ay hp)))
511 fsp≤sp : f sp <= sp 511 fsp≤sp : f sp <= sp
512 fsp≤sp = subst (λ k → f k <= sp ) (sym (HasPrev.x=fy hp)) im00 512 fsp≤sp = subst (λ k → f k <= sp ) (sym (HasPrev.x=fy hp)) im00
513 513
514 csupf-idem : (mf< : <-monotonic-f A f) {b : Ordinal } → b o≤ z → supf b o< z → supf (supf b) ≡ supf b 514 supf-idem : (mf< : <-monotonic-f A f) {b : Ordinal } → b o≤ z → supf b o≤ z → supf (supf b) ≡ supf b
515 csupf-idem mf< {b} b≤z sfb<x = z52 where 515 supf-idem mf< {b} b≤z sfb≤x = z52 where
516 z54 : {w : Ordinal} → odef (UnionCF A f mf ay supf (supf b)) w → (w ≡ supf b) ∨ (w << supf b) 516 z54 : {w : Ordinal} → odef (UnionCF A f mf ay supf (supf b)) w → (w ≡ supf b) ∨ (w << supf b)
517 z54 {w} ⟪ aw , ch-init fc ⟫ = fcy<sup b≤z fc 517 z54 {w} ⟪ aw , ch-init fc ⟫ = fcy<sup b≤z fc
518 z54 {w} ⟪ aw , ch-is-sup u u<x is-sup fc ⟫ = subst (λ k → (w ≡ k) ∨ (w << k )) 518 z54 {w} ⟪ aw , ch-is-sup u u<x is-sup fc ⟫ = subst (λ k → (w ≡ k) ∨ (w << k ))
519 (sym (supf-is-minsup b≤z)) 519 (sym (supf-is-minsup b≤z))
520 (MinSUP.x≤sup (minsup b≤z) (cfcs mf< u<b b≤z su<z fc )) where 520 (MinSUP.x≤sup (minsup b≤z) (cfcs mf< u<b b≤z su<z fc )) where
521 u<b : u o< b 521 u<b : u o< b
522 u<b = supf-inject ( subst (λ k → k o< supf b) (sym (ChainP.supu=u is-sup)) u<x ) 522 u<b = supf-inject ( subst (λ k → k o< supf b) (sym (ChainP.supu=u is-sup)) u<x )
523 su<z : supf u o< z 523 su<z : supf u o< z
524 su<z = subst (λ k → k o< z ) (sym (ChainP.supu=u is-sup)) ( ordtrans<-≤ u<b b≤z ) 524 su<z = subst (λ k → k o< z ) (sym (ChainP.supu=u is-sup)) ( ordtrans<-≤ u<b b≤z )
525 z52 : supf (supf b) ≡ supf b 525 z52 : supf (supf b) ≡ supf b
526 z52 = sup=u asupf (o<→≤ sfb<x) ⟪ record { x≤sup = z54 } , IsMinSUP→NotHasPrev asupf z54 ( λ ax → proj1 (mf< _ ax)) ⟫ 526 z52 = sup=u asupf sfb≤x ⟪ record { x≤sup = z54 } , IsMinSUP→NotHasPrev asupf z54 ( λ ax → proj1 (mf< _ ax)) ⟫
527 527
528 UChain⊆ : ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) 528 UChain⊆ : ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f)
529 {z y : Ordinal} (ay : odef A y) { supf supf1 : Ordinal → Ordinal } 529 {z y : Ordinal} (ay : odef A y) { supf supf1 : Ordinal → Ordinal }
530 → (supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y ) 530 → (supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y )
531 → ( { x : Ordinal } → x o< z → supf x ≡ supf1 x) 531 → ( { x : Ordinal } → x o< z → supf x ≡ supf1 x)
1064 csupf1 with trio< (supf0 px) x 1064 csupf1 with trio< (supf0 px) x
1065 ... | tri< sfpx<x ¬b ¬c = ⟪ z53 , ch-is-sup spx (subst (λ k → spx o< k) (sym b=x) sfpx<x) cp1 fc1 ⟫ where 1065 ... | tri< sfpx<x ¬b ¬c = ⟪ z53 , ch-is-sup spx (subst (λ k → spx o< k) (sym b=x) sfpx<x) cp1 fc1 ⟫ where
1066 spx = supf0 px 1066 spx = supf0 px
1067 spx≤px : supf0 px o≤ px 1067 spx≤px : supf0 px o≤ px
1068 spx≤px = zc-b<x _ sfpx<x 1068 spx≤px = zc-b<x _ sfpx<x
1069 z54 : {z : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) (supf0 px)) z → (z ≡ supf0 px) ∨ (z << supf0 px)
1070 z54 {z} ⟪ az , ch-init fc ⟫ = ZChain.fcy<sup zc o≤-refl fc
1071 z54 {z} ⟪ az , ch-is-sup u u<b is-sup fc ⟫ = subst (λ k → (z ≡ k) ∨ (z << k ))
1072 (sym (ZChain.supf-is-minsup zc o≤-refl))
1073 (MinSUP.x≤sup (ZChain.minsup zc o≤-refl) (ZChain.cfcs zc mf< u<px o≤-refl ? fc )) where
1074 u<px : u o< px
1075 u<px = ZChain.supf-inject zc ( subst (λ k → k o< supf0 px) (sym (ChainP.supu=u is-sup)) u<b )
1076 -- u<b : u o< supf0 px
1077 -- is-sup : ChainP A f mf ay (ZChain.supf zc) u
1078 -- fc : FClosure A f (ZChain.supf zc u) z
1079 z52 : supf1 (supf0 px) ≡ supf0 px 1069 z52 : supf1 (supf0 px) ≡ supf0 px
1080 z52 = trans (sf1=sf0 (zc-b<x _ sfpx<x)) ( ZChain.sup=u zc (ZChain.asupf zc) (zc-b<x _ sfpx<x) 1070 z52 = trans (sf1=sf0 (zc-b<x _ sfpx<x)) ( ZChain.supf-idem zc mf< o≤-refl ? )
1081 ⟪ record { x≤sup = z54 } , ZChain.IsMinSUP→NotHasPrev zc (ZChain.asupf zc) z54 (( λ ax → proj1 (mf< _ ax))) ⟫ )
1082 fc1 : FClosure A f (supf1 spx) w 1071 fc1 : FClosure A f (supf1 spx) w
1083 fc1 = subst (λ k → FClosure A f k w ) (trans (cong supf0 a=px) (sym z52) ) fc 1072 fc1 = subst (λ k → FClosure A f k w ) (trans (cong supf0 a=px) (sym z52) ) fc
1084 order : {s z1 : Ordinal} → supf1 s o< supf1 spx → FClosure A f (supf1 s) z1 → (z1 ≡ supf1 spx) ∨ (z1 << supf1 spx) 1073 order : {s z1 : Ordinal} → supf1 s o< supf1 spx → FClosure A f (supf1 s) z1 → (z1 ≡ supf1 spx) ∨ (z1 << supf1 spx)
1085 order {s} {z1} ss<spx fcs = subst (λ k → (z1 ≡ k) ∨ (z1 << k )) 1074 order {s} {z1} ss<spx fcs = subst (λ k → (z1 ≡ k) ∨ (z1 << k ))
1086 (trans (sym (ZChain.supf-is-minsup zc spx≤px )) (sym (sf1=sf0 spx≤px) ) ) 1075 (trans (sym (ZChain.supf-is-minsup zc spx≤px )) (sym (sf1=sf0 spx≤px) ) )