Commit 08b717e
committed
Add ExprCompileCore constructors for bitwise ops, prove sorry #1 (5→4 sorries)
- Add bitAnd/bitOr/bitXor/bitNot constructors to ExprCompileCore inductive
- Add eval_compileExpr helpers for all 4 bitwise ops in FunctionBody.lean
- Add cases to mutual blocks (eval_compileExpr_core_onExpr, evalExpr_lt_evmModulus_core_onExpr,
compileRequireFailCond, eval_compileRequireFailCond)
- Add cases to GenericInduction.lean match statements
- Tighten SupportedSpec.lean surface checks: sdiv/smod/sgt/slt now return true
(unsupported), matching that ExprCompileCore has no constructors for them
- Prove exprCompileCore_of_exprTouchesUnsupportedContractSurface_eq_false by
structural recursion on Expr, eliminating sorry #1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent d712394 commit 08b717e
4 files changed
Lines changed: 701 additions & 68 deletions
File tree
- Compiler/Proofs/IRGeneration
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
114 | 122 | | |
115 | 123 | | |
116 | 124 | | |
| |||
0 commit comments