Zulip Chat Archive
Stream: general
Topic: Inconsistent behavior between `simp_all` and `simp [*]`
Asei Inoue (Dec 16 2025 at 13:19):
this simp_all throw an error: (failed with a nested error)
example (_h : 1 + 1 = 2) : True := by
have : 1 = 1 + 1 - 1 := by simp
simp_all
And this simp [*] does not raise an error.
example (_h : 1 + 1 = 2) : True := by
have : 1 = 1 + 1 - 1 := by simp
simp [*]
However, both simp_all and simp [*] are failing for the same reason: there is a bad simp lemma in the local context. Given that the reason for failure is the same, I think it is strange that their behavior differs in whether or not they produce an error.
Asei Inoue (Dec 16 2025 at 13:20):
In v4.26.0, the behaviors of the two were consistent. I believe this is a bug in v4.27.0-rc1—what do you think?
Artie Khovanov (Dec 16 2025 at 19:01):
simp_all is very different to simp [*] at *. It's a much more powerful tactic that does things simp does not.
Asei Inoue (Dec 17 2025 at 01:31):
I know that simp_all and simp [*] are different.
the problem is, it is specific to v4.27.0-rc1
why this change is made?
Last updated: Dec 20 2025 at 21:32 UTC