comparison src/zorn.agda @ 937:3a511519bd10

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 24 Oct 2022 19:11:19 +0900
parents f160556a7c9a
children 93a49ffa9183
comparison
equal deleted inserted replaced
936:f160556a7c9a 937:3a511519bd10
1413 z04 nmx zc = <-irr0 {* (cf nmx c)} {* c} (subst (λ k → odef A k ) (sym &iso) (proj1 (is-cf nmx (SUP.as sp1 )))) 1413 z04 nmx zc = <-irr0 {* (cf nmx c)} {* c} (subst (λ k → odef A k ) (sym &iso) (proj1 (is-cf nmx (SUP.as sp1 ))))
1414 (subst (λ k → odef A (& k)) (sym *iso) (SUP.as sp1) ) 1414 (subst (λ k → odef A (& k)) (sym *iso) (SUP.as sp1) )
1415 (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) zc 1415 (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) zc
1416 (sp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc ) ss<sa ))) -- x ≡ f x ̄ 1416 (sp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc ) ss<sa ))) -- x ≡ f x ̄
1417 (proj1 (cf-is-<-monotonic nmx c (SUP.as sp1 ))) where -- x < f x 1417 (proj1 (cf-is-<-monotonic nmx c (SUP.as sp1 ))) where -- x < f x
1418
1418 supf = ZChain.supf zc 1419 supf = ZChain.supf zc
1419 msp1 : MinSUP A (ZChain.chain zc) 1420 msp1 : MinSUP A (ZChain.chain zc)
1420 msp1 = msp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc 1421 msp1 = msp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc
1421 sp1 : SUP A (ZChain.chain zc) 1422 sp1 : SUP A (ZChain.chain zc)
1422 sp1 = sp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc 1423 sp1 = sp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc
1436 d<A = ∈∧P→o< ⟪ MinSUP.asm spd , lift true ⟫ 1437 d<A = ∈∧P→o< ⟪ MinSUP.asm spd , lift true ⟫
1437 msup : MinSUP A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 supf d) 1438 msup : MinSUP A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 supf d)
1438 msup = ZChain.minsup zc (o<→≤ d<A) 1439 msup = ZChain.minsup zc (o<→≤ d<A)
1439 sd=ms : supf d ≡ MinSUP.sup ( ZChain.minsup zc (o<→≤ d<A) ) 1440 sd=ms : supf d ≡ MinSUP.sup ( ZChain.minsup zc (o<→≤ d<A) )
1440 sd=ms = ZChain.supf-is-minsup zc (o<→≤ d<A) 1441 sd=ms = ZChain.supf-is-minsup zc (o<→≤ d<A)
1441 -- z26 : {x : Ordinal } → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) x 1442
1442 -- → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) c) x ∨ odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc ) x
1443 -- z26 = ?
1444 is-sup : IsSup A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) (MinSUP.asm spd) 1443 is-sup : IsSup A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) (MinSUP.asm spd)
1445 is-sup = record { x<sup = z22 } where 1444 is-sup = record { x<sup = z22 } where
1446 z23 : {z : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc) z → (z ≡ MinSUP.sup spd) ∨ (z << MinSUP.sup spd) 1445 z23 : {z : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc) z → (z ≡ MinSUP.sup spd) ∨ (z << MinSUP.sup spd)
1447 z23 lt = MinSUP.x<sup spd lt 1446 z23 lt = MinSUP.x<sup spd lt
1448 z22 : {y : Ordinal} → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) y → 1447 z22 : {y : Ordinal} → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) y →
1449 (y ≡ MinSUP.sup spd) ∨ (y << MinSUP.sup spd) 1448 (y ≡ MinSUP.sup spd) ∨ (y << MinSUP.sup spd)
1450 z22 {a} ⟪ aa , ch-init fc ⟫ = ? 1449 z22 {a} ⟪ aa , ch-init fc ⟫ = ?
1451 z22 {a} ⟪ aa , ch-is-sup u u<x is-sup fc ⟫ = ? 1450 z22 {a} ⟪ aa , ch-is-sup u u<x is-sup fc ⟫ = ?
1452 -- u<x : ZChain.supf zc u o< ZChain.supf zc d 1451 -- u<x : ZChain.supf zc u o< ZChain.supf zc d
1453 -- supf u o< spuf c → order 1452 -- supf u o< spuf c → order
1453
1454 not-hasprev : ¬ HasPrev A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) d (cf nmx) 1454 not-hasprev : ¬ HasPrev A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) d (cf nmx)
1455 not-hasprev hp = ? where 1455 not-hasprev hp = ? where
1456 y : Ordinal 1456 y : Ordinal
1457 y = HasPrev.y hp 1457 y = HasPrev.y hp
1458 z24 : y << d 1458 z24 : y << d
1459 z24 = subst (λ k → y << k) (sym (HasPrev.x=fy hp)) ( proj1 (cf-is-<-monotonic nmx y (proj1 (HasPrev.ay hp) ) )) 1459 z24 = subst (λ k → y << k) (sym (HasPrev.x=fy hp)) ( proj1 (cf-is-<-monotonic nmx y (proj1 (HasPrev.ay hp) ) ))
1460 -- z26 : {x : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc ) x → (x ≡ d ) ∨ (x << d ) 1460 z25 : odef (ZChain.chain zc) (cf nmx d)
1461 -- z26 lt with MinSUP.x<sup spd (subst (λ k → odef _ k ) ? lt) 1461 z25 = ZChain.f-next zc (subst (λ k → odef (ZChain.chain zc) k) (sym (HasPrev.x=fy hp))
1462 -- ... | case1 eq = ? 1462 (ZChain.f-next zc
1463 -- ... | case2 lt = ? 1463 (chain-mono (cf nmx) (cf-is-≤-monotonic nmx) as0 supf (ZChain.supf-mono zc) (o<→≤ d<A) ( HasPrev.ay hp ))))
1464 -- z25 : {x : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc ) x → (x ≡ y ) ∨ (x << y )
1465 -- z25 {x} (init au eq ) = ? -- sup c = x, cf y ≡ d, sup c =< d
1466 -- z25 (fsuc x lt) = ? -- cf (sup c)
1467 1464
1468 sd=d : supf d ≡ d 1465 sd=d : supf d ≡ d
1469 sd=d = ZChain.sup=u zc (MinSUP.asm spd) (o<→≤ d<A) ⟪ is-sup , not-hasprev ⟫ 1466 sd=d = ZChain.sup=u zc (MinSUP.asm spd) (o<→≤ d<A) ⟪ is-sup , not-hasprev ⟫
1470 1467
1471 sc<<d : {mc : Ordinal } → {asc : odef A (supf mc)} → (spd : MinSUP A (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc )) 1468 sc<<d : {mc : Ordinal } → {asc : odef A (supf mc)} → (spd : MinSUP A (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc ))
1473 sc<<d {mc} {asc} spd = z25 where 1470 sc<<d {mc} {asc} spd = z25 where
1474 d1 : Ordinal 1471 d1 : Ordinal
1475 d1 = MinSUP.sup spd 1472 d1 = MinSUP.sup spd
1476 z24 : (supf mc ≡ d1) ∨ ( supf mc << d1 ) 1473 z24 : (supf mc ≡ d1) ∨ ( supf mc << d1 )
1477 z24 = MinSUP.x<sup spd (init asc refl) 1474 z24 = MinSUP.x<sup spd (init asc refl)
1475 z26 : odef (ZChain.chain zc) (supf mc)
1476 z26 = ?
1477 z28 : supf mc o< & A
1478 z28 = z09 (ZChain.asupf zc)
1478 z25 : supf mc << d1 1479 z25 : supf mc << d1
1479 z25 with z24 1480 z25 with z24
1480 ... | case2 lt = lt 1481 ... | case2 lt = lt
1481 ... | case1 eq = ? 1482 ... | case1 eq = ? where
1483 z27 : odef (ZChain.chain zc) (cf nmx d1)
1484 z27 = ZChain.f-next zc (subst (λ k → odef (ZChain.chain zc) k ) eq (ZChain.csupf zc z28))
1482 1485
1483 sc<sd : {mc d : Ordinal } → supf mc << supf d → supf mc o< supf d 1486 sc<sd : {mc d : Ordinal } → supf mc << supf d → supf mc o< supf d
1484 sc<sd {mc} {d} sc<<sd with osuc-≡< ( ZChain.supf-<= zc (case2 sc<<sd ) ) 1487 sc<sd {mc} {d} sc<<sd with osuc-≡< ( ZChain.supf-<= zc (case2 sc<<sd ) )
1485 ... | case1 eq = ⊥-elim ( <-irr (case1 (cong (*) (sym eq) )) sc<<sd ) 1488 ... | case1 eq = ⊥-elim ( <-irr (case1 (cong (*) (sym eq) )) sc<<sd )
1486 ... | case2 lt = lt 1489 ... | case2 lt = lt