You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When computing the discrimination tree keys for a (global) simp lemma, the configuration is set to iota := false. However, the default configuration for simp uses iota := true. Since #6053, the setting iota := false propagates to the function Lean.Meta.unfoldDefinition?, which now causes bad discrimination tree keys to be computed when the LHS of a simp lemma contains a match expression.
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: