simp
lemma discrimination tree keys are computed with iota := false
, while simp
uses iota := true
#6331
Labels
bug
Something isn't working
Prerequisites
Please put an X between the brackets as you perform the following steps:
https://github.com/leanprover/lean4/issues
Avoid dependencies to Mathlib or Batteries.
https://live.lean-lang.org/#project=lean-nightly
(You can also use the settings there to switch to “Lean nightly”)
Description
When computing the discrimination tree keys for a (global) simp lemma, the configuration is set to
iota := false
. However, the default configuration for simp usesiota := true
. Since #6053, the settingiota := false
propagates to the functionLean.Meta.unfoldDefinition?
, which now causes bad discrimination tree keys to be computed when the LHS of a simp lemma contains a match expression.Context
This was reported on Zulip.
Steps to Reproduce
Consider this minimal example:
Expected behavior:
simp
should succeed, whilesimp -iota
should not succeed.Actual behavior:
simp
fails, andsimp -iota
succeeds.Versions
4.16.0-nightly-2024-12-06
Additional Information
We can manually force the lemma to have the match expression already unfolded. This gives the correct discrimination tree keys for
simp
:Impact
Add 👍 to issues you consider important. If others are impacted by this issue, please ask them to add 👍 to it.
The text was updated successfully, but these errors were encountered: