# HG changeset patch # User Shinji KONO # Date 1668619359 -32400 # Node ID 4aaecae58da5bc42f69e3931f08e431feaa97fc8 # Parent c190f708862ae43d1b6b66e5c4c0f521c84dc0f8 ... x < & A ? diff -r c190f708862a -r 4aaecae58da5 src/zorn.agda --- a/src/zorn.agda Thu Nov 17 00:22:58 2022 +0900 +++ b/src/zorn.agda Thu Nov 17 02:22:39 2022 +0900 @@ -116,6 +116,9 @@ ≤-monotonic-f : (A : HOD) → ( Ordinal → Ordinal ) → Set (Level.suc n) ≤-monotonic-f A f = (x : Ordinal ) → odef A x → ( * x ≤ * (f x) ) ∧ odef A (f x ) +<-monotonic-f : (A : HOD) → ( Ordinal → Ordinal ) → Set n +<-monotonic-f A f = (x : Ordinal ) → odef A x → ( * x < * (f x) ) ∧ odef A (f x ) + data FClosure (A : HOD) (f : Ordinal → Ordinal ) (s : Ordinal) : Ordinal → Set n where init : {s1 : Ordinal } → odef A s → s ≡ s1 → FClosure A f s s1 fsuc : (x : Ordinal) ( p : FClosure A f s x ) → FClosure A f s (f x) @@ -660,9 +663,9 @@ -- supf is fixed for z ≡ & A , we can prove order and is-max -- - SZ1 : ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) + SZ1 : ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) (mf< : <-monotonic-f A f) {init : Ordinal} (ay : odef A init) (zc : ZChain A f mf ay (& A)) (x : Ordinal) → ZChain1 A f mf ay zc x - SZ1 f mf {y} ay zc x = TransFinite { λ x → ZChain1 A f mf ay zc x } zc1 x where + SZ1 f mf mf< {y} ay zc x = ? where chain-mono1 : {a b c : Ordinal} → a o≤ b → odef (UnionCF A f mf ay (ZChain.supf zc) a) c → odef (UnionCF A f mf ay (ZChain.supf zc) b) c chain-mono1 {a} {b} {c} a≤b = chain-mono f mf ay (ZChain.supf zc) (ZChain.supf-mono zc) a≤b @@ -709,8 +712,8 @@ ... | case1 eq = case1 (subst₂ (λ j k → j ≡ k ) refl (sym (ZChain.supf-is-minsup zc (o<→≤ b ¬a ¬b 0 ¬a ¬b c = ? ... | no lim = ? -- @@ -1395,10 +1387,10 @@ → MinSUP A (UnionCF A f mf ay (ZChain.supf zc) x) msp0 f mf {x} ay zc = minsupP (UnionCF A f mf ay (ZChain.supf zc) x) (ZChain.chain⊆A zc) (ZChain.f-total zc) - fixpoint : ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) (zc : ZChain A f mf as0 (& A) ) + fixpoint : ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) (mf< : <-monotonic-f A f ) (zc : ZChain A f mf as0 (& A) ) → (sp1 : MinSUP A (ZChain.chain zc)) → f (MinSUP.sup sp1) ≡ MinSUP.sup sp1 - fixpoint f mf zc sp1 = z14 where + fixpoint f mf mf< zc sp1 = z14 where chain = ZChain.chain zc supf = ZChain.supf zc sp : Ordinal @@ -1408,13 +1400,13 @@ z10 : {a b : Ordinal } → (ca : odef chain a ) → b o< (& A) → (ab : odef A b ) → HasPrev A chain f b ∨ IsSUP A (UnionCF A f mf as0 (ZChain.supf zc) b) ab → * a < * b → odef chain b - z10 = ZChain1.is-max (SZ1 f mf as0 zc (& A) ) + z10 = ZChain1.is-max (SZ1 f mf mf< as0 zc (& A) ) z22 : sp o< & A z22 = z09 asp z12 : odef chain sp z12 with o≡? (& s) sp ... | yes eq = subst (λ k → odef chain k) eq ( ZChain.chain∋init zc ) - ... | no ne = ZChain1.is-max (SZ1 f mf as0 zc (& A)) {& s} {sp} ( ZChain.chain∋init zc ) (z09 asp) asp (case2 z19 ) z13 where + ... | no ne = ZChain1.is-max (SZ1 f mf mf< as0 zc (& A)) {& s} {sp} ( ZChain.chain∋init zc ) (z09 asp) asp (case2 z19 ) z13 where z13 : * (& s) < * sp z13 with MinSUP.x≤sup sp1 ( ZChain.chain∋init zc ) ... | case1 eq = ⊥-elim ( ne eq ) @@ -1463,7 +1455,7 @@ z04 nmx zc = <-irr0 {* (cf nmx c)} {* c} (subst (λ k → odef A k ) (sym &iso) (proj1 (is-cf nmx (MinSUP.asm msp1 )))) (subst (λ k → odef A k) (sym &iso) (MinSUP.asm msp1) ) - (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) zc msp1 ))) -- x ≡ f x ̄ + (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) (cf-is-<-monotonic nmx ) zc msp1 ))) -- x ≡ f x ̄ (proj1 (cf-is-<-monotonic nmx c (MinSUP.asm msp1 ))) where -- x < f x supf = ZChain.supf zc