leanprover-community / leanprover-community/mathlib4

`apply_rules` in the `symm` + `only` configuration

Open
#1,458 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Lean
Stars
4.2k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

Originally this issue referenced two quirks of apply_rules: first one, second one.

The second is fixed by #1580. I will keep this issue open to track the first.

More detail on that one: PR #856 added a feature (config := {symm := true}) to solve_by_elim and apply_rules to include the symms of local hypotheses. These tactics also have an option only to include only specified local hypotheses rather than all local hypotheses. How should these two options combine?

Currently in the presence of only the symm option does nothing; no symms are included no matter whether the symm option is on. My feature request is to change this so that with only on, when symm is also on this brings in the symms of the specified local hypotheses. Then the current behaviour would still be available with only on and symm off.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the implementations and tests for apply_rules and solve_by_elim, then inspect how their only and symm configurations are combined. Focus on the remaining quirk rather than the behavior fixed by #1580; done means symm := true includes symmetries of the hypotheses selected by only, while symm := false preserves current behavior.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.