@@ -340,6 +340,7 @@ def deriv (f : Ordinal → Ordinal) : Ordinal → Ordinal :=
340340theorem deriv_eq_derivFamily (f : Ordinal → Ordinal) : deriv f = derivFamily fun _ : Unit => f :=
341341 rfl
342342
343+ -- TODO: rename to `deriv_zero` once the name is available
343344@[simp]
344345theorem deriv_zero_right (f) : deriv f 0 = nfp f 0 :=
345346 derivFamily_zero _
@@ -361,6 +362,7 @@ theorem isNormal_deriv (f) : IsNormal (deriv f) :=
361362theorem deriv_strictMono (f) : StrictMono (deriv f) :=
362363 derivFamily_strictMono _
363364
365+ @ [deprecated "do not depend on the junk values of `nfp`" (since := "2026-05-13" )]
364366theorem deriv_eq_id_of_nfp_eq_id (h : nfp f = id) : deriv f = id :=
365367 ((isNormal_deriv _).ext_iff .id).2 (by simp [h])
366368
@@ -396,6 +398,7 @@ theorem deriv_eq_enumOrd (H : IsNormal f) : deriv f = enumOrd (Function.fixedPoi
396398 convert derivFamily_eq_enumOrd fun _ : Unit => H
397399 exact (Set.iInter_const _).symm
398400
401+ @ [deprecated "do not depend on the junk values of `nfp`" (since := "2026-05-13" )]
399402theorem nfp_zero_left (a) : nfp 0 a = a := by
400403 rw [← iSup_iterate_eq_nfp]
401404 apply (Ordinal.iSup_le ?_).antisymm (Ordinal.le_iSup _ 0 )
@@ -405,15 +408,19 @@ theorem nfp_zero_left (a) : nfp 0 a = a := by
405408 · rw [Function.iterate_succ']
406409 simp
407410
408- @[simp]
411+ set_option linter.deprecated false in
412+ @ [deprecated "do not depend on the junk values of `nfp`" (since := "2026-05-13" )]
409413theorem nfp_zero : nfp 0 = id := by
410414 ext
411415 exact nfp_zero_left _
412416
413- @[simp]
417+ set_option linter.deprecated false in
418+ @ [deprecated "do not depend on the junk values of `deriv`" (since := "2026-05-13" )]
414419theorem deriv_zero : deriv 0 = id :=
415420 deriv_eq_id_of_nfp_eq_id nfp_zero
416421
422+ set_option linter.deprecated false in
423+ @ [deprecated "do not depend on the junk values of `deriv`" (since := "2026-05-13" )]
417424theorem deriv_zero_left (a) : deriv 0 a = a := by
418425 rw [deriv_zero, id_eq]
419426
@@ -468,10 +475,9 @@ theorem nfp_mul_zero (a : Ordinal) : nfp (a * ·) 0 = 0 := by
468475
469476theorem nfp_mul_eq_opow_omega0 {a b : Ordinal} (hb : 0 < b) (hba : b ≤ a ^ ω) :
470477 nfp (a * ·) b = a ^ ω := by
471- rcases eq_zero_or_pos a with ha | ha
472- · rw [ha, zero_opow omega0_ne_zero] at hba ⊢
473- simp_rw [nonpos_iff_eq_zero.1 hba, zero_mul]
474- exact nfp_zero_left 0
478+ rcases eq_zero_or_pos a with rfl | ha
479+ · rw [zero_opow omega0_ne_zero] at hba
480+ cases hba.not_gt hb
475481 apply le_antisymm
476482 · apply nfp_le_fp (isNormal_mul_right ha).monotone hba
477483 rw [← opow_one_add, one_add_omega0]
0 commit comments