docs(plans): refine model-property-checking surface - #34
Merged
Conversation
Forward-compatible, math-faithful revision of the model-property-checking plan (builds on the merged #33): - Subject is always a transaction; rules are projections — widening to tx-level/protocol-level only adds clauses (decision 8). - `invokes`/`accepted` are explicit predicates under assume/assert, not binder magic; assume-vs-assert position is the soundness/completeness distinction. - `tx`-relative namespaced access; inputs are records (.value/.datum/.redeemer), killing the value/datum overload; mint redeemer at tx.mints.<Policy>.redeemer. - Rename block keyword check -> property; one binding per `for` (no comma-lists); drop `equivalent` (it's `assert a == b`); ASCII proof-keyword surface, no glyphs; quantifier-neutral binder (decision 10). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refines the
model-property-checking.mdplan merged in #33, after a design review pass. Docs-only.What changed (the
property/trix provesurface):invokes/acceptedare explicit predicates underassume/assert, not binder magic. Theassume-vs-assertposition ofacceptedis exactly the soundness (V ⊆ Safe) vs completeness (Honest ⊆ V) distinction. This makes "which input runs which spend rule" expressible.tx-relative namespaced access (new decision 9). Inputs/outputs undertx.inputs.<name>/tx.outputs.<name>; inputs are records projected explicitly (.value/.datum/.redeemer), removing the value-vs-datum overload. Mint redeemer attx.mints.<Policy>.redeemer.check→property; one binding perfor(no comma-lists);equivalentdropped (it'sassert a == b); quantifier-neutral binder withassert(∀) /satisfiable(∃) as duals; no Unicode glyphs.Scope unchanged: prove the Tx3 model, not the generated enforcement layer. Branch is based on the post-#33
main; clean delta.🤖 Generated with Claude Code