v0.8.0 milestone — Verification depth on i64 (T1 result-correspondence parity)
Per PulseEngine defense-in-depth methodology, v0.8.0 promotes the i64 integer-op proofs from T2 existence-only to T1 result-correspondence, bringing i64 to the same verification tier i32 already enjoys. This closes the largest gap in the current proof matrix:
| Tier |
i32 today |
i64 today |
i64 after v0.8.0 |
| T1 (result) |
35 |
4 (div only) |
33 (4 + 29 new) |
| T2 (existence) |
n/a |
29 |
0 |
| T3 (admitted) |
10 |
0 |
0 |
Scope (30 theorems to promote, +1 foundation PR)
PR breakdown (queue order):
- Foundation — Tactics + flag-correspondence lemmas
- Add
synth_binop_proof_i64 and synth_cmp_binop_proof_i64 tactic variants to coq/Synth/Synth/Tactics.v (currently i32-only — see synth#TBD report)
- Add 11 i64 flag-correspondence lemmas to
coq/Synth/ARM/ArmFlagLemmas.v (parallel to the existing 20 i32 lemmas)
- Verify
bazel test //coq:verify_proofs stays green
- i64 arithmetic + bitwise (12 theorems): I64Add/Sub/Mul + I64And/Or/Xor in
CorrectnessI64.v
- i64 shifts + rotates (10 theorems): I64Shl/ShrS/ShrU + I64Rotl/Rotr
- i64 comparisons (11 theorems): I64Eq/Ne/LtS/LtU/LeS/LeU/GtS/GtU/GeS/GeU/Eqz in
CorrectnessI64Comparisons.v
- i64 bit-manip (3 theorems): I64Clz/Ctz/Popcnt — already have 6 supporting axioms per STATUS.md
Optional additive PRs (not required for the theme but sized to bundle):
- F64↔I64 conversions (~150 lines): close the deferred
F64ConvertI64S/U, I64TruncF64S/U from v0.7.0's CHANGELOG
- F32DemoteF64 (~80 lines): close the deferred
F32DemoteF64 from v0.7.0's CHANGELOG
Falsification statement
v0.8.0 would be wrong if:
- Any i64 op covered by a newly-added T1 theorem is observed to miscompile against the WASM reference (the theorem's premises would be violated in practice, OR the theorem proves a different operation than the compiler emits).
- The
bazel test //coq:verify_proofs job goes red on a clean v0.8.0 checkout.
- The new tactics (
synth_binop_proof_i64, synth_cmp_binop_proof_i64) succeed on a malformed proof obligation, indicating the tactic is unsound rather than reusable.
Optional (if items 6+7 ship):
- Any covered f64↔i64 conversion or F32DemoteF64 op miscompiles on a Cortex-M7DP target.
Why this is a single release
Per the planning research (synth#TBD subagent reports):
- i64 T1 parity alone is MEDIUM risk, 2–3 weeks of proof work. The existing T2 proofs already establish that the compiled ARM code executes — promoting them to T1 is per-theorem manual proof effort using the existing i32 patterns as templates.
- RV32 T1 parity was considered but is out of scope: there is no
coq/RISCV/RiscvSemantics.v yet. Building the RISC-V semantic substrate is its own multi-release effort. Tracked separately.
- P3 async (synth#80) is blocked by upstream: meld#94 (P3 lowering), kiln#230 (P3 runtime), and synth#77 (platform abstraction). Doing it now would mean rework when those land.
Closes / unblocks
This milestone advances coq/STATUS.md from "35 T1 Qed / 142 T2 / 10 admitted" to projected "64 T1 Qed / 113 T2 / 10 admitted" — a ~83% increase in result-correspondence coverage. The 10 admitted proofs (i32 division trap-guard sequences) are unchanged; that's a separate exec_program model extension tracked elsewhere.
v0.8.0 milestone — Verification depth on i64 (T1 result-correspondence parity)
Per PulseEngine defense-in-depth methodology, v0.8.0 promotes the i64 integer-op proofs from T2 existence-only to T1 result-correspondence, bringing i64 to the same verification tier i32 already enjoys. This closes the largest gap in the current proof matrix:
Scope (30 theorems to promote, +1 foundation PR)
PR breakdown (queue order):
synth_binop_proof_i64andsynth_cmp_binop_proof_i64tactic variants tocoq/Synth/Synth/Tactics.v(currently i32-only — see synth#TBD report)coq/Synth/ARM/ArmFlagLemmas.v(parallel to the existing 20 i32 lemmas)bazel test //coq:verify_proofsstays greenCorrectnessI64.vCorrectnessI64Comparisons.vOptional additive PRs (not required for the theme but sized to bundle):
F64ConvertI64S/U,I64TruncF64S/Ufrom v0.7.0's CHANGELOGF32DemoteF64from v0.7.0's CHANGELOGFalsification statement
v0.8.0 would be wrong if:
bazel test //coq:verify_proofsjob goes red on a clean v0.8.0 checkout.synth_binop_proof_i64,synth_cmp_binop_proof_i64) succeed on a malformed proof obligation, indicating the tactic is unsound rather than reusable.Optional (if items 6+7 ship):
Why this is a single release
Per the planning research (synth#TBD subagent reports):
coq/RISCV/RiscvSemantics.vyet. Building the RISC-V semantic substrate is its own multi-release effort. Tracked separately.Closes / unblocks
This milestone advances
coq/STATUS.mdfrom "35 T1 Qed / 142 T2 / 10 admitted" to projected "64 T1 Qed / 113 T2 / 10 admitted" — a ~83% increase in result-correspondence coverage. The 10 admitted proofs (i32 division trap-guard sequences) are unchanged; that's a separate exec_program model extension tracked elsewhere.