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