comparison src/zorn.agda @ 930:0e0608b1953b

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 23 Oct 2022 23:29:30 +0900
parents a6d97e6e5309
children ebcad8e5ae55
comparison
equal deleted inserted replaced
929:a6d97e6e5309 930:0e0608b1953b
1425 d<A = ∈∧P→o< ⟪ MinSUP.asm spd , lift true ⟫ 1425 d<A = ∈∧P→o< ⟪ MinSUP.asm spd , lift true ⟫
1426 msup : MinSUP A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 supf d) 1426 msup : MinSUP A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 supf d)
1427 msup = ZChain.minsup zc (o<→≤ d<A) 1427 msup = ZChain.minsup zc (o<→≤ d<A)
1428 sd=ms : supf d ≡ MinSUP.sup ( ZChain.minsup zc (o<→≤ d<A) ) 1428 sd=ms : supf d ≡ MinSUP.sup ( ZChain.minsup zc (o<→≤ d<A) )
1429 sd=ms = ZChain.supf-is-minsup zc (o<→≤ d<A) 1429 sd=ms = ZChain.supf-is-minsup zc (o<→≤ d<A)
1430 -- z26 : {x : Ordinal } → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) x
1431 -- → 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
1432 -- z26 = ?
1430 is-sup : IsSup A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) (MinSUP.asm spd) 1433 is-sup : IsSup A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) (MinSUP.asm spd)
1431 is-sup = record { x<sup = z22 } where 1434 is-sup = record { x<sup = z22 } where
1432 --
1433 z23 : {z : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc) z → (z ≡ MinSUP.sup spd) ∨ (z << MinSUP.sup spd) 1435 z23 : {z : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc) z → (z ≡ MinSUP.sup spd) ∨ (z << MinSUP.sup spd)
1434 z23 lt = MinSUP.x<sup spd lt 1436 z23 lt = MinSUP.x<sup spd lt
1435 z22 : {y : Ordinal} → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) y → 1437 z22 : {y : Ordinal} → odef (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) y →
1436 (y ≡ MinSUP.sup spd) ∨ (y << MinSUP.sup spd) 1438 (y ≡ MinSUP.sup spd) ∨ (y << MinSUP.sup spd)
1437 z22 {y} zy = ? 1439 z22 {a} ⟪ aa , ch-init fc ⟫ = ?
1438 -- with MinSUP.x<sup spd ? -- (subst (λ k → odef _ k ) (sym &iso) zy) 1440 z22 {a} ⟪ aa , ch-is-sup u u<x is-sup fc ⟫ = ?
1439 -- ... | case1 y=p = case1 (subst (λ k → k ≡ _ ) &iso y=p ) 1441 -- u<x : ZChain.supf zc u o< ZChain.supf zc d
1440 -- ... | case2 y<p = case2 (subst (λ k → * y < k ) (sym *iso) y<p ) 1442 -- supf u o< spuf c → order
1441 not-hasprev : ¬ HasPrev A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) d (cf nmx) 1443 not-hasprev : ¬ HasPrev A (UnionCF A (cf nmx) (cf-is-≤-monotonic nmx) as0 (ZChain.supf zc) d) d (cf nmx)
1442 not-hasprev hp = ? where 1444 not-hasprev hp = ? where
1443 y : Ordinal 1445 y : Ordinal
1444 y = HasPrev.y hp 1446 y = HasPrev.y hp
1445 z24 : y << d 1447 z24 : y << d
1446 z24 = subst (λ k → y << k) (sym (HasPrev.x=fy hp)) ( proj1 (cf-is-<-monotonic nmx y (proj1 (HasPrev.ay hp) ) )) 1448 z24 = subst (λ k → y << k) (sym (HasPrev.x=fy hp)) ( proj1 (cf-is-<-monotonic nmx y (proj1 (HasPrev.ay hp) ) ))
1449 -- z26 : {x : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc ) x → (x ≡ d ) ∨ (x << d )
1450 -- z26 lt with MinSUP.x<sup spd (subst (λ k → odef _ k ) ? lt)
1451 -- ... | case1 eq = ?
1452 -- ... | case2 lt = ?
1453 -- z25 : {x : Ordinal } → odef (uchain (cf nmx) (cf-is-≤-monotonic nmx) asc ) x → (x ≡ y ) ∨ (x << y )
1454 -- z25 {x} (init au eq ) = ? -- sup c = x, cf y ≡ d, sup c =< d
1455 -- z25 (fsuc x lt) = ? -- cf (sup c)
1447 sd=d : supf d ≡ d 1456 sd=d : supf d ≡ d
1448 sd=d = ZChain.sup=u zc (MinSUP.asm spd) (o<→≤ d<A) ⟪ is-sup , not-hasprev ⟫ 1457 sd=d = ZChain.sup=u zc (MinSUP.asm spd) (o<→≤ d<A) ⟪ is-sup , not-hasprev ⟫
1449 sc<d : supf c << d 1458 sc<sd : supf c << supf d
1450 sc<d = ? where 1459 sc<sd = ?
1451 z21 = proj1 ( cf-is-<-monotonic nmx ? ? ) 1460 -- z21 = proj1 ( cf-is-<-monotonic nmx ? ? )
1452 sco<d : supf c o< supf d 1461 -- sco<d : supf c o< supf d
1453 sco<d = ? 1462 -- sco<d with osuc-≡< ( ZChain.supf-<= zc (case2 sc<sd ) )
1463 -- ... | case1 eq = ⊥-elim ( <-irr eq sc<sd )
1464 -- ... | case2 lt = lt
1454 1465
1455 ss<sa : supf c o< supf (& A) 1466 ss<sa : supf c o< supf (& A)
1456 ss<sa with osuc-≡< ( ZChain.supf-mono zc ? ) 1467 ss<sa = ? -- with osuc-≡< ( ZChain.supf-mono zc (o<→≤ ( ∈∧P→o< ⟪ SUP.as sp0 , lift true ⟫) ))
1457 ... | case2 lt = lt 1468 -- ... | case2 lt = lt
1458 ... | case1 eq = ? -- where 1469 -- ... | case1 eq = ? -- where
1459 zorn00 : Maximal A 1470 zorn00 : Maximal A
1460 zorn00 with is-o∅ ( & HasMaximal ) -- we have no Level (suc n) LEM 1471 zorn00 with is-o∅ ( & HasMaximal ) -- we have no Level (suc n) LEM
1461 ... | no not = record { maximal = ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ; as = zorn01 ; ¬maximal<x = zorn02 } where 1472 ... | no not = record { maximal = ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ; as = zorn01 ; ¬maximal<x = zorn02 } where
1462 -- yes we have the maximal 1473 -- yes we have the maximal
1463 zorn03 : odef HasMaximal ( & ( ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ) ) 1474 zorn03 : odef HasMaximal ( & ( ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ) )