# HG changeset patch # User Shinji KONO # Date 1669187571 -32400 # Node ID 2362c2d89d3623edebdb4c1ca773309f770a3090 # Parent 6f6daf464616856892e75c0576c9ca69e46a8a1c fc-inject is no good diff -r 6f6daf464616 -r 2362c2d89d36 src/zorn.agda --- a/src/zorn.agda Wed Nov 23 09:55:38 2022 +0900 +++ b/src/zorn.agda Wed Nov 23 16:12:51 2022 +0900 @@ -511,6 +511,12 @@ fsp≤sp : f sp <= sp fsp≤sp = subst (λ k → f k <= sp ) (sym (HasPrev.x=fy hp)) im00 + supf-¬hp : {x : Ordinal } → x o≤ z + → ( {a : Ordinal } → odef A a → a << f a ) + → ¬ ( HasPrev A (UnionCF A f mf ay supf x) f (supf x) ) + supf-¬hp {x} x≤z <-mono hp = IsMinSUP→NotHasPrev asupf (λ {w} uw → + (subst (λ k → w <= k) (sym (supf-is-minsup x≤z)) ( MinSUP.x≤sup (minsup x≤z) uw) )) <-mono hp + supf-idem : (mf< : <-monotonic-f A f) {b : Ordinal } → b o≤ z → supf b o≤ z → supf (supf b) ≡ supf b supf-idem mf< {b} b≤z sfb≤x = z52 where z54 : {w : Ordinal} → odef (UnionCF A f mf ay supf (supf b)) w → (w ≡ supf b) ∨ (w << supf b) @@ -525,10 +531,19 @@ z52 : supf (supf b) ≡ supf b z52 = sup=u asupf sfb≤x ⟪ record { x≤sup = z54 } , IsMinSUP→NotHasPrev asupf z54 ( λ ax → proj1 (mf< _ ax)) ⟫ -spuf-unique : ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) + fc-inject : ( {a : Ordinal } → odef A a → a << f a ) + → {x y wx wy : Ordinal} → FClosure A f (supf x) wx → FClosure A f (supf y) wy → wx ≡ wy → supf x ≡ supf y + fc-inject mf< (init xa eqa) (init ya eqb) refl = trans eqa (sym eqb) + fc-inject mf< {x} (init xa eqx) (fsuc ya fcy) eq = ⊥-elim ( supf-¬hp ? mf< record { ax = asupf ; y = ya ; ay = ? ; x=fy = trans eqx eq } ) where + z53 : odef (UnionCF A f mf ay supf x) ya + z53 = cfcs ? ? ? ? fcy + fc-inject mf< (fsuc xa fcx) (init ya eqy) eq = ? + fc-inject mf< (fsuc xa fcx) (fsuc ya fcy) eq = fc-inject mf< fcx fcy ? + +supf-unique : ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) {y xa xb : Ordinal} → (ay : odef A y) → (xa o≤ xb ) → (za : ZChain A f mf ay xa ) (zb : ZChain A f mf ay xb ) → {z : Ordinal } → z o≤ xa → ZChain.supf za z ≡ ZChain.supf zb z -spuf-unique A f mf {y} {xa} {xb} ay xa≤xb za zb {z} z≤xa = TransFinite0 {λ z → z o≤ xa → ZChain.supf za z ≡ ZChain.supf zb z } ind z z≤xa where +supf-unique A f mf {y} {xa} {xb} ay xa≤xb za zb {z} z≤xa = TransFinite0 {λ z → z o≤ xa → ZChain.supf za z ≡ ZChain.supf zb z } ind z z≤xa where supfa = ZChain.supf za supfb = ZChain.supf zb ind : (x : Ordinal) → ((w : Ordinal) → w o< x → w o≤ xa → supfa w ≡ supfb w) → x o≤ xa → supfa x ≡ supfb x @@ -597,6 +612,7 @@ z55 : FClosure A f (ZChain.supf zb u) z z55 = subst (λ k → FClosure A f k z ) (sym ub=ua) fc + UChain⊆ : ( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) {z y : Ordinal} (ay : odef A y) { supf supf1 : Ordinal → Ordinal } → (supf-mono : {x y : Ordinal } → x o≤ y → supf x o≤ supf y ) @@ -1342,7 +1358,7 @@ zeq : {xa xb z : Ordinal } → (xa ¬a ¬b c | record { eq = eq } = ob ¬a ¬b c = ⊥-elim ( ¬a (ordtrans<-≤ a