# HG changeset patch # User Shinji KONO # Date 1661121558 -32400 # Node ID 507f6582c31da4790879fb9918e039f79082f597 # Parent 4822758b8bf8ab19591bc6de0ff6718b31372352 ... diff -r 4822758b8bf8 -r 507f6582c31d src/OD.agda --- a/src/OD.agda Fri Aug 19 10:08:14 2022 +0900 +++ b/src/OD.agda Mon Aug 22 07:39:18 2022 +0900 @@ -120,7 +120,7 @@ -- OD ⇔ Ordinal leads a contradiction, so we need bounded HOD ¬OD-order : ( & : OD → Ordinal ) → ( * : Ordinal → OD ) → ( { x y : OD } → def y ( & x ) → & x o< & y) → ⊥ -¬OD-order & * c<→o< = osuc-< <-osuc (c<→o< {Ords} OneObj ) +¬OD-order & * c<→o< = o≤> <-osuc (c<→o< {Ords} OneObj ) -- Open supreme upper bound leads a contradition, so we use domain restriction on sup ¬open-sup : ( sup-o : (Ordinal → Ordinal ) → Ordinal) → ((ψ : Ordinal → Ordinal ) → (x : Ordinal) → ψ x o< sup-o ψ ) → ⊥ diff -r 4822758b8bf8 -r 507f6582c31d src/OrdUtil.agda --- a/src/OrdUtil.agda Fri Aug 19 10:08:14 2022 +0900 +++ b/src/OrdUtil.agda Mon Aug 22 07:39:18 2022 +0900 @@ -35,10 +35,10 @@ o<> {ox} {oy} lt tl | tri≈ ¬a b ¬c = ¬a tl o<> {ox} {oy} lt tl | tri> ¬a ¬b c = ¬a tl -osuc-< : { x y : Ordinal } → y o< osuc x → x o< y → ⊥ -osuc-< {x} {y} y x : { x y : Ordinal } → y o< osuc x → x o< y → ⊥ +o≤> {x} {y} y {x} {y} y {x} {y} y x ¬a ¬b c = no (λ n → osuc-< n c ) +... | tri> ¬a ¬b c = no (λ n → o≤> n c ) o¬≤→< : {x z : Ordinal} → ¬ (x o< osuc z) → z o< x o¬≤→< {x} {z} not with trio< z x diff -r 4822758b8bf8 -r 507f6582c31d src/zorn.agda --- a/src/zorn.agda Fri Aug 19 10:08:14 2022 +0900 +++ b/src/zorn.agda Mon Aug 22 07:39:18 2022 +0900 @@ -304,16 +304,14 @@ ... | case1 eq = case1 (subst (λ k → k ≡ supf u ) &iso (trans (cong (&) eq) (sym (supf-is-sup u ¬a ¬b c = sp1 -- ZChain.supf zc px + ... | tri≈ ¬a b ¬c = sp1 + ... | tri> ¬a ¬b c = sp1 pchain1 : HOD pchain1 = UnionCF A f mf ay supf1 x @@ -717,6 +717,34 @@ uz01 : Tri (* (& a) < * (& b)) (* (& a) ≡ * (& b)) (* (& b) < * (& a) ) uz01 = chain-total A f mf ay supf1 ( (proj2 ca)) ( (proj2 cb)) + zc64 : {z : Ordinal } → z o< px → odef (UnionCF A f mf ay supf0 px) (supf0 z) + zc64 {z} z ¬a ¬b c | record { eq = eq1 } = o≤-refl + ... | tri< a ¬b ¬c | record { eq = eq1 } with trio< (supf1 z) sp1 + ... | tri< a₁ ¬b₁ ¬c₁ = subst (λ k → k o≤ sp1) eq1 (o<→≤ a₁) + ... | tri≈ ¬a b ¬c₁ = o≤-refl0 (trans (sym eq1) b ) + ... | tri> ¬a ¬b₁ c = ? where + zc65 : sp1 o< ZChain.supf zc z + zc65 = subst (λ k → sp1 o< k ) eq1 c + zc66 : ( * (ZChain.supf zc z) ≡ * sp1) ∨ (ZChain.supf zc z << sp1) + zc66 = subst₂ (λ j k → ( j ≡ k) ∨ ( j < k ) ) refl (sym *iso) zc68 where + zc68 : ( *( ZChain.supf zc z) ≡ SUP.sup sup1 ) ∨ ( * (ZChain.supf zc z) < SUP.sup sup1 ) + zc68 = SUP.x ¬a ¬b px supf1 ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b px lt px ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b px ¬a ¬b x ¬a ¬b x