comparison src/zorn.agda @ 760:0dc7999b1d50

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 Jul 2022 06:41:40 +0900
parents 944f50265914
children 9307f895891c
comparison
equal deleted inserted replaced
759:944f50265914 760:0dc7999b1d50
366 Zorn-lemma {A} 0<A supP = zorn00 where 366 Zorn-lemma {A} 0<A supP = zorn00 where
367 <-irr0 : {a b : HOD} → A ∋ a → A ∋ b → (a ≡ b ) ∨ (a < b ) → b < a → ⊥ 367 <-irr0 : {a b : HOD} → A ∋ a → A ∋ b → (a ≡ b ) ∨ (a < b ) → b < a → ⊥
368 <-irr0 {a} {b} A∋a A∋b = <-irr 368 <-irr0 {a} {b} A∋a A∋b = <-irr
369 z07 : {y : Ordinal} → {P : Set n} → odef A y ∧ P → y o< & A 369 z07 : {y : Ordinal} → {P : Set n} → odef A y ∧ P → y o< & A
370 z07 {y} p = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) (proj1 p ))) 370 z07 {y} p = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) (proj1 p )))
371 z09 : {b : Ordinal } { A : HOD } → odef A b → b o< & A
372 z09 {b} {A} ab = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) ab))
371 s : HOD 373 s : HOD
372 s = ODC.minimal O A (λ eq → ¬x<0 ( subst (λ k → o∅ o< k ) (=od∅→≡o∅ eq) 0<A )) 374 s = ODC.minimal O A (λ eq → ¬x<0 ( subst (λ k → o∅ o< k ) (=od∅→≡o∅ eq) 0<A ))
373 as : A ∋ * ( & s ) 375 as : A ∋ * ( & s )
374 as = subst (λ k → odef A (& k) ) (sym *iso) ( ODC.x∋minimal O A (λ eq → ¬x<0 ( subst (λ k → o∅ o< k ) (=od∅→≡o∅ eq) 0<A )) ) 376 as = subst (λ k → odef A (& k) ) (sym *iso) ( ODC.x∋minimal O A (λ eq → ¬x<0 ( subst (λ k → o∅ o< k ) (=od∅→≡o∅ eq) 0<A )) )
375 as0 : odef A (& s ) 377 as0 : odef A (& s )
471 m03 with proj2 ua 473 m03 with proj2 ua
472 ... | ch-init fc = ⟪ proj1 ua , ch-init fc ⟫ 474 ... | ch-init fc = ⟪ proj1 ua , ch-init fc ⟫
473 ... | ch-is-sup u u≤x is-sup fc with trio< u px 475 ... | ch-is-sup u u≤x is-sup fc with trio< u px
474 ... | tri< a ¬b ¬c = ⟪ proj1 ua , ch-is-sup u (o<→≤ a) is-sup fc ⟫ -- u o< osuc x 476 ... | tri< a ¬b ¬c = ⟪ proj1 ua , ch-is-sup u (o<→≤ a) is-sup fc ⟫ -- u o< osuc x
475 ... | tri≈ ¬a u=px ¬c = ⟪ proj1 ua , ch-is-sup u (o≤-refl0 u=px) is-sup fc ⟫ 477 ... | tri≈ ¬a u=px ¬c = ⟪ proj1 ua , ch-is-sup u (o≤-refl0 u=px) is-sup fc ⟫
476 ... | tri> ¬a ¬b c = ? -- u = x 478 ... | tri> ¬a ¬b c = ? -- u = x → u = sup → (b o< x → b < a ) → ⊥
477 m04 : odef (UnionCF A f mf ay (ZChain.supf zc) px) b 479 m04 : odef (UnionCF A f mf ay (ZChain.supf zc) px) b
478 m04 = ZChain1.is-max (prev px px<x) m03 b<px ab 480 m04 = ZChain1.is-max (prev px px<x) m03 b<px ab
479 (case2 record {x<sup = λ {z} lt → IsSup.x<sup is-sup (chain-mono2 x ( o<→≤ (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc )) o≤-refl lt) } ) a<b 481 (case2 record {x<sup = λ {z} lt → IsSup.x<sup is-sup (chain-mono2 x ( o<→≤ (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc )) o≤-refl lt) } ) a<b
480 ... | tri≈ ¬a b=px ¬c = ⟪ ab , ch-is-sup b (o<→≤ b<x) ? (subst (λ k → FClosure A f k b) ? (init ab)) ⟫ -- b = px case, u = px u< osuc x 482 ... | tri≈ ¬a b=px ¬c = ⟪ ab , ch-is-sup b (o<→≤ b<x) m06 (subst (λ k → FClosure A f k b) m05 (init ab)) ⟫ where
483 m06 : ChainP A f mf ay (ZChain.supf zc) b b
484 m06 = ?
485 m05 : b ≡ ZChain.supf zc b
486 m05 = sym ( ZChain.sup=u zc {b} {ab} (z09 ab)
487 record { x<sup = λ {z} uz → IsSup.x<sup is-sup (chain-mono2 x (osucc b<x) o≤-refl uz ) } )
488 -- b = px case, u = px u< osuc x
481 ... | no lim = record { is-max = is-max } where 489 ... | no lim = record { is-max = is-max } where
482 is-max : {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) x) a → 490 is-max : {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) x) a →
483 b o< x → (ab : odef A b) → 491 b o< x → (ab : odef A b) →
484 HasPrev A (UnionCF A f mf ay (ZChain.supf zc) x) ab f ∨ IsSup A (UnionCF A f mf ay (ZChain.supf zc) x) ab → 492 HasPrev A (UnionCF A f mf ay (ZChain.supf zc) x) ab f ∨ IsSup A (UnionCF A f mf ay (ZChain.supf zc) x) ab →
485 * a < * b → odef (UnionCF A f mf ay (ZChain.supf zc) x) b 493 * a < * b → odef (UnionCF A f mf ay (ZChain.supf zc) x) b