# HG changeset patch # User Shinji KONO # Date 1671351834 -32400 # Node ID b627e3ea7266c3441d888040d8506623486caac8 # Parent 9e8cb06f0aff771fcbc5b8edb93e933c0f95496b try to hide spu from source diff -r 9e8cb06f0aff -r b627e3ea7266 src/zorn.agda --- a/src/zorn.agda Sun Dec 18 07:58:00 2022 +0900 +++ b/src/zorn.agda Sun Dec 18 17:23:54 2022 +0900 @@ -801,7 +801,7 @@ ind : ( f : Ordinal → Ordinal ) → (mf< : <-monotonic-f A f ) {y : Ordinal} (ay : odef A y) → (x : Ordinal) → ((z : Ordinal) → z o< x → ZChain A f mf< ay z) → ZChain A f mf< ay x ind f mf< {y} ay x prev with Oprev-p x - ... | yes op = zc41 where + ... | yes op = zc41 sup1 where -- -- we have previous ordinal to use induction -- @@ -879,23 +879,16 @@ sup1 : MinSUP A pchainpx sup1 = minsupP pchainpx pcha ptotal - sp1 = MinSUP.sup sup1 -- -- supf0 px o≤ sp1 -- - sfpx≤sp1 : supf0 px o< x → supf0 px ≤ sp1 - sfpx≤sp1 spx ¬a ¬b 0 ¬a ¬b 0 ¬a ¬b c = ⊥-elim ( o≤> ( begin + ZChain.supf (pzc (pic (λ lt → <-irr (case2 fc11) lt) (λ eq → <-irr (case1 eq) fc11) fc11 where + fc11 : * (& b) < * (& a) + fc11 = subst (λ k → k < * (& a) ) (cong (*) (sym eq1)) lt + ... | case2 lt = tri> (λ lt → <-irr (case2 fc12) lt) (λ eq → <-irr (case1 eq) fc12) fc12 where + fc12 : * (& b) < * (& a) + fc12 = ftrans<-≤ lt (subst (λ k → k ≤ & a) (sym (zeq _ _ (o<→≤ <-osuc) o≤-refl )) (s≤fc _ f mf fca ) ) + pcmp (ic-isup i i ¬a ¬b ib (<-irr (case2 lt1)) (λ eq → <-irr (case1 eq) lt1) lt1 where + lt1 : a0 < b0 + lt1 = subst₂ (λ j k → j < k ) *iso *iso lt + ptotalS (case2 a) (case2 b) = subst₂ (λ j k → Tri (j < k) (j ≡ k) (k < j)) *iso *iso (fcn-cmp spu0 f mf (proj1 a) (proj1 b)) + + S⊆A : pchainS ⊆' A + S⊆A (case1 lt) = proj1 lt + S⊆A (case2 fc) = A∋fc _ f mf (proj1 fc) + + ssup : MinSUP A pchainS + ssup = minsupP pchainS S⊆A ptotalS + + zc400 : MinSUP A pchainU → MinSUP A pchainS → ZChain A f mf< ay x + zc400 usup ssup = record { supf = supf1 ; asupf = asupf ; supf-mono = supf-mono ; order = order ; zo≤sz = zo≤sz ; is-minsup = is-minsup ; cfcs = cfcs } where - mf : ≤-monotonic-f A f - mf x ax = ⟪ case2 mf00 , proj2 (mf< x ax ) ⟫ where - mf00 : * x < * (f x) - mf00 = proj1 ( mf< x ax ) - - pzc : {z : Ordinal} → z o< x → ZChain A f mf< ay z - pzc {z} z ¬a ¬b c = ⊥-elim ( o≤> ( begin - ZChain.supf (pzc (pic (λ lt → <-irr (case2 fc11) lt) (λ eq → <-irr (case1 eq) fc11) fc11 where - fc11 : * (& b) < * (& a) - fc11 = subst (λ k → k < * (& a) ) (cong (*) (sym eq1)) lt - ... | case2 lt = tri> (λ lt → <-irr (case2 fc12) lt) (λ eq → <-irr (case1 eq) fc12) fc12 where - fc12 : * (& b) < * (& a) - fc12 = ftrans<-≤ lt (subst (λ k → k ≤ & a) (sym (zeq _ _ (o<→≤ <-osuc) o≤-refl )) (s≤fc _ f mf fca ) ) - pcmp (ic-isup i i ¬a ¬b ib (<-irr (case2 lt1)) (λ eq → <-irr (case1 eq) lt1) lt1 where - lt1 : a0 < b0 - lt1 = subst₂ (λ j k → j < k ) *iso *iso lt - 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)) - - S⊆A : pchainS ⊆' A - S⊆A (case1 lt) = proj1 lt - S⊆A (case2 fc) = A∋fc _ f mf (proj1 fc) - - ssup : MinSUP A pchainS - ssup = minsupP pchainS S⊆A ptotalS - sps = MinSUP.sup ssup supf1 : Ordinal → Ordinal