Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison src/zorn.agda @ 1032:382680c3e9be
minsup is not obvious in ZChain
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 30 Nov 2022 20:43:01 +0900 |
parents | f276cf614fc5 |
children | 2da8dcbb0825 |
comparison
equal
deleted
inserted
replaced
1031:f276cf614fc5 | 1032:382680c3e9be |
---|---|
80 | 80 |
81 <-irr : {a b : HOD} → (a ≡ b ) ∨ (a < b ) → b < a → ⊥ | 81 <-irr : {a b : HOD} → (a ≡ b ) ∨ (a < b ) → b < a → ⊥ |
82 <-irr {a} {b} (case1 a=b) b<a = IsStrictPartialOrder.irrefl PO (sym a=b) b<a | 82 <-irr {a} {b} (case1 a=b) b<a = IsStrictPartialOrder.irrefl PO (sym a=b) b<a |
83 <-irr {a} {b} (case2 a<b) b<a = IsStrictPartialOrder.irrefl PO refl | 83 <-irr {a} {b} (case2 a<b) b<a = IsStrictPartialOrder.irrefl PO refl |
84 (IsStrictPartialOrder.trans PO b<a a<b) | 84 (IsStrictPartialOrder.trans PO b<a a<b) |
85 | |
86 <<-irr : {a b : Ordinal } → a ≤ b → b << a → ⊥ | |
87 <<-irr {a} {b} (case1 a=b) b<a = IsStrictPartialOrder.irrefl PO (cong (*) (sym a=b)) b<a | |
88 <<-irr {a} {b} (case2 a<b) b<a = IsStrictPartialOrder.irrefl PO refl (IsStrictPartialOrder.trans PO b<a a<b) | |
85 | 89 |
86 ptrans = IsStrictPartialOrder.trans PO | 90 ptrans = IsStrictPartialOrder.trans PO |
87 | 91 |
88 open _==_ | 92 open _==_ |
89 open _⊆_ | 93 open _⊆_ |
217 | 221 |
218 _⊆'_ : ( A B : HOD ) → Set n | 222 _⊆'_ : ( A B : HOD ) → Set n |
219 _⊆'_ A B = {x : Ordinal } → odef A x → odef B x | 223 _⊆'_ A B = {x : Ordinal } → odef A x → odef B x |
220 | 224 |
221 -- | 225 -- |
222 -- inductive maxmum tree from x | 226 -- inductive masum tree from x |
223 -- tree structure | 227 -- tree structure |
224 -- | 228 -- |
225 | 229 |
226 record HasPrev (A B : HOD) ( f : Ordinal → Ordinal ) (x : Ordinal ) : Set n where | 230 record HasPrev (A B : HOD) ( f : Ordinal → Ordinal ) (x : Ordinal ) : Set n where |
227 field | 231 field |
264 | 268 |
265 fc-total : (A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) (supf : Ordinal → Ordinal ) | 269 fc-total : (A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) (supf : Ordinal → Ordinal ) |
266 (order : {x y w : Ordinal } → x o< y → FClosure A f (supf x) w → w ≤ supf y) | 270 (order : {x y w : Ordinal } → x o< y → FClosure A f (supf x) w → w ≤ supf y) |
267 {s s1 a b : Ordinal } ( fa : FClosure A f (supf s) a )( fb : FClosure A f (supf s1) b ) → Tri (* a < * b) (* a ≡ * b) (* b < * a ) | 271 {s s1 a b : Ordinal } ( fa : FClosure A f (supf s) a )( fb : FClosure A f (supf s1) b ) → Tri (* a < * b) (* a ≡ * b) (* b < * a ) |
268 fc-total A f mf supf order {xa} {xb} {a} {b} ca cb with trio< xa xb | 272 fc-total A f mf supf order {xa} {xb} {a} {b} ca cb with trio< xa xb |
269 ... | tri< a₁ ¬b ¬c with order a₁ ca | 273 ... | tri< a₁ ¬b ¬c with ≤-ftrans (order a₁ ca ) (s≤fc (supf xb) f mf cb ) |
270 ... | case1 eq1 = tri≈ (λ lt → ⊥-elim (<-irr (case1 (sym ct00)) lt)) ct00 (λ lt → ⊥-elim (<-irr (case1 ct00) lt)) where | 274 ... | case1 eq1 = tri≈ (λ lt → ⊥-elim (<-irr (case1 (sym ct00)) lt)) ct00 (λ lt → ⊥-elim (<-irr (case1 ct00) lt)) where |
271 ct00 : * a ≡ * b | 275 ct00 : * a ≡ * b |
272 ct00 = ? -- trans (cong (*) eq) eq1 | 276 ct00 = cong (*) eq1 |
273 ... | case2 lt = tri< ct02 (λ eq → <-irr (case1 (sym eq)) ct02) (λ lt → <-irr (case2 ct02) lt) where | 277 ... | case2 a<b = tri< a<b (λ eq → <-irr (case1 (sym eq)) a<b ) (λ lt → <-irr (case2 a<b ) lt) |
274 ct02 : * a < * b | 278 fc-total A f mf supf order {xa} {xb} {a} {b} ca cb | tri≈ _ refl _ = fcn-cmp _ f mf ca cb |
275 ct02 = ? -- subst (λ k → * k < * b ) (sym eq) lt | 279 fc-total A f mf supf order {xa} {xb} {a} {b} ca cb | tri> ¬a ¬b c with ≤-ftrans (order c cb ) (s≤fc (supf xa) f mf ca ) |
276 fc-total f mf supf {xa} {xb} {a} {b} ca cb | tri≈ a₁ ¬b ¬c = ? | 280 ... | case1 eq1 = tri≈ (λ lt → ⊥-elim (<-irr (case1 (sym ct00)) lt)) ct00 (λ lt → ⊥-elim (<-irr (case1 ct00) lt)) where |
277 fc-total A f mf supf order {xa} {xb} {a} {b} ca cb | tri> ¬a ¬b c = ? | 281 ct00 : * a ≡ * b |
282 ct00 = cong (*) (sym eq1) | |
283 ... | case2 b<a = tri> (λ lt → <-irr (case2 b<a ) lt) (λ eq → <-irr (case1 eq) b<a ) b<a | |
278 | 284 |
279 | 285 |
280 ∈∧P→o< : {A : HOD } {y : Ordinal} → {P : Set n} → odef A y ∧ P → y o< & A | 286 ∈∧P→o< : {A : HOD } {y : Ordinal} → {P : Set n} → odef A y ∧ P → y o< & A |
281 ∈∧P→o< {A } {y} p = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) (proj1 p ))) | 287 ∈∧P→o< {A } {y} p = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) (proj1 p ))) |
282 | 288 |
309 ... | case1 eq = ⊥-elim ( o<¬≡ (sym eq) sx<sy ) | 315 ... | case1 eq = ⊥-elim ( o<¬≡ (sym eq) sx<sy ) |
310 ... | case2 lt = ⊥-elim ( o<> sx<sy lt ) | 316 ... | case2 lt = ⊥-elim ( o<> sx<sy lt ) |
311 | 317 |
312 record IsMinSUP ( A B : HOD ) (sup : Ordinal) : Set n where | 318 record IsMinSUP ( A B : HOD ) (sup : Ordinal) : Set n where |
313 field | 319 field |
314 axm : odef A sup | 320 as : odef A sup |
315 x≤sup : {x : Ordinal } → odef B x → (x ≡ sup ) ∨ (x << sup ) | 321 x≤sup : {x : Ordinal } → odef B x → (x ≡ sup ) ∨ (x << sup ) |
316 minsup : { sup1 : Ordinal } → odef A sup1 | 322 minsup : { sup1 : Ordinal } → odef A sup1 |
317 → ( {x : Ordinal } → odef B x → (x ≡ sup1 ) ∨ (x << sup1 )) → sup o≤ sup1 | 323 → ( {x : Ordinal } → odef B x → (x ≡ sup1 ) ∨ (x << sup1 )) → sup o≤ sup1 |
318 | 324 |
319 record MinSUP ( A B : HOD ) : Set n where | 325 record MinSUP ( A B : HOD ) : Set n where |
320 field | 326 field |
321 sup : Ordinal | 327 sup : Ordinal |
322 isMinSUP : IsMinSUP A B sup | 328 isMinSUP : IsMinSUP A B sup |
323 axm = IsMinSUP.axm isMinSUP | 329 as = IsMinSUP.as isMinSUP |
324 x≤sup = IsMinSUP.x≤sup isMinSUP | 330 x≤sup = IsMinSUP.x≤sup isMinSUP |
325 minsup = IsMinSUP.minsup isMinSUP | 331 minsup = IsMinSUP.minsup isMinSUP |
326 | 332 |
327 z09 : {b : Ordinal } { A : HOD } → odef A b → b o< & A | 333 z09 : {b : Ordinal } { A : HOD } → odef A b → b o< & A |
328 z09 {b} {A} ab = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) ab)) | 334 z09 {b} {A} ab = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) ab)) |
330 M→S : { A : HOD } { f : Ordinal → Ordinal } {mf : ≤-monotonic-f A f} {y : Ordinal} {ay : odef A y} { x : Ordinal } | 336 M→S : { A : HOD } { f : Ordinal → Ordinal } {mf : ≤-monotonic-f A f} {y : Ordinal} {ay : odef A y} { x : Ordinal } |
331 → (supf : Ordinal → Ordinal ) | 337 → (supf : Ordinal → Ordinal ) |
332 → MinSUP A (UnionCF A f supf x) | 338 → MinSUP A (UnionCF A f supf x) |
333 → SUP A (UnionCF A f supf x) | 339 → SUP A (UnionCF A f supf x) |
334 M→S {A} {f} {mf} {y} {ay} {x} supf ms = record { sup = * (MinSUP.sup ms) | 340 M→S {A} {f} {mf} {y} {ay} {x} supf ms = record { sup = * (MinSUP.sup ms) |
335 ; isSUP = record { ax = subst (λ k → odef A k) (sym &iso) (MinSUP.axm ms) ; x≤sup = ? } } where | 341 ; isSUP = record { ax = subst (λ k → odef A k) (sym &iso) (MinSUP.as ms) ; x≤sup = ms00 } } where |
336 msup = MinSUP.sup ms | 342 ms00 : {z : Ordinal} → odef (UnionCF A f supf x) z → (z ≡ & (* (MinSUP.sup ms))) ∨ (z << & (* (MinSUP.sup ms))) |
337 ms00 : {z : HOD} → UnionCF A f supf x ∋ z → (z ≡ * msup) ∨ (z < * msup) | |
338 ms00 {z} uz with MinSUP.x≤sup ms uz | 343 ms00 {z} uz with MinSUP.x≤sup ms uz |
339 ... | case1 eq = case1 (subst (λ k → k ≡ _) *iso ( cong (*) eq)) | 344 ... | case1 eq = case1 (subst (λ k → z ≡ k) (sym &iso) eq) |
340 ... | case2 lt = case2 (subst₂ (λ j k → j < k ) *iso refl lt ) | 345 ... | case2 lt = case2 (subst (λ k → * z < k ) (sym *iso) lt ) |
341 | 346 |
342 | 347 |
343 chain-mono : {A : HOD} ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) {y : Ordinal} (ay : odef A y) (supf : Ordinal → Ordinal ) | 348 chain-mono : {A : HOD} ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) {y : Ordinal} (ay : odef A y) (supf : Ordinal → Ordinal ) |
344 (supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y ) {a b c : Ordinal} → a o≤ b | 349 (supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y ) {a b c : Ordinal} → a o≤ b |
345 → odef (UnionCF A f supf a) c → odef (UnionCF A f supf b) c | 350 → odef (UnionCF A f supf a) c → odef (UnionCF A f supf b) c |
346 chain-mono f mf ay supf supf-mono {a} {b} {c} a≤b ⟪ ua , ch-is-sup u u<x supu=u fc ⟫ = ⟪ ua , ch-is-sup u (ordtrans<-≤ u<x a≤b) supu=u fc ⟫ | 351 chain-mono f mf ay supf supf-mono {a} {b} {c} a≤b ⟪ ua , ch-is-sup u u<x supu=u fc ⟫ = ⟪ ua , ch-is-sup u (ordtrans<-≤ u<x a≤b) supu=u fc ⟫ |
347 | 352 |
348 chain-minsup : {A : HOD} ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) (supf : Ordinal → Ordinal ) | |
349 ( order : {x y w : Ordinal } → x o< y → FClosure A f (supf x) w → w ≤ supf y) | |
350 {x : Ordinal} → IsMinSUP A (UnionCF A f supf x) x | |
351 chain-minsup = ? | |
352 | |
353 record ZChain ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) | 353 record ZChain ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) |
354 {y : Ordinal} (ay : odef A y) ( z : Ordinal ) : Set (Level.suc n) where | 354 {y : Ordinal} (ay : odef A y) ( z : Ordinal ) : Set (Level.suc n) where |
355 field | 355 field |
356 supf : Ordinal → Ordinal | 356 supf : Ordinal → Ordinal |
357 | 357 |
358 sup=u : {b : Ordinal} → (ab : odef A b) → b o≤ z | |
359 → IsSUP A (UnionCF A f supf b) b ∧ (¬ HasPrev A (UnionCF A f supf b) f b ) → supf b ≡ b | |
360 cfcs : (mf< : <-monotonic-f A f) | 358 cfcs : (mf< : <-monotonic-f A f) |
361 {a b w : Ordinal } → a o< b → b o≤ z → supf a o< b → FClosure A f (supf a) w → odef (UnionCF A f supf b) w | 359 {a b w : Ordinal } → a o< b → b o≤ z → supf a o< b → FClosure A f (supf a) w → odef (UnionCF A f supf b) w |
360 fcy<sup : {w : Ordinal } → FClosure A f y w → (w ≡ supf o∅ ) ∨ ( w << supf o∅ ) | |
362 order : {x y w : Ordinal } → x o< y → FClosure A f (supf x) w → w ≤ supf y | 361 order : {x y w : Ordinal } → x o< y → FClosure A f (supf x) w → w ≤ supf y |
363 | 362 |
364 asupf : {x : Ordinal } → odef A (supf x) | 363 asupf : {x : Ordinal } → odef A (supf x) |
365 supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y | 364 supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y |
366 supfmax : {x : Ordinal } → z o< x → supf x ≡ supf z | 365 supfmax : {x : Ordinal } → z o< x → supf x ≡ supf z |
367 supf0 : supf o∅ ≡ y | 366 |
368 | 367 is-minsup : {x : Ordinal } → (x≤z : x o≤ z) → IsMinSUP A (UnionCF A f supf x) (supf x) |
369 minsup : {x : Ordinal } → x o≤ z → MinSUP A (UnionCF A f supf x) | 368 sup=u : {b : Ordinal} → (ab : odef A b) → b o≤ z |
370 supf-is-minsup : {x : Ordinal } → (x≤z : x o≤ z) → supf x ≡ MinSUP.sup ( minsup x≤z ) | 369 → IsSUP A (UnionCF A f supf b) b ∧ (¬ HasPrev A (UnionCF A f supf b) f b ) → supf b ≡ b |
371 | 370 |
372 chain : HOD | 371 chain : HOD |
373 chain = UnionCF A f supf z | 372 chain = UnionCF A f supf z |
374 chain⊆A : chain ⊆' A | 373 chain⊆A : chain ⊆' A |
375 chain⊆A = λ lt → proj1 lt | 374 chain⊆A = λ lt → proj1 lt |
376 | |
377 sup : {x : Ordinal } → x o≤ z → SUP A (UnionCF A f supf x) | |
378 sup {x} x≤z = M→S supf (minsup x≤z) | |
379 | |
380 s=ms : {x : Ordinal } → (x≤z : x o≤ z ) → & (SUP.sup (sup x≤z)) ≡ MinSUP.sup (minsup x≤z) | |
381 s=ms {x} x≤z = &iso | |
382 | 375 |
383 chain∋init : odef chain y | 376 chain∋init : odef chain y |
384 chain∋init = ⟪ ay , ? ⟫ | 377 chain∋init = ⟪ ay , ? ⟫ |
385 f-next : {a z : Ordinal} → odef (UnionCF A f supf z) a → odef (UnionCF A f supf z) (f a) | 378 f-next : {a z : Ordinal} → odef (UnionCF A f supf z) a → odef (UnionCF A f supf z) (f a) |
386 f-next {a} ⟪ aa , cp ⟫ = ? | 379 f-next {a} ⟪ aa , cp ⟫ = ? |
387 initial : {z : Ordinal } → odef chain z → y ≤ z | 380 initial : {z : Ordinal } → odef chain z → y ≤ z |
388 initial {a} ⟪ aa , ua ⟫ = ? | 381 initial {a} ⟪ aa , ua ⟫ = ? |
389 f-total : IsTotalOrderSet chain | 382 f-total : IsTotalOrderSet chain |
390 f-total {a} {b} ca cb = subst₂ (λ j k → Tri (j < k) (j ≡ k) (k < j)) *iso *iso uz01 where | 383 f-total {a} {b} ca cb = ? |
391 uz01 : Tri (* (& a) < * (& b)) (* (& a) ≡ * (& b)) (* (& b) < * (& a) ) | 384 -- subst₂ (λ j k → Tri (j < k) (j ≡ k) (k < j)) *iso *iso uz01 where |
392 uz01 = ? -- chain-total A f supf ( (proj2 ca)) ( (proj2 cb)) | 385 -- uz01 : Tri (* (& a) < * (& b)) (* (& a) ≡ * (& b)) (* (& b) < * (& a) ) |
386 -- uz01 with trio< (& a) (& b) | |
387 -- ... | tri> ¬a ¬b c = ? | |
388 -- ... | tri≈ ¬a b ¬c = ? | |
389 -- ... | tri< a ¬b ¬c = ? | |
393 | 390 |
394 supf-inject : {x y : Ordinal } → supf x o< supf y → x o< y | 391 supf-inject : {x y : Ordinal } → supf x o< supf y → x o< y |
395 supf-inject {x} {y} sx<sy with trio< x y | 392 supf-inject {x} {y} sx<sy with trio< x y |
396 ... | tri< a ¬b ¬c = a | 393 ... | tri< a ¬b ¬c = a |
397 ... | tri≈ ¬a refl ¬c = ⊥-elim ( o<¬≡ (cong supf refl) sx<sy ) | 394 ... | tri≈ ¬a refl ¬c = ⊥-elim ( o<¬≡ (cong supf refl) sx<sy ) |
404 | 401 |
405 csupf : (mf< : <-monotonic-f A f) {b : Ordinal } | 402 csupf : (mf< : <-monotonic-f A f) {b : Ordinal } |
406 → supf b o< supf z → supf b o< z → odef (UnionCF A f supf z) (supf b) -- supf z is not an element of this chain | 403 → supf b o< supf z → supf b o< z → odef (UnionCF A f supf z) (supf b) -- supf z is not an element of this chain |
407 csupf mf< {b} sb<sz sb<z = cfcs mf< (supf-inject sb<sz) o≤-refl sb<z (init asupf refl) | 404 csupf mf< {b} sb<sz sb<z = cfcs mf< (supf-inject sb<sz) o≤-refl sb<z (init asupf refl) |
408 | 405 |
409 fcy<sup : {u w : Ordinal } → u o≤ z → FClosure A f y w → (w ≡ supf u ) ∨ ( w << supf u ) -- different from order because y o< supf | 406 minsup : {x : Ordinal } → x o≤ z → MinSUP A (UnionCF A f supf x) |
410 fcy<sup {u} {w} u≤z fc with MinSUP.x≤sup (minsup u≤z) ⟪ subst (λ k → odef A k ) (sym &iso) (A∋fc {A} y f mf fc) , ? ⟫ | 407 minsup {x} x≤z = record { sup = supf x ; isMinSUP = is-minsup x≤z } |
411 ... | case1 eq = case1 (subst (λ k → k ≡ supf u ) &iso (trans eq (sym (supf-is-minsup u≤z ) ) )) | 408 |
412 ... | case2 lt = case2 (subst₂ (λ j k → j << k ) &iso (sym (supf-is-minsup u≤z )) lt ) | 409 supf-is-minsup : {x : Ordinal } → (x≤z : x o≤ z) → supf x ≡ MinSUP.sup (minsup x≤z) |
413 | 410 supf-is-minsup _ = refl |
414 -- ordering is not proved here but in ZChain1 | 411 |
412 chain-minsup : {x : Ordinal} → IsMinSUP A (UnionCF A f supf x) (supf x) | |
413 chain-minsup {x} = record { as = as ; x≤sup = cp1 ; minsup = cpm } where | |
414 as : odef A (supf x) | |
415 as = asupf | |
416 cp1 : {z : Ordinal} → odef (UnionCF A f supf x) z → (z ≡ supf x) ∨ (z << supf x) | |
417 cp1 {z} ⟪ az , ch-is-sup u u<x supu=u fc ⟫ = order u<x fc | |
418 cpm : {s : Ordinal} → odef A s → ({z : Ordinal} → odef (UnionCF A f supf x) z → (z ≡ s) ∨ (z << s)) → supf x o≤ s | |
419 cpm {s} as z≤s with trio< (supf x) s | |
420 ... | tri< a ¬b ¬c = o<→≤ a | |
421 ... | tri≈ ¬a b ¬c = o≤-refl0 b | |
422 ... | tri> ¬a ¬b c = ? where | |
423 cp4 : supf (supf s) ≡ supf s | |
424 cp4 = ? | |
425 cp3 : supf s o< x | |
426 cp3 = ? | |
427 cp2 : odef (UnionCF A f supf x) (supf s) | |
428 cp2 = ⟪ asupf , ch-is-sup (supf s) cp3 cp4 (init asupf cp4) ⟫ | |
429 -- ... | case1 eq = ? | |
430 -- ... | case2 lt = ? | |
415 | 431 |
416 IsMinSUP→NotHasPrev : {x sp : Ordinal } → odef A sp | 432 IsMinSUP→NotHasPrev : {x sp : Ordinal } → odef A sp |
417 → ({y : Ordinal} → odef (UnionCF A f supf x) y → (y ≡ sp ) ∨ (y << sp )) | 433 → ({y : Ordinal} → odef (UnionCF A f supf x) y → (y ≡ sp ) ∨ (y << sp )) |
418 → ( {a : Ordinal } → odef A a → a << f a ) | 434 → ( {a : Ordinal } → odef A a → a << f a ) |
419 → ¬ ( HasPrev A (UnionCF A f supf x) f sp ) | 435 → ¬ ( HasPrev A (UnionCF A f supf x) f sp ) |
420 IsMinSUP→NotHasPrev {x} {sp} asp is-sup <-mono-f hp = ⊥-elim (<-irr ? sp<fsp ) where | 436 IsMinSUP→NotHasPrev {x} {sp} asp is-sup <-mono-f hp = ⊥-elim (<<-irr fsp≤sp sp<fsp ) where |
421 sp<fsp : sp << f sp | 437 sp<fsp : sp << f sp |
422 sp<fsp = <-mono-f asp | 438 sp<fsp = <-mono-f asp |
423 pr = HasPrev.y hp | 439 pr = HasPrev.y hp |
424 im00 : f (f pr) ≤ sp | 440 im00 : f (f pr) ≤ sp |
425 im00 = is-sup ( f-next (f-next (HasPrev.ay hp))) | 441 im00 = is-sup ( f-next (f-next (HasPrev.ay hp))) |
491 sxa=sxb with trio< (supfa x) (supfb x) | 507 sxa=sxb with trio< (supfa x) (supfb x) |
492 ... | tri≈ ¬a b ¬c = b | 508 ... | tri≈ ¬a b ¬c = b |
493 ... | tri< a ¬b ¬c = ⊥-elim ( o≤> ( | 509 ... | tri< a ¬b ¬c = ⊥-elim ( o≤> ( |
494 begin | 510 begin |
495 supfb x ≡⟨ sbx=spb ⟩ | 511 supfb x ≡⟨ sbx=spb ⟩ |
496 spb ≤⟨ MinSUP.minsup mb (MinSUP.axm ma) (λ {z} uzb → MinSUP.x≤sup ma (z53 uzb)) ⟩ | 512 spb ≤⟨ MinSUP.minsup mb (MinSUP.as ma) (λ {z} uzb → MinSUP.x≤sup ma (z53 uzb)) ⟩ |
497 spa ≡⟨ sym sax=spa ⟩ | 513 spa ≡⟨ sym sax=spa ⟩ |
498 supfa x ∎ ) a ) where | 514 supfa x ∎ ) a ) where |
499 open o≤-Reasoning O | 515 open o≤-Reasoning O |
500 z53 : {z : Ordinal } → odef (UnionCF A f (ZChain.supf zb) x) z → odef (UnionCF A f (ZChain.supf za) x) z | 516 z53 : {z : Ordinal } → odef (UnionCF A f (ZChain.supf zb) x) z → odef (UnionCF A f (ZChain.supf za) x) z |
501 z53 {z} ⟪ as , cp ⟫ = ⟪ as , ? ⟫ | 517 z53 {z} ⟪ as , cp ⟫ = ⟪ as , ? ⟫ |
502 ... | tri> ¬a ¬b c = ⊥-elim ( o≤> ( | 518 ... | tri> ¬a ¬b c = ⊥-elim ( o≤> ( |
503 begin | 519 begin |
504 supfa x ≡⟨ sax=spa ⟩ | 520 supfa x ≡⟨ sax=spa ⟩ |
505 spa ≤⟨ MinSUP.minsup ma (MinSUP.axm mb) (λ uza → MinSUP.x≤sup mb (z53 uza)) ⟩ | 521 spa ≤⟨ MinSUP.minsup ma (MinSUP.as mb) (λ uza → MinSUP.x≤sup mb (z53 uza)) ⟩ |
506 spb ≡⟨ sym sbx=spb ⟩ | 522 spb ≡⟨ sym sbx=spb ⟩ |
507 supfb x ∎ ) c ) where | 523 supfb x ∎ ) c ) where |
508 open o≤-Reasoning O | 524 open o≤-Reasoning O |
509 z53 : {z : Ordinal } → odef (UnionCF A f (ZChain.supf za) x) z → odef (UnionCF A f (ZChain.supf zb) x) z | 525 z53 : {z : Ordinal } → odef (UnionCF A f (ZChain.supf za) x) z → odef (UnionCF A f (ZChain.supf zb) x) z |
510 z53 {z} ⟪ as , cp ⟫ = ⟪ as , ? ⟫ | 526 z53 {z} ⟪ as , cp ⟫ = ⟪ as , ? ⟫ |
576 ... | tri≈ ¬a b ¬c = case1 ( λ lt → ⊥-elim ( ¬a lt ) ) | 592 ... | tri≈ ¬a b ¬c = case1 ( λ lt → ⊥-elim ( ¬a lt ) ) |
577 ... | tri> ¬a ¬b c = case1 ( λ lt → ⊥-elim ( ¬a lt ) ) | 593 ... | tri> ¬a ¬b c = case1 ( λ lt → ⊥-elim ( ¬a lt ) ) |
578 ... | tri< a ¬b ¬c with prev z a | 594 ... | tri< a ¬b ¬c with prev z a |
579 ... | case2 mins = case2 mins | 595 ... | case2 mins = case2 mins |
580 ... | case1 not with ODC.p∨¬p O (odef A z ∧ xsup z) | 596 ... | case1 not with ODC.p∨¬p O (odef A z ∧ xsup z) |
581 ... | case1 mins = case2 record { sup = z ; isMinSUP = record { axm = proj1 mins ; x≤sup = proj2 mins ; minsup = m04 } } where | 597 ... | case1 mins = case2 record { sup = z ; isMinSUP = record { as = proj1 mins ; x≤sup = proj2 mins ; minsup = m04 } } where |
582 m04 : {sup1 : Ordinal} → odef A sup1 → ({w : Ordinal} → odef B w → (w ≡ sup1) ∨ (w << sup1)) → z o≤ sup1 | 598 m04 : {sup1 : Ordinal} → odef A sup1 → ({w : Ordinal} → odef B w → (w ≡ sup1) ∨ (w << sup1)) → z o≤ sup1 |
583 m04 {s} as lt with trio< z s | 599 m04 {s} as lt with trio< z s |
584 ... | tri< a ¬b ¬c = o<→≤ a | 600 ... | tri< a ¬b ¬c = o<→≤ a |
585 ... | tri≈ ¬a b ¬c = o≤-refl0 b | 601 ... | tri≈ ¬a b ¬c = o≤-refl0 b |
586 ... | tri> ¬a ¬b s<z = ⊥-elim ( not s s<z ⟪ as , lt ⟫ ) | 602 ... | tri> ¬a ¬b s<z = ⊥-elim ( not s s<z ⟪ as , lt ⟫ ) |
867 | 883 |
868 asupf1 : {z : Ordinal } → odef A (supf1 z) | 884 asupf1 : {z : Ordinal } → odef A (supf1 z) |
869 asupf1 {z} with trio< z px | 885 asupf1 {z} with trio< z px |
870 ... | tri< a ¬b ¬c = ZChain.asupf zc | 886 ... | tri< a ¬b ¬c = ZChain.asupf zc |
871 ... | tri≈ ¬a b ¬c = ZChain.asupf zc | 887 ... | tri≈ ¬a b ¬c = ZChain.asupf zc |
872 ... | tri> ¬a ¬b c = MinSUP.axm sup1 | 888 ... | tri> ¬a ¬b c = MinSUP.as sup1 |
873 | 889 |
874 supf1-mono : {a b : Ordinal } → a o≤ b → supf1 a o≤ supf1 b | 890 supf1-mono : {a b : Ordinal } → a o≤ b → supf1 a o≤ supf1 b |
875 supf1-mono {a} {b} a≤b with trio< b px | 891 supf1-mono {a} {b} a≤b with trio< b px |
876 ... | tri< a ¬b ¬c = subst₂ (λ j k → j o≤ k ) (sym (sf1=sf0 (o<→≤ (ordtrans≤-< a≤b a)))) refl ( supf-mono a≤b ) | 892 ... | tri< a ¬b ¬c = subst₂ (λ j k → j o≤ k ) (sym (sf1=sf0 (o<→≤ (ordtrans≤-< a≤b a)))) refl ( supf-mono a≤b ) |
877 ... | tri≈ ¬a b ¬c = subst₂ (λ j k → j o≤ k ) (sym (sf1=sf0 (subst (λ k → a o≤ k) b a≤b))) refl ( supf-mono a≤b ) | 893 ... | tri≈ ¬a b ¬c = subst₂ (λ j k → j o≤ k ) (sym (sf1=sf0 (subst (λ k → a o≤ k) b a≤b))) refl ( supf-mono a≤b ) |
880 zc21 : MinSUP A (UnionCF A f supf0 a) | 896 zc21 : MinSUP A (UnionCF A f supf0 a) |
881 zc21 = ZChain.minsup zc (o<→≤ a<px) | 897 zc21 = ZChain.minsup zc (o<→≤ a<px) |
882 zc24 : {x₁ : Ordinal} → odef (UnionCF A f supf0 a) x₁ → (x₁ ≡ sp1) ∨ (x₁ << sp1) | 898 zc24 : {x₁ : Ordinal} → odef (UnionCF A f supf0 a) x₁ → (x₁ ≡ sp1) ∨ (x₁ << sp1) |
883 zc24 {x₁} ux = MinSUP.x≤sup sup1 (case1 (chain-mono f mf ay supf0 (ZChain.supf-mono zc) (o<→≤ a<px) ux ) ) | 899 zc24 {x₁} ux = MinSUP.x≤sup sup1 (case1 (chain-mono f mf ay supf0 (ZChain.supf-mono zc) (o<→≤ a<px) ux ) ) |
884 zc19 : supf0 a o≤ sp1 | 900 zc19 : supf0 a o≤ sp1 |
885 zc19 = subst (λ k → k o≤ sp1) (sym (ZChain.supf-is-minsup zc (o<→≤ a<px))) ( MinSUP.minsup zc21 (MinSUP.axm sup1) zc24 ) | 901 zc19 = subst (λ k → k o≤ sp1) (sym (ZChain.supf-is-minsup zc (o<→≤ a<px))) ( MinSUP.minsup zc21 (MinSUP.as sup1) zc24 ) |
886 ... | tri≈ ¬a b ¬c = zc18 where | 902 ... | tri≈ ¬a b ¬c = zc18 where |
887 zc21 : MinSUP A (UnionCF A f supf0 a) | 903 zc21 : MinSUP A (UnionCF A f supf0 a) |
888 zc21 = ZChain.minsup zc (o≤-refl0 b) | 904 zc21 = ZChain.minsup zc (o≤-refl0 b) |
889 zc20 : MinSUP.sup zc21 ≡ supf0 a | 905 zc20 : MinSUP.sup zc21 ≡ supf0 a |
890 zc20 = sym (ZChain.supf-is-minsup zc (o≤-refl0 b)) | 906 zc20 = sym (ZChain.supf-is-minsup zc (o≤-refl0 b)) |
891 zc24 : {x₁ : Ordinal} → odef (UnionCF A f supf0 a) x₁ → (x₁ ≡ sp1) ∨ (x₁ << sp1) | 907 zc24 : {x₁ : Ordinal} → odef (UnionCF A f supf0 a) x₁ → (x₁ ≡ sp1) ∨ (x₁ << sp1) |
892 zc24 {x₁} ux = MinSUP.x≤sup sup1 (case1 (chain-mono f mf ay supf0 (ZChain.supf-mono zc) (o≤-refl0 b) ux ) ) | 908 zc24 {x₁} ux = MinSUP.x≤sup sup1 (case1 (chain-mono f mf ay supf0 (ZChain.supf-mono zc) (o≤-refl0 b) ux ) ) |
893 zc18 : supf0 a o≤ sp1 | 909 zc18 : supf0 a o≤ sp1 |
894 zc18 = subst (λ k → k o≤ sp1) zc20( MinSUP.minsup zc21 (MinSUP.axm sup1) zc24 ) | 910 zc18 = subst (λ k → k o≤ sp1) zc20( MinSUP.minsup zc21 (MinSUP.as sup1) zc24 ) |
895 ... | tri> ¬a ¬b c = o≤-refl | 911 ... | tri> ¬a ¬b c = o≤-refl |
896 | 912 |
897 sf≤ : { z : Ordinal } → x o≤ z → supf0 x o≤ supf1 z | 913 sf≤ : { z : Ordinal } → x o≤ z → supf0 x o≤ supf1 z |
898 sf≤ {z} x≤z with trio< z px | 914 sf≤ {z} x≤z with trio< z px |
899 ... | tri< a ¬b ¬c = ⊥-elim ( o<> (osucc a) (subst (λ k → k o≤ z) (sym (Oprev.oprev=x op)) x≤z ) ) | 915 ... | tri< a ¬b ¬c = ⊥-elim ( o<> (osucc a) (subst (λ k → k o≤ z) (sym (Oprev.oprev=x op)) x≤z ) ) |
1053 tsup : MinSUP A (UnionCF A f supf1 z) | 1069 tsup : MinSUP A (UnionCF A f supf1 z) |
1054 tsup=sup : supf1 z ≡ MinSUP.sup tsup | 1070 tsup=sup : supf1 z ≡ MinSUP.sup tsup |
1055 | 1071 |
1056 sup : {z : Ordinal} → (z≤x : z o≤ x ) → STMP z≤x | 1072 sup : {z : Ordinal} → (z≤x : z o≤ x ) → STMP z≤x |
1057 sup {z} z≤x with trio< z px | 1073 sup {z} z≤x with trio< z px |
1058 ... | tri< a ¬b ¬c = record { tsup = record { sup = MinSUP.sup m ; asm = MinSUP.axm m | 1074 ... | tri< a ¬b ¬c = record { tsup = record { sup = MinSUP.sup m ; asm = MinSUP.as m |
1059 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = trans (sf1=sf0 (o<→≤ a) ) (ZChain.supf-is-minsup zc (o<→≤ a)) } where | 1075 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = trans (sf1=sf0 (o<→≤ a) ) (ZChain.supf-is-minsup zc (o<→≤ a)) } where |
1060 m = ZChain.minsup zc (o<→≤ a) | 1076 m = ZChain.minsup zc (o<→≤ a) |
1061 ms00 : {x : Ordinal} → odef (UnionCF A f supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) | 1077 ms00 : {x : Ordinal} → odef (UnionCF A f supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) |
1062 ms00 {w} ⟪ az , cp ⟫ = MinSUP.x≤sup m ⟪ az , ? ⟫ | 1078 ms00 {w} ⟪ az , cp ⟫ = MinSUP.x≤sup m ⟪ az , ? ⟫ |
1063 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → | 1079 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → |
1064 odef (UnionCF A f supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 | 1080 odef (UnionCF A f supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 |
1065 ms01 {sup2} us P = MinSUP.minsup m us ? | 1081 ms01 {sup2} us P = MinSUP.minsup m us ? |
1066 ... | tri≈ ¬a b ¬c = record { tsup = record { sup = MinSUP.sup m ; asm = MinSUP.axm m | 1082 ... | tri≈ ¬a b ¬c = record { tsup = record { sup = MinSUP.sup m ; asm = MinSUP.as m |
1067 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = trans (sf1=sf0 (o≤-refl0 b) ) (ZChain.supf-is-minsup zc (o≤-refl0 b)) } where | 1083 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = trans (sf1=sf0 (o≤-refl0 b) ) (ZChain.supf-is-minsup zc (o≤-refl0 b)) } where |
1068 m = ZChain.minsup zc (o≤-refl0 b) | 1084 m = ZChain.minsup zc (o≤-refl0 b) |
1069 ms00 : {x : Ordinal} → odef (UnionCF A f supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) | 1085 ms00 : {x : Ordinal} → odef (UnionCF A f supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) |
1070 ms00 {x} ux = MinSUP.x≤sup m ? | 1086 ms00 {x} ux = MinSUP.x≤sup m ? |
1071 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → | 1087 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → |
1072 odef (UnionCF A f supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 | 1088 odef (UnionCF A f supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2 |
1073 ms01 {sup2} us P = MinSUP.minsup m us ? | 1089 ms01 {sup2} us P = MinSUP.minsup m us ? |
1074 ... | tri> ¬a ¬b px<z = record { tsup = record { sup = sp1 ; asm = MinSUP.axm sup1 | 1090 ... | tri> ¬a ¬b px<z = record { tsup = record { sup = sp1 ; asm = MinSUP.as sup1 |
1075 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = sf1=sp1 px<z } where | 1091 ; x≤sup = ms00 ; minsup = ms01 } ; tsup=sup = sf1=sp1 px<z } where |
1076 m = sup1 | 1092 m = sup1 |
1077 ms00 : {x : Ordinal} → odef (UnionCF A f supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) | 1093 ms00 : {x : Ordinal} → odef (UnionCF A f supf1 z) x → (x ≡ MinSUP.sup m) ∨ (x << MinSUP.sup m) |
1078 ms00 {x} ux = MinSUP.x≤sup m ? | 1094 ms00 {x} ux = MinSUP.x≤sup m ? |
1079 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → | 1095 ms01 : {sup2 : Ordinal} → odef A sup2 → ({x : Ordinal} → |
1171 ... | tri> ¬a ¬b px<z = zc35 where | 1187 ... | tri> ¬a ¬b px<z = zc35 where |
1172 zc30 : z ≡ x | 1188 zc30 : z ≡ x |
1173 zc30 with osuc-≡< z≤x | 1189 zc30 with osuc-≡< z≤x |
1174 ... | case1 eq = eq | 1190 ... | case1 eq = eq |
1175 ... | case2 z<x = ⊥-elim (¬p<x<op ⟪ px<z , subst (λ k → z o< k ) (sym (Oprev.oprev=x op)) z<x ⟫ ) | 1191 ... | case2 z<x = ⊥-elim (¬p<x<op ⟪ px<z , subst (λ k → z o< k ) (sym (Oprev.oprev=x op)) z<x ⟫ ) |
1176 zc32 = ZChain.sup zc o≤-refl | 1192 zc32 = ? |
1177 zc34 : ¬ (supf0 px ≡ px) → {w : HOD} → UnionCF A f supf0 z ∋ w → (w ≡ SUP.sup zc32) ∨ (w < SUP.sup zc32) | 1193 zc34 : ¬ (supf0 px ≡ px) → {w : HOD} → UnionCF A f supf0 z ∋ w → (w ≡ SUP.sup zc32) ∨ (w < SUP.sup zc32) |
1178 zc34 ne {w} lt = ? | 1194 zc34 ne {w} lt = ? |
1179 zc33 : supf0 z ≡ & (SUP.sup zc32) | 1195 zc33 : supf0 z ≡ & (SUP.sup zc32) |
1180 zc33 = ? -- trans (sym (supfx (o≤-refl0 (sym zc30)))) ( ZChain.supf-is-minsup zc o≤-refl ) | 1196 zc33 = ? -- trans (sym (supfx (o≤-refl0 (sym zc30)))) ( ZChain.supf-is-minsup zc o≤-refl ) |
1181 zc36 : ¬ (supf0 px ≡ px) → STMP z≤x | 1197 zc36 : ¬ (supf0 px ≡ px) → STMP z≤x |
1372 chain = ZChain.chain zc | 1388 chain = ZChain.chain zc |
1373 supf = ZChain.supf zc | 1389 supf = ZChain.supf zc |
1374 sp : Ordinal | 1390 sp : Ordinal |
1375 sp = MinSUP.sup sp1 | 1391 sp = MinSUP.sup sp1 |
1376 asp : odef A sp | 1392 asp : odef A sp |
1377 asp = MinSUP.axm sp1 | 1393 asp = MinSUP.as sp1 |
1378 z10 : {a b : Ordinal } → (ca : odef chain a ) → b o< (& A) → (ab : odef A b ) | 1394 z10 : {a b : Ordinal } → (ca : odef chain a ) → b o< (& A) → (ab : odef A b ) |
1379 → HasPrev A chain f b ∨ IsSUP A (UnionCF A f (ZChain.supf zc) b) b | 1395 → HasPrev A chain f b ∨ IsSUP A (UnionCF A f (ZChain.supf zc) b) b |
1380 → * a < * b → odef chain b | 1396 → * a < * b → odef chain b |
1381 z10 = ZChain1.is-max (SZ1 f mf mf< as0 zc (& A) o≤-refl ) | 1397 z10 = ZChain1.is-max (SZ1 f mf mf< as0 zc (& A) o≤-refl ) |
1382 z22 : sp o< & A | 1398 z22 : sp o< & A |
1398 ... | case2 y<p = case2 (subst (λ k → * k < _ ) &iso y<p ) | 1414 ... | case2 y<p = case2 (subst (λ k → * k < _ ) &iso y<p ) |
1399 z14 : f sp ≡ sp | 1415 z14 : f sp ≡ sp |
1400 z14 with ZChain.f-total zc (subst (λ k → odef chain k) (sym &iso) (ZChain.f-next zc z12 )) (subst (λ k → odef chain k) (sym &iso) z12 ) | 1416 z14 with ZChain.f-total zc (subst (λ k → odef chain k) (sym &iso) (ZChain.f-next zc z12 )) (subst (λ k → odef chain k) (sym &iso) z12 ) |
1401 ... | tri< a ¬b ¬c = ⊥-elim z16 where | 1417 ... | tri< a ¬b ¬c = ⊥-elim z16 where |
1402 z16 : ⊥ | 1418 z16 : ⊥ |
1403 z16 with proj1 (mf (( MinSUP.sup sp1)) ( MinSUP.axm sp1 )) | 1419 z16 with proj1 (mf (( MinSUP.sup sp1)) ( MinSUP.as sp1 )) |
1404 ... | case1 eq = ⊥-elim (¬b (sym (cong (*) eq ) )) | 1420 ... | case1 eq = ⊥-elim (¬b (sym (cong (*) eq ) )) |
1405 ... | case2 lt = ⊥-elim (¬c lt ) | 1421 ... | case2 lt = ⊥-elim (¬c lt ) |
1406 ... | tri≈ ¬a b ¬c = subst₂ (λ j k → j ≡ k ) &iso &iso ( cong (&) b ) | 1422 ... | tri≈ ¬a b ¬c = subst₂ (λ j k → j ≡ k ) &iso &iso ( cong (&) b ) |
1407 ... | tri> ¬a ¬b c = ⊥-elim z17 where | 1423 ... | tri> ¬a ¬b c = ⊥-elim z17 where |
1408 z15 : (f sp ≡ MinSUP.sup sp1) ∨ (* (f sp) < * (MinSUP.sup sp1) ) | 1424 z15 : (f sp ≡ MinSUP.sup sp1) ∨ (* (f sp) < * (MinSUP.sup sp1) ) |
1429 -- ¬ Maximal create cf which is a <-monotonic function by axiom of choice. This contradicts fix point of ZChain | 1445 -- ¬ Maximal create cf which is a <-monotonic function by axiom of choice. This contradicts fix point of ZChain |
1430 -- | 1446 -- |
1431 | 1447 |
1432 z04 : (nmx : ¬ Maximal A ) → (zc : ZChain A (cf nmx) (cf-is-≤-monotonic nmx) as0 (& A)) → ⊥ | 1448 z04 : (nmx : ¬ Maximal A ) → (zc : ZChain A (cf nmx) (cf-is-≤-monotonic nmx) as0 (& A)) → ⊥ |
1433 z04 nmx zc = <-irr0 {* (cf nmx c)} {* c} | 1449 z04 nmx zc = <-irr0 {* (cf nmx c)} {* c} |
1434 (subst (λ k → odef A k ) (sym &iso) (proj1 (is-cf nmx (MinSUP.axm msp1 )))) | 1450 (subst (λ k → odef A k ) (sym &iso) (proj1 (is-cf nmx (MinSUP.as msp1 )))) |
1435 (subst (λ k → odef A k) (sym &iso) (MinSUP.axm msp1) ) | 1451 (subst (λ k → odef A k) (sym &iso) (MinSUP.as msp1) ) |
1436 (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) (cf-is-<-monotonic nmx ) zc msp1 ))) -- x ≡ f x ̄ | 1452 (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) (cf-is-<-monotonic nmx ) zc msp1 ))) -- x ≡ f x ̄ |
1437 (proj1 (cf-is-<-monotonic nmx c (MinSUP.axm msp1 ))) where -- x < f x | 1453 (proj1 (cf-is-<-monotonic nmx c (MinSUP.as msp1 ))) where -- x < f x |
1438 | 1454 |
1439 supf = ZChain.supf zc | 1455 supf = ZChain.supf zc |
1440 msp1 : MinSUP A (ZChain.chain zc) | 1456 msp1 : MinSUP A (ZChain.chain zc) |
1441 msp1 = msp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc | 1457 msp1 = msp0 (cf nmx) (cf-is-≤-monotonic nmx) as0 zc |
1442 c : Ordinal | 1458 c : Ordinal |