input-output-hk / input-output-hk/Lean-blaster
Eq hardening: additive/multiplicative cancellation reductions
- Dominant language
- Lean
- Stars
- 57
- Forks
- 11
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 10
Description
**Goal:** Emit proof steps for the add/mul cancellation reductions in `optimizeEq` (`arithEq?` and the `nat intAddEqReduce? / nat/intMulEqReduce?` family).
**Scope:**
```
x + y = x + z | y + x = x + z | x + y = z + x | y + x = z + x ==> y = z (Nat, Int)
x * y = x * z | y * x = x * z | x * y = z * x | y * x = z * x ==> y = z (Nat, Int; nonZeroInHyps x)
```
**Out of scope:** negation / zero-equals reductions; Bool/Prop rules; the e1 = e2 ==> e2 = e1 reorder.
**DoD:**
- [ ] Each in-scope case pushes its proof step.
- [ ] A variable-operand `#testOptimize [ ..., proof ]` test exercises each case, wired into `Tests/Optimize.lean`.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.