input-output-hk / input-output-hk/Lean-blaster

Eq hardening: additive/multiplicative cancellation reductions

Open
#181 0 comments 0 reactions 1 assignee Claimed by @MarcoNardell1 View on GitHub
area: proof reconstruction
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.