Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lean v4.3.0 change to simp defaults breaks proofs #137

Open
coproduct opened this issue Dec 4, 2023 · 3 comments
Open

Lean v4.3.0 change to simp defaults breaks proofs #137

coproduct opened this issue Dec 4, 2023 · 3 comments

Comments

@coproduct
Copy link

In Lean v4.3.0, "simp will no longer try to use Decidable instances to rewrite terms" by default (release notes). This change broke these proofs in chapter 3:

theorem addAndAppend : 1 + 1 = 2"Str".append "ing" = "String" := by simp

with unsolved goal ⊢ String.append "Str" "ing" = "String" and

#eval third woodlandCritters (by simp)

with simp made no progress.

These can be fixed with the decide config option like so:

theorem addAndAppend : 1 + 1 = 2"Str".append "ing" = "String" := (by simp (config := {decide := true}))
#eval third woodlandCritters (by simp (config := {decide := true}))

Thanks for the book! If I find other instances of this breakage, would you rather I comment on this issue or make new ones?

@david-christiansen
Copy link
Collaborator

Thanks!

Comments here are fine. But the book's CI will catch it when I do the next version bump, so please don't feel like you need to find everything by hand.

TristanCacqueray added a commit to TristanCacqueray/advent-of-lean that referenced this issue Dec 8, 2023
@medovina
Copy link

Note that in the fixes above, instead of (by simp (config := {decide := true})) you could just write (by decide).

@Aphexus
Copy link

Aphexus commented Sep 26, 2024

Still a problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants