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

Emit proof steps for Int constant folding

Open
#260 0 comments 0 reactions 1 assignee Claimed by @felipeperet View on GitHub
area: proof reconstruction
Dominant language
Lean
Stars
57
Forks
11
Avg merge
1d 5h
Merged PRs (30d)
10

Description

**Goal:** Int constant folding emits no proof step, so goals such as `2 - 2 + b = b` fall back to `blasterProven`.

**Scope:**
```
N1 + N2 ==> N1 "+" N2, N1 * N2 ==> N1 "*" N2, - N ==> "-" N
(optimizeIntAdd / Mul / Neg)
Int.sub unfolding to m + -n (normConst, OptimizeConst.lean)
Same fold inside the associativity branches (cstAddProp? / cstMulProp?)
```

**DoD:**
- [ ] Each fold above pushes its proof step.
- [ ] A `#testOptimize [ ..., proof ]` test exercises each case, wired into `Tests/Optimize.lean`.
- [ ] No regression in the `OptimizeInt` suites.

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.