Zulip Chat Archive
Stream: nightly-testing
Topic: nightly-2024-03-13
Kim Morrison (Mar 13 2024 at 05:37):
lean4#3579 should land in nightly-2024-03-13. This adds @[simp] to Nat.succ_eq_add_one.
There is a fair bit of Mathlib fallout, but it is mostly nice. The changes required are on the lean-pr-testing-3579 branch. This can be merged in nightly-testing when nightly-2024-03-13 arrives.
Kim Morrison (Mar 13 2024 at 08:13):
nightly-2024-03-13 has landed, and I've merged the lean-pr-testing-3579 branches into nightly-testing on both Std and Mathlib.
Whether that builds remains to be seen!
Kim Morrison (Mar 13 2024 at 08:13):
Also landed in nightly-2024-03-13 is a fancy new canonicalizer from Leo, that he's hooked out to omega. The recent regression with omega no longer identifying atoms up to defeq should now be fixed!
Kim Morrison (Mar 13 2024 at 09:21):
#11353 is the adaptation PR for nightly-2024-03-13.
Kim Morrison (Mar 13 2024 at 11:19):
I've created https://github.com/leanprover-community/mathlib4/issues/11357 to track an outstanding issue which seems very likely to be a Lean bug. If anyone would like to try minimizing this to a no imports example we can try to get it fixed.
Kim Morrison (Mar 13 2024 at 11:21):
I think besides:
- this issue
- merging #11353 after it passes CI
- dealing with any
Adaptation notes
we are otherwise caught up on nightly releases.
Kevin Buzzard (Mar 13 2024 at 23:25):
The simp issue appears to be already present on master:
import Mathlib.Algebra.Group.Hom.Basic
import Mathlib.Algebra.GroupPower.Basic
universe uM uN uP uQ
variable {M : Type uM} {N : Type uN} {P : Type uP} {Q : Type uQ}
instance MonoidHom.commMonoid [MulOneClass M] [CommMonoid N] :
CommMonoid (M →* N) where
mul := (· * ·)
mul_assoc := sorry
one := 1
one_mul := sorry
mul_one := sorry
mul_comm := sorry
npow n f :=
{ toFun := fun x => f x ^ n, map_one' := by simp, map_mul' := fun x y => by simp [mul_pow] }
npow_zero f := sorry
npow_succ n f := sorry
instance MonoidHom.commGroup {M G} [MulOneClass M] [CommGroup G] : CommGroup (M →* G) where
mul := (· * ·)
mul_assoc := sorry
one := 1
one_mul := sorry
mul_one := sorry
mul_comm := sorry
npow n f :=
{ toFun := fun x => f x ^ n, map_one' := by simp, map_mul' := fun x y => by simp [mul_pow] }
npow_zero f := sorry
npow_succ n f := sorry
inv := Inv.inv
div := Div.div
div_eq_mul_inv := sorry
mul_left_inv := by intros; ext; apply mul_left_inv
zpow := fun n f =>
{ toFun := fun x => f x ^ n,
map_one' := sorry,
map_mul' := sorry }
zpow_zero' := sorry
zpow_succ' := fun n f => by
ext x
simp [zpow_add_one, mul_comm] -- "unexpected bound variable #0"
zpow_neg' := sorry
so it's not clear to me why it's relevant to nightly-testing.
Kim Morrison (Mar 13 2024 at 23:26):
Great, thanks @Kevin Buzzard. If you want to do anything more towards updating the issue at #11357 to reflect this, and/or minimizing, please do! At whatever point you finish, let me know and I'll see if I can continue.
Kevin Buzzard (Mar 13 2024 at 23:27):
It's pretty fragile though: e.g. removing the MonoidHom.commMonoid instance or the universes makes the bug vanish
Kevin Buzzard (Mar 13 2024 at 23:27):
It's bedtime here, I'll tinker around for bit longer and post on the issue when I give up.
Kevin Buzzard (Mar 14 2024 at 00:23):
OK I'm done -- I got essentially nowhere. I updated the issue.
Kim Morrison (Mar 14 2024 at 00:23):
Thanks!
Kevin Buzzard (Mar 14 2024 at 00:28):
I was surprised that I got simp only [mul_comm] to hang Lean -- maybe the same issue?
Matthew Ballard (Mar 14 2024 at 01:31):
Minimized Mathlib free example in the issue. Please confirm on your machine!
Kim Morrison (Mar 14 2024 at 01:56):
Confirmed!
Last updated: May 02 2025 at 03:31 UTC