Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/zorn.agda @ 1069:99df080f4fdb
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Dec 2022 09:31:11 +0900 |
parents | f24f4de4d459 |
children | 33d601c9ee96 |
comparison
equal
deleted
inserted
replaced
1068:f24f4de4d459 | 1069:99df080f4fdb |
---|---|
1247 mf00 : * x < * (f x) | 1247 mf00 : * x < * (f x) |
1248 mf00 = proj1 ( mf< x ax ) | 1248 mf00 = proj1 ( mf< x ax ) |
1249 ... | tri> ¬a ¬b 0<x = record { supf = supf1 ; asupf = asupf ; supf-mono = supf-mono ; order = ? ; 0<supfz = ? | 1249 ... | tri> ¬a ¬b 0<x = record { supf = supf1 ; asupf = asupf ; supf-mono = supf-mono ; order = ? ; 0<supfz = ? |
1250 ; zo≤sz = ? ; supfmax = ? ; is-minsup = ? ; cfcs = cfcs } where | 1250 ; zo≤sz = ? ; supfmax = ? ; is-minsup = ? ; cfcs = cfcs } where |
1251 | 1251 |
1252 -- mf : ≤-monotonic-f A f | |
1253 -- mf x ax = ? -- ⟪ case2 ( proj1 (mf< x ax)) , proj2 (mf< x ax ) ⟫ will result memory exhaust | |
1254 | |
1255 mf : ≤-monotonic-f A f | 1252 mf : ≤-monotonic-f A f |
1256 mf x ax = ⟪ case2 mf00 , proj2 (mf< x ax ) ⟫ where | 1253 mf x ax = ⟪ case2 mf00 , proj2 (mf< x ax ) ⟫ where |
1257 mf00 : * x < * (f x) | 1254 mf00 : * x < * (f x) |
1258 mf00 = proj1 ( mf< x ax ) | 1255 mf00 = proj1 ( mf< x ax ) |
1259 | 1256 |
1263 ysp = MinSUP.sup (ysup f mf ay) | 1260 ysp = MinSUP.sup (ysup f mf ay) |
1264 | 1261 |
1265 supfz : {z : Ordinal } → z o< x → Ordinal | 1262 supfz : {z : Ordinal } → z o< x → Ordinal |
1266 supfz {z} z<x = ZChain.supf (pzc (ob<x lim z<x)) z | 1263 supfz {z} z<x = ZChain.supf (pzc (ob<x lim z<x)) z |
1267 | 1264 |
1268 pchainx : HOD | 1265 pchainU : HOD |
1269 pchainx = UnionIC A f ay supfz | 1266 pchainU = UnionIC A f ay supfz |
1270 | 1267 |
1271 zeq : {xa xb z : Ordinal } | 1268 zeq : {xa xb z : Ordinal } |
1272 → (xa<x : xa o< x) → (xb<x : xb o< x) → xa o≤ xb → z o≤ xa | 1269 → (xa<x : xa o< x) → (xb<x : xb o< x) → xa o≤ xb → z o≤ xa |
1273 → ZChain.supf (pzc xa<x) z ≡ ZChain.supf (pzc xb<x) z | 1270 → ZChain.supf (pzc xa<x) z ≡ ZChain.supf (pzc xb<x) z |
1274 zeq {xa} {xb} {z} xa<x xb<x xa≤xb z≤xa = supf-unique A f mf< ay xa≤xb | 1271 zeq {xa} {xb} {z} xa<x xb<x xa≤xb z≤xa = supf-unique A f mf< ay xa≤xb |
1283 | 1280 |
1284 pic<x : {z : Ordinal } → (ic : IChain ay supfz z ) → osuc (IChain-i ic) o< x | 1281 pic<x : {z : Ordinal } → (ic : IChain ay supfz z ) → osuc (IChain-i ic) o< x |
1285 pic<x {z} (ic-init fc) = ob<x lim 0<x -- 0<x ∧ lim x → osuc o∅ o< x | 1282 pic<x {z} (ic-init fc) = ob<x lim 0<x -- 0<x ∧ lim x → osuc o∅ o< x |
1286 pic<x {z} (ic-isup ia ia<x sa<x fca) = ob<x lim ia<x | 1283 pic<x {z} (ic-isup ia ia<x sa<x fca) = ob<x lim ia<x |
1287 | 1284 |
1288 pchainx⊆chain : {z : Ordinal } → (pz : odef pchainx z) → odef (ZChain.chain (pzc (pic<x (proj2 pz)))) z | 1285 pchainU⊆chain : {z : Ordinal } → (pz : odef pchainU z) → odef (ZChain.chain (pzc (pic<x (proj2 pz)))) z |
1289 pchainx⊆chain {z} ⟪ aw , ic-init fc ⟫ = ⟪ aw , ch-init fc ⟫ | 1286 pchainU⊆chain {z} ⟪ aw , ic-init fc ⟫ = ⟪ aw , ch-init fc ⟫ |
1290 pchainx⊆chain {z} ⟪ aw , (ic-isup ia ia<x sa<x fca) ⟫ = ZChain.cfcs (pzc (ob<x lim ia<x) ) <-osuc o≤-refl uz03 fca where | 1287 pchainU⊆chain {z} ⟪ aw , (ic-isup ia ia<x sa<x fca) ⟫ = ZChain.cfcs (pzc (ob<x lim ia<x) ) <-osuc o≤-refl uz03 fca where |
1291 uz02 : FClosure A f (ZChain.supf (pzc (ob<x lim ia<x)) ia ) z | 1288 uz02 : FClosure A f (ZChain.supf (pzc (ob<x lim ia<x)) ia ) z |
1292 uz02 = fca | 1289 uz02 = fca |
1293 uz03 : ZChain.supf (pzc (ob<x lim ia<x)) ia o≤ ia | 1290 uz03 : ZChain.supf (pzc (ob<x lim ia<x)) ia o≤ ia |
1294 uz03 = sa<x | 1291 uz03 = sa<x |
1295 | 1292 |
1296 chain⊆pchainx : {z w : Ordinal } → (oz<x : osuc z o< x) → odef (ZChain.chain (pzc oz<x)) w → odef pchainx w | 1293 chain⊆pchainU : {z w : Ordinal } → (oz<x : osuc z o< x) → odef (ZChain.chain (pzc oz<x)) w → odef pchainU w |
1297 chain⊆pchainx {z} {w} oz<x ⟪ aw , ch-init fc ⟫ = ⟪ aw , ic-init fc ⟫ | 1294 chain⊆pchainU {z} {w} oz<x ⟪ aw , ch-init fc ⟫ = ⟪ aw , ic-init fc ⟫ |
1298 chain⊆pchainx {z} {w} oz<x ⟪ aw , ch-is-sup u u<oz su=u fc ⟫ | 1295 chain⊆pchainU {z} {w} oz<x ⟪ aw , ch-is-sup u u<oz su=u fc ⟫ |
1299 = ⟪ aw , ic-isup u u<x (o≤-refl0 su≡u) (subst (λ k → FClosure A f k w ) su=su fc) ⟫ where | 1296 = ⟪ aw , ic-isup u u<x (o≤-refl0 su≡u) (subst (λ k → FClosure A f k w ) su=su fc) ⟫ where |
1300 u<x : u o< x | 1297 u<x : u o< x |
1301 u<x = ordtrans u<oz oz<x | 1298 u<x = ordtrans u<oz oz<x |
1302 su=su : ZChain.supf (pzc oz<x) u ≡ supfz u<x | 1299 su=su : ZChain.supf (pzc oz<x) u ≡ supfz u<x |
1303 su=su = sym ( zeq _ _ (osucc u<oz) (o<→≤ <-osuc) ) | 1300 su=su = sym ( zeq _ _ (osucc u<oz) (o<→≤ <-osuc) ) |
1331 ic01 = ordtrans<-≤ ic02 sa<x | 1328 ic01 = ordtrans<-≤ ic02 sa<x |
1332 IC⊆ {a} {b} (ic-isup i i<x sa<x fc ) (ic-isup j j<x sb<x fcb ) ia≤ib | 1329 IC⊆ {a} {b} (ic-isup i i<x sa<x fc ) (ic-isup j j<x sb<x fcb ) ia≤ib |
1333 = ZChain.cfcs (pzc (ob<x lim j<x) ) ia≤ib o≤-refl (OrdTrans (ZChain.supf-mono (pzc (ob<x lim j<x)) ia≤ib) sb<x) | 1330 = ZChain.cfcs (pzc (ob<x lim j<x) ) ia≤ib o≤-refl (OrdTrans (ZChain.supf-mono (pzc (ob<x lim j<x)) ia≤ib) sb<x) |
1334 (subst (λ k → FClosure A f k a) (zeq _ _ (osucc ia≤ib) (o<→≤ <-osuc)) fc ) | 1331 (subst (λ k → FClosure A f k a) (zeq _ _ (osucc ia≤ib) (o<→≤ <-osuc)) fc ) |
1335 | 1332 |
1336 ptotalx : IsTotalOrderSet pchainx | 1333 ptotalU : IsTotalOrderSet pchainU |
1337 ptotalx {a} {b} ia ib with trio< (IChain-i (proj2 ia)) (IChain-i (proj2 ib)) | 1334 ptotalU {a} {b} ia ib with trio< (IChain-i (proj2 ia)) (IChain-i (proj2 ib)) |
1338 ... | tri< ia<ib ¬b ¬c = ZChain.f-total (pzc (pic<x (proj2 ib))) (IC⊆ (proj2 ia) (proj2 ib) (o<→≤ ia<ib)) (pchainx⊆chain ib) | 1335 ... | tri< ia<ib ¬b ¬c = ZChain.f-total (pzc (pic<x (proj2 ib))) (IC⊆ (proj2 ia) (proj2 ib) (o<→≤ ia<ib)) (pchainU⊆chain ib) |
1339 ... | tri≈ ¬a ia=ib ¬c = ZChain.f-total (pzc (pic<x (proj2 ib))) (IC⊆ (proj2 ia) (proj2 ib) (o≤-refl0 ia=ib)) (pchainx⊆chain ib) | 1336 ... | tri≈ ¬a ia=ib ¬c = ZChain.f-total (pzc (pic<x (proj2 ib))) (IC⊆ (proj2 ia) (proj2 ib) (o≤-refl0 ia=ib)) (pchainU⊆chain ib) |
1340 ... | tri> ¬a ¬b ib<ia = ZChain.f-total (pzc (pic<x (proj2 ia))) (pchainx⊆chain ia) (IC⊆ (proj2 ib) (proj2 ia) (o<→≤ ib<ia)) | 1337 ... | tri> ¬a ¬b ib<ia = ZChain.f-total (pzc (pic<x (proj2 ia))) (pchainU⊆chain ia) (IC⊆ (proj2 ib) (proj2 ia) (o<→≤ ib<ia)) |
1341 | 1338 |
1342 usup : MinSUP A pchainx | 1339 usup : MinSUP A pchainU |
1343 usup = minsupP pchainx (λ ic → ? ) ptotalx | 1340 usup = minsupP pchainU (λ ic → proj1 ic ) ptotalU |
1344 spu = MinSUP.sup usup | 1341 spu = MinSUP.sup usup |
1342 | |
1343 | |
1344 pchainS : HOD | |
1345 pchainS = record { od = record { def = λ z → (odef A z ∧ IChain ay supfz z ) | |
1346 ∨ (FClosure A f spu z ∧ (spu o< x)) } ; odmax = & A ; <odmax = zc00 } where | |
1347 zc00 : {z : Ordinal } → (odef A z ∧ IChain ay supfz z ) ∨ (FClosure A f spu z ∧ (spu o< x) )→ z o< & A | |
1348 zc00 {z} (case1 lt) = z07 lt | |
1349 zc00 {z} (case2 fc) = z09 ( A∋fc spu f mf (proj1 fc) ) | |
1350 | |
1351 zc02 : { a b : Ordinal } → odef A a ∧ IChain ay supfz a → FClosure A f spu b ∧ ( spu o< x) → a ≤ b | |
1352 zc02 {a} {b} ca fb = zc05 (proj1 fb) where | |
1353 zc05 : {b : Ordinal } → FClosure A f spu b → a ≤ b | |
1354 zc05 (fsuc b1 fb ) with proj1 ( mf b1 (A∋fc spu f mf fb )) | |
1355 ... | case1 eq = subst (λ k → a ≤ k ) eq (zc05 fb) | |
1356 ... | case2 lt = ≤-ftrans (zc05 fb) (case2 lt) | |
1357 zc05 (init b1 refl) = MinSUP.x≤sup usup ca | |
1358 | |
1359 ptotalS : IsTotalOrderSet pchainS | |
1360 ptotalS (case1 a) (case1 b) = ptotalU a b | |
1361 ptotalS {a0} {b0} (case1 a) (case2 b) with zc02 a b | |
1362 ... | case1 eq = tri≈ (<-irr (case1 (sym eq1))) eq1 (<-irr (case1 eq1)) where | |
1363 eq1 : a0 ≡ b0 | |
1364 eq1 = subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) eq ) | |
1365 ... | case2 lt = tri< lt1 (λ eq → <-irr (case1 (sym eq)) lt1) (<-irr (case2 lt1)) where | |
1366 lt1 : a0 < b0 | |
1367 lt1 = subst₂ (λ j k → j < k ) *iso *iso lt | |
1368 ptotalS {b0} {a0} (case2 b) (case1 a) with zc02 a b | |
1369 ... | case1 eq = tri≈ (<-irr (case1 eq1)) (sym eq1) (<-irr (case1 (sym eq1))) where | |
1370 eq1 : a0 ≡ b0 | |
1371 eq1 = subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) eq ) | |
1372 ... | case2 lt = tri> (<-irr (case2 lt1)) (λ eq → <-irr (case1 eq) lt1) lt1 where | |
1373 lt1 : a0 < b0 | |
1374 lt1 = subst₂ (λ j k → j < k ) *iso *iso lt | |
1375 ptotalS (case2 a) (case2 b) = subst₂ (λ j k → Tri (j < k) (j ≡ k) (k < j)) *iso *iso (fcn-cmp spu f mf (proj1 a) (proj1 b)) | |
1376 | |
1377 S⊆A : pchainS ⊆' A | |
1378 S⊆A (case1 lt) = proj1 lt | |
1379 S⊆A (case2 fc) = A∋fc _ f mf (proj1 fc) | |
1380 | |
1381 ssup : MinSUP A pchainS | |
1382 ssup = minsupP pchainS S⊆A ptotalS | |
1383 | |
1384 sps = MinSUP.sup ssup | |
1345 | 1385 |
1346 supf1 : Ordinal → Ordinal | 1386 supf1 : Ordinal → Ordinal |
1347 supf1 z with trio< z x | 1387 supf1 z with trio< z x |
1348 ... | tri< a ¬b ¬c = ZChain.supf (pzc (ob<x lim a)) z | 1388 ... | tri< a ¬b ¬c = ZChain.supf (pzc (ob<x lim a)) z -- each sup o< x |
1349 ... | tri≈ ¬a b ¬c = spu | 1389 ... | tri≈ ¬a b ¬c = spu -- sup of all sup o< x |
1350 ... | tri> ¬a ¬b c = spu | 1390 ... | tri> ¬a ¬b c = sps -- sup of spu which o< x |
1391 -- if x o< spu, spu is not included in UnionCF x | |
1392 -- the chain | |
1351 | 1393 |
1352 pchain : HOD | 1394 pchain : HOD |
1353 pchain = UnionCF A f ay supf1 x | 1395 pchain = UnionCF A f ay supf1 x |
1354 | 1396 |
1355 -- pchain ⊆ pchainx | 1397 -- pchain ⊆ pchainU ⊆ pchianS |
1356 | |
1357 ptotal : IsTotalOrderSet pchain | |
1358 ptotal {a} {b} ca cb = subst₂ (λ j k → Tri (j < k) (j ≡ k) (k < j)) *iso *iso uz01 where | |
1359 uz01 : Tri (* (& a) < * (& b)) (* (& a) ≡ * (& b)) (* (& b) < * (& a) ) | |
1360 uz01 = ? -- chain-total A f mf ay supf1 ( (proj2 ca)) ( (proj2 cb)) | |
1361 | 1398 |
1362 sf1=sf : {z : Ordinal } → (a : z o< x ) → supf1 z ≡ ZChain.supf (pzc (ob<x lim a)) z | 1399 sf1=sf : {z : Ordinal } → (a : z o< x ) → supf1 z ≡ ZChain.supf (pzc (ob<x lim a)) z |
1363 sf1=sf {z} z<x with trio< z x | 1400 sf1=sf {z} z<x with trio< z x |
1364 ... | tri< a ¬b ¬c = cong ( λ k → ZChain.supf (pzc (ob<x lim k)) z) o<-irr | 1401 ... | tri< a ¬b ¬c = cong ( λ k → ZChain.supf (pzc (ob<x lim k)) z) o<-irr |
1365 ... | tri≈ ¬a b ¬c = ⊥-elim (¬a z<x) | 1402 ... | tri≈ ¬a b ¬c = ⊥-elim (¬a z<x) |
1366 ... | tri> ¬a ¬b c = ⊥-elim (¬a z<x) | 1403 ... | tri> ¬a ¬b c = ⊥-elim (¬a z<x) |
1367 | 1404 |
1368 sf1=spu : {z : Ordinal } → (a : x o≤ z ) → supf1 z ≡ spu | 1405 sf1=spu : {z : Ordinal } → (a : x o≤ z ) → spu o< x → supf1 z ≡ spu |
1369 sf1=spu {z} x≤z with trio< z x | 1406 sf1=spu {z} x≤z s<x with trio< z x |
1370 ... | tri< a ¬b ¬c = ⊥-elim (o≤> x≤z a) | 1407 ... | tri< a ¬b ¬c = ⊥-elim (o≤> x≤z a) |
1371 ... | tri≈ ¬a b ¬c = refl | 1408 ... | tri≈ ¬a b ¬c = refl |
1372 ... | tri> ¬a ¬b c = refl | 1409 ... | tri> ¬a ¬b c = ? |
1373 | 1410 |
1374 zc11 : {z : Ordinal } → odef pchain z → odef pchainx z | 1411 sf1=sps : {z : Ordinal } → (a : x o≤ z ) → x o≤ spu → supf1 z ≡ sps |
1412 sf1=sps {z} x≤z x≤s with trio< z x | |
1413 ... | tri< a ¬b ¬c = ⊥-elim (o≤> x≤z a) | |
1414 ... | tri≈ ¬a b ¬c = ? | |
1415 ... | tri> ¬a ¬b c = ? | |
1416 | |
1417 zc11 : {z : Ordinal } → odef pchain z → odef pchainS z | |
1375 zc11 {z} lt = ? | 1418 zc11 {z} lt = ? |
1376 | 1419 |
1377 sfpx≤spu : {z : Ordinal } → supf1 z ≤ spu | 1420 sfpx≤spu : {z : Ordinal } → supf1 z ≤ sps |
1378 sfpx≤spu {z} with trio< z x | 1421 sfpx≤spu {z} with trio< z x |
1379 ... | tri< a ¬b ¬c = MinSUP.x≤sup usup ? -- (init (ZChain.asupf (pzc (ob<x lim a)) ) refl ) | 1422 ... | tri< a ¬b ¬c = ? -- MinSUP.x≤sup usup ? -- (init (ZChain.asupf (pzc (ob<x lim a)) ) refl ) |
1380 ... | tri≈ ¬a b ¬c = case1 refl | 1423 ... | tri≈ ¬a b ¬c = case1 ? |
1381 ... | tri> ¬a ¬b c = case1 refl | 1424 ... | tri> ¬a ¬b c = case1 ? |
1382 | 1425 |
1383 sfpxo≤spu : {z : Ordinal } → supf1 z o≤ spu | 1426 sfpxo≤spu : {z : Ordinal } → supf1 z o≤ sps |
1384 sfpxo≤spu {z} with trio< z x | 1427 sfpxo≤spu {z} with trio< z x |
1385 ... | tri< a ¬b ¬c = ? -- MinSUP.x≤sup usup ? -- (init (ZChain.asupf (pzc (ob<x lim a)) ) refl ) | 1428 ... | tri< a ¬b ¬c = ? -- MinSUP.x≤sup usup ? -- (init (ZChain.asupf (pzc (ob<x lim a)) ) refl ) |
1386 ... | tri≈ ¬a b ¬c = o≤-refl0 ? | 1429 ... | tri≈ ¬a b ¬c = o≤-refl0 ? |
1387 ... | tri> ¬a ¬b c = o≤-refl0 ? | 1430 ... | tri> ¬a ¬b c = o≤-refl0 ? |
1388 | 1431 |
1389 asupf : {z : Ordinal } → odef A (supf1 z) | 1432 asupf : {z : Ordinal } → odef A (supf1 z) |
1390 asupf {z} with trio< z x | 1433 asupf {z} with trio< z x |
1391 ... | tri< a ¬b ¬c = ZChain.asupf (pzc (ob<x lim a)) | 1434 ... | tri< a ¬b ¬c = ZChain.asupf (pzc (ob<x lim a)) |
1392 ... | tri≈ ¬a b ¬c = MinSUP.as usup | 1435 ... | tri≈ ¬a b ¬c = MinSUP.as usup |
1393 ... | tri> ¬a ¬b c = MinSUP.as usup | 1436 ... | tri> ¬a ¬b c = MinSUP.as ssup |
1394 | 1437 |
1395 supfmax : {z : Ordinal } → x o< z → supf1 z ≡ supf1 x | 1438 supfmax : {z : Ordinal } → x o< z → supf1 z ≡ supf1 x |
1396 supfmax {z} x<z with trio< z x | 1439 supfmax {z} x<z with trio< z x |
1397 ... | tri< a ¬b ¬c = ⊥-elim (o<> a x<z) | 1440 ... | tri< a ¬b ¬c = ⊥-elim (o<> a x<z) |
1398 ... | tri≈ ¬a b ¬c = ⊥-elim (o<¬≡ (sym b) x<z) | 1441 ... | tri≈ ¬a b ¬c = ⊥-elim (o<¬≡ (sym b) x<z) |
1399 ... | tri> ¬a ¬b c = sym (sf1=spu o≤-refl) | 1442 ... | tri> ¬a ¬b c = sym ? -- (sf1=sps o≤-refl) |
1400 | 1443 |
1401 supf-mono : {z y : Ordinal } → z o≤ y → supf1 z o≤ supf1 y | 1444 supf-mono : {z y : Ordinal } → z o≤ y → supf1 z o≤ supf1 y |
1402 supf-mono {z} {y} z≤y with trio< y x | 1445 supf-mono {z} {y} z≤y with trio< y x |
1403 ... | tri< y<x ¬b ¬c = ? where | 1446 ... | tri< y<x ¬b ¬c = ? where |
1404 open o≤-Reasoning O | 1447 open o≤-Reasoning O |
1499 z13 : * (& s) < * sp | 1542 z13 : * (& s) < * sp |
1500 z13 with MinSUP.x≤sup sp1 ( ZChain.chain∋init zc ) | 1543 z13 with MinSUP.x≤sup sp1 ( ZChain.chain∋init zc ) |
1501 ... | case1 eq = ⊥-elim ( ne eq ) | 1544 ... | case1 eq = ⊥-elim ( ne eq ) |
1502 ... | case2 lt = lt | 1545 ... | case2 lt = lt |
1503 z19 : IsSUP A (UnionCF A f ay (ZChain.supf zc) sp) sp | 1546 z19 : IsSUP A (UnionCF A f ay (ZChain.supf zc) sp) sp |
1504 z19 = record { ax = ? ; x≤sup = z20 } where | 1547 z19 = record { ax = asp ; x≤sup = z20 } where |
1505 z20 : {y : Ordinal} → odef (UnionCF A f ay (ZChain.supf zc) sp) y → (y ≡ sp) ∨ (y << sp) | 1548 z20 : {y : Ordinal} → odef (UnionCF A f ay (ZChain.supf zc) sp) y → (y ≡ sp) ∨ (y << sp) |
1506 z20 {y} zy with MinSUP.x≤sup sp1 | 1549 z20 {y} zy with MinSUP.x≤sup sp1 |
1507 (subst (λ k → odef chain k ) (sym &iso) (chain-mono f mf as0 supf (ZChain.supf-mono zc) (o<→≤ z22) zy )) | 1550 (subst (λ k → odef chain k ) (sym &iso) (chain-mono f mf as0 supf (ZChain.supf-mono zc) (o<→≤ z22) zy )) |
1508 ... | case1 y=p = case1 (subst (λ k → k ≡ _ ) &iso y=p ) | 1551 ... | case1 y=p = case1 (subst (λ k → k ≡ _ ) &iso y=p ) |
1509 ... | case2 y<p = case2 (subst (λ k → * k < _ ) &iso y<p ) | 1552 ... | case2 y<p = case2 (subst (λ k → * k < _ ) &iso y<p ) |