Skip to content

feat(abi): S1 additive Verb discriminant — promote ASSERT/DECLARE/RETRACT#60

Merged
hyperpolymath merged 2 commits into
mainfrom
feat/s1-verb-discriminant
Jun 14, 2026
Merged

feat(abi): S1 additive Verb discriminant — promote ASSERT/DECLARE/RETRACT#60
hyperpolymath merged 2 commits into
mainfrom
feat/s1-verb-discriminant

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

S1 — additive Verb discriminant (hybrid/staged language path)

Promotes the consonance verbs onto the proven relational core, per the hybrid language decision.

  • Adds data Verb = VSelect | VInspect | VVerify | VAssert | VDeclare | VRetract + an additive verb field to both Grammar.idr record Statement (proof corpus) and the Rust ast.rs mirror.
  • Parser promotes ASSERT/DECLARE/RETRACT as verb tags over the same relational body; INSPECT/VERIFY already aliased SELECT; MERGE/SPLIT/NORMALISE fail-closed (S2 — multi-subject / result-less, need new semantics).
  • Closes the gate.rs silent ASSERTINSPECT rewrite: the admitted fixture now parses the contract's real ASSERT example (vclt-gate-contract.adoc:86) and asserts verb == Assert; adds s1_verb_tags_and_fail_closed.

Additive-extension property — zero proof edits

The L0–L10 soundness proofs and the WireConformance Refls stay green untouched: the predicates access Statement by name and ignore verb, so only the 9 construction/pattern sites needed the extra arg. verb is not serialized (defaults VSelect on decode and in the conformance fixtures), so the byte format and the Refls are stable.

Verified locally

idris2 --build verification/proofs/vclut-core.ipkg → exit 0 · cargo test (parse crate) → 7/7 suites green · honesty-guard.sh → Clean.

Next: S2 = genuine safety semantics for MERGE/SPLIT/NORMALISE (multi-subject source / repair-only).

🤖 Generated with Claude Code

hyperpolymath and others added 2 commits June 14, 2026 16:15
…RACT

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>
@hyperpolymath hyperpolymath merged commit f23ffb4 into main Jun 14, 2026
11 checks passed
@hyperpolymath hyperpolymath deleted the feat/s1-verb-discriminant branch June 14, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant