Skip to content

Commit e755dc7

Browse files
committed
chore(proofs): wire FusedOptimization.v into BUILD.bazel
Closes audit D1: proofs/simplify/FusedOptimization.v was orphaned from the Bazel build (not in any rocq_library / rocq_proof_test target), so CI never compiled or checked it. The file backs the fused/meld optimization pipeline with 7 axioms + 8+ theorems covering same-memory adapter collapse, adapter devirtualization, trivial-call elimination, and type/import dedup. Wires it in as: - new rocq_library "fused_optimization" depending on wasm_semantics and term_semantics - new rocq_proof_test "fused_optimization_test" - added to the all_proofs_test test_suite The 7 axioms remain unchanged in this PR (they are stated assumptions, not Admitteds — they typecheck and CI accepts them as load-bearing trust). Future work: discharge them with real proofs against the operational semantics in WasmSemantics.v. This is the BUILD.bazel patch authored by a parallel agent that hit a watchdog timeout before pushing — the diff was clean and is shipped as-is. Note on Rocq CI: the Rocq Formal Proofs job in ci.yml is currently continue-on-error: true due to a known rules_rocq_rust toolchain linker error (LLVM-19-rust-1.85.0-nightly missing). That is infra, not a proof failure. Once the toolchain is fixed, FusedOptimization.v will be checked alongside the other proofs. Trace: REQ-7
1 parent e21f888 commit e755dc7

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

proofs/BUILD.bazel

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,25 @@ rocq_proof_test(
100100
deps = [":strength_reduction"],
101101
)
102102

103+
# Fused/meld optimization proofs
104+
# Covers the optimization passes specific to WebAssembly modules produced by
105+
# component fusion: same-memory adapter collapse, adapter devirtualization,
106+
# trivial call elimination, type/import dedup, dead function elimination.
107+
rocq_library(
108+
name = "fused_optimization",
109+
srcs = ["simplify/FusedOptimization.v"],
110+
deps = [
111+
":wasm_semantics",
112+
":term_semantics",
113+
],
114+
visibility = ["//visibility:public"],
115+
)
116+
117+
rocq_proof_test(
118+
name = "fused_optimization_test",
119+
deps = [":fused_optimization"],
120+
)
121+
103122
# =============================================================================
104123
# Master Correctness Theorem
105124
# =============================================================================
@@ -175,6 +194,7 @@ filegroup(
175194
":identity",
176195
":bitwise",
177196
":strength_reduction",
197+
":fused_optimization",
178198
],
179199
visibility = ["//visibility:public"],
180200
)
@@ -200,6 +220,7 @@ filegroup(
200220
":identity",
201221
":bitwise",
202222
":strength_reduction",
223+
":fused_optimization",
203224
":correctness",
204225
# Existing proofs
205226
":stack_proofs",
@@ -226,6 +247,7 @@ test_suite(
226247
":identity_test",
227248
":bitwise_test",
228249
":strength_reduction_test",
250+
":fused_optimization_test",
229251
":correctness_test",
230252
":stack_proofs_test",
231253
":codec_proofs_test",

0 commit comments

Comments
 (0)