leanprover-community / leanprover-community/mathlib4
linarith can no longer solve a simple problem
Open
Nobody has claimed this yet.
bug
- Dominant language
- Lean
- Stars
- 4.1k
- Forks
- 1.7k
- PR merge metrics
- No merged PRs in 30d
Description
Adapted from zulip:
This works in mathlib3:
import data.real.basic example (a b c d e : ℚ) (ha : 2 * a + b + c + d + e = 4) (hb : a + 2 * b + c + d + e = 5) (hc : a + b + 2 * c + d + e = 6) (hd : a + b + c + 2 * d + e = 7) (he : a + b + c + d + 2 * e = 8) : e = 3 := by linarithbut no longer works in mathlib4:
import Mathlib example (a b c d e : ℚ) (ha : 2 * a + b + c + d + e = 4) (hb : a + 2 * b + c + d + e = 5) (hc : a + b + 2 * c + d + e = 6) (hd : a + b + c + 2 * d + e = 7) (he : a + b + c + d + 2 * e = 8) : e = 3 := by linarith (config := { oracle := .fourierMotzkin })
Possibly related to #2717
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the provided Lean examples and inspect the linarith tactic's Fourier–Motzkin oracle. Compare the behavior with the related #2717 issue; the work is done when the shown rational-number example is solved again with the stated configuration.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100