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
Add `data Verb = VSelect|VInspect|VVerify|VAssert|VDeclare|VRetract` and an
additive `verb` field to both `Grammar.idr record Statement` (proof corpus)
and the Rust `ast.rs` mirror. The parser promotes ASSERT/DECLARE/RETRACT as
verb tags over the existing relational body; INSPECT/VERIFY already aliased
SELECT; MERGE/SPLIT/NORMALISE stay fail-closed (S2 — multi-subject /
result-less semantics).
Additive-extension property demonstrated: ZERO proof edits. All L0..L10
soundness proofs and the WireConformance Refls stay green (the predicates
access Statement by name and ignore `verb`); only the 9 construction/pattern
sites needed the extra arg. `verb` is not carried on the wire — it defaults
to VSelect on decode and in the conformance fixtures, so the byte format and
the Refls are unchanged.
Also closes the gate.rs silent ASSERT->INSPECT rewrite: the admitted fixture
now parses the contract's actual ASSERT example (vclt-gate-contract.adoc:86)
and asserts verb==Assert; adds s1_verb_tags_and_fail_closed.
Verified: idris2 --build vclut-core.ipkg exit 0; cargo test 7/7 suites;
honesty-guard Clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments