You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: register 2 new mapping-slot axioms in AXIOMS.md (#1672)
* docs: register 2 new mapping-slot axioms in AXIOMS.md and sync all docs
The codex/reduce-sorries-pass-5 branch added two axioms in
Compiler/Proofs/MappingSlot.lean (solidityMappingSlot_lt_evmModulus and
solidityMappingSlot_add_wordOffset_lt_evmModulus) without updating
AXIOMS.md, causing CI check_axioms.py to fail.
- Add axiom entries #2 and #3 to AXIOMS.md
- Update active axiom count from 1 to 3
- Update DOCUMENTED_AXIOMS in check_axioms.py
- Sync all docs (README, TRUST_ASSUMPTIONS, VERIFICATION_STATUS, llms.txt)
- Update check_layer2_boundary_sync.py expected/forbidden snippets
- Fix test_check_layer2_boundary_sync.py assertions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: allowlist long setStorage proof in check_proof_length.py
Add compiledStmtStep_setStorage_of_validateIdentifierShapes_of_validateFunctionIdentifierReferences
to the proof length allowlist — it's a mechanical bridge proof (186 lines)
that threads identifier validation through the compiled storage-write step.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,7 +119,7 @@ EVM Bytecode
119
119
| 2 | A generic whole-contract theorem exists for the current explicit supported fragment, and its function-level closure now runs by theorem rather than axiom. The theorem statements are in place but the Layer 2 proof scripts are currently being repaired after a definition refactor (PR #1639) and contain `sorry` placeholders; see [docs/VERIFICATION_STATUS.md](docs/VERIFICATION_STATUS.md). The theorem surface explicitly assumes normalized transaction-context fields. Follow-on work in [#1510](https://github.com/Th0rgal/verity/issues/1510) focuses on widening the fragment. |[Contract.lean](Compiler/Proofs/IRGeneration/Contract.lean)|
120
120
| 3 | IR → Yul codegen is proved generically at the statement/function level, but the current full dispatch-preservation path still uses 1 documented bridge hypothesis; the checked contract-level theorem surface now makes dispatch-guard safety explicit for each selected function case |[Preservation.lean](Compiler/Proofs/YulGeneration/Preservation.lean)|
121
121
122
-
There is currently 1 documented Lean axiom in total: the selector axiom. Layer 2's former generic body-simulation axiom has been eliminated, and Layer 3 keeps its remaining dispatch bridge as an explicit theorem hypothesis rather than a Lean axiom. See [AXIOMS.md](AXIOMS.md).
122
+
There are currently 3 documented Lean axioms in total: the selector axiom and 2 mapping-slot range axioms. Layer 2's former generic body-simulation axiom has been eliminated, and Layer 3 keeps its remaining dispatch bridge as an explicit theorem hypothesis rather than a Lean axiom. See [AXIOMS.md](AXIOMS.md).
123
123
124
124
Layer 1 is the frontend EDSL-to-`CompilationModel` bridge. The per-contract files in `Contracts/<Name>/Proofs/` prove human-readable contract specifications; they are not what "Layer 1" means in the compiler stack. Layer 2 now has a generic whole-contract theorem for the explicit supported fragment. The compiler proves Layer 2 preservation automatically — no manual per-contract bridge proofs are needed. Layers 2 and 3 (`CompilationModel → IR → Yul`) are verified with the current documented axioms and bridge boundaries; see [docs/VERIFICATION_STATUS.md](docs/VERIFICATION_STATUS.md), [docs/GENERIC_LAYER2_PLAN.md](docs/GENERIC_LAYER2_PLAN.md), and [AXIOMS.md](AXIOMS.md).
Copy file name to clipboardExpand all lines: TRUST_ASSUMPTIONS.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Yul
16
16
EVM Bytecode
17
17
```
18
18
19
-
The repository currently has `sorry` placeholders in the Layer 2 proof scripts (Source → IR), which are being repaired after a definition refactor (PR #1639 added `transientStorage` to `WorldState` and expanded interpreter definitions); the theorem statements are unchanged but their tactic proofs need updating. Layer 3 (IR → Yul) proofs remain fully discharged, and it now has 1 documented Lean axiom. See [AXIOMS.md](AXIOMS.md) for the exact list and current elimination plan.
19
+
The repository currently has `sorry` placeholders in the Layer 2 proof scripts (Source → IR), which are being repaired after a definition refactor (PR #1639 added `transientStorage` to `WorldState` and expanded interpreter definitions); the theorem statements are unchanged but their tactic proofs need updating. Layer 3 (IR → Yul) proofs remain fully discharged, and it now has 3 documented Lean axioms. See [AXIOMS.md](AXIOMS.md) for the exact list and current elimination plan.
20
20
21
21
## What's Verified
22
22
@@ -38,7 +38,7 @@ Current theorem totals, property-test coverage, and proof status live in [docs/V
38
38
39
39
### 2. Lean Axioms
40
40
-**Role**: Bridge remaining proof obligations not yet fully discharged.
41
-
-**Status**: 1 documented axiom in [AXIOMS.md](AXIOMS.md): the selector axiom. The Layer 2 generic body-simulation axiom has been eliminated, and the Layer 3 dispatch bridge remains an explicit theorem hypothesis rather than a Lean axiom.
41
+
-**Status**: 3 documented axioms in [AXIOMS.md](AXIOMS.md): the selector axiom and 2 mapping-slot range axioms. The Layer 2 generic body-simulation axiom has been eliminated, and the Layer 3 dispatch bridge remains an explicit theorem hypothesis rather than a Lean axiom.
42
42
-**Mitigation**: CI axiom reporting and location checks enforce explicit tracking.
- **Axioms**: 1 documented Lean axiom (see AXIOMS.md) — the selector axiom. Layer 2's former generic body-simulation axiom has been eliminated, and Layer 3 keeps an explicit dispatch bridge hypothesis rather than a Lean axiom.
21
+
- **Axioms**: 3 documented Lean axioms (see AXIOMS.md) — the selector axiom and 2 mapping-slot range axioms. Layer 2's former generic body-simulation axiom has been eliminated, and Layer 3 keeps an explicit dispatch bridge hypothesis rather than a Lean axiom.
Copy file name to clipboardExpand all lines: docs/VERIFICATION_STATUS.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -161,7 +161,7 @@ Also note that the macro-generated `*_semantic_preservation` theorems are not co
161
161
3 `sorry` remaining across `Compiler/**/*.lean` and `Verity/**/*.lean` proof modules.
162
162
These are concentrated in the Layer 2 proof modules (`Compiler/Proofs/IRGeneration/`) due to a definition refactor (PR #1639) that added helper-aware interpreter targets. The theorem statements are structurally sound; the tactic proofs are being repaired. Layer 3 proofs and all contract-level specification proofs are fully discharged.
163
163
164
-
1 documented Lean axiom remains. The Layer 2 body-simulation axiom has been eliminated, and the Layer 3 dispatch bridge is tracked as an explicit theorem hypothesis rather than a Lean axiom.
164
+
3 documented Lean axioms remain (1 selector axiom, 2 mapping-slot range axioms). The Layer 2 body-simulation axiom has been eliminated, and the Layer 3 dispatch bridge is tracked as an explicit theorem hypothesis rather than a Lean axiom.
0 commit comments