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

feat: simpLocation #797

Merged
merged 1 commit into from Nov 16, 2021
Merged

Conversation

semorrison
Copy link
Collaborator

This refactors evalSimp, the implementation of the simp [...] at ... syntax, into two functions. Now evalSimp just handles the Syntax parsing, while simpLocation dispatches to the simpGoal tactic in Lean.Meta.Tactic.Simp according to a location argument.

I want this separation so that when writing other tactics, I can invoke the simplifier using a location, without having to synthesize a Syntax. (The specific application is in porting split_ifs.)

See also discussion on zulip.

@leodemoura
Copy link
Member

@semorrison BTW, we have a split tactic in core Lean that splits if and match expressions. It has many features for match. See split*.lean tests at tests/lean/run for examples. That being said, it may be incompatible with the splif_if tactic.

@leodemoura leodemoura merged commit 835bd08 into leanprover:master Nov 16, 2021
ChrisHughes24 pushed a commit to ChrisHughes24/lean4 that referenced this pull request Dec 2, 2022
In core Lean 3, the class `is_lawful_applicative` has a field `pure_seq_eq_map`. In core Lean 4 the name of the corresponding field in `LawfulApplicative` has been shortened to `pure_seq`, so it needs aligning.
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

Successfully merging this pull request may close these issues.

None yet

2 participants