Skip to content

Commit 9445eec

Browse files
hyperpolymathclaude
andcommitted
docs(spec): V4g — VCL-SPEC documents PROVEN + SANCTIFY proof types
Renames docs/VQL-SPEC.adoc → docs/VCL-SPEC.adoc (completes the VQL→VCL filename migration; content was already renamed earlier). Adds the two V4 proof types to §Proof Types: PROVEN — (obligation_class, prover) pair certified via learning loop (success_rate ≥ τ_proven ∧ total_attempts ≥ N_proven) SANCTIFY — class-level portfolio attestation (≥ k_sanctify PROVEN provers across ≥ N_sanctify combined attempts) Both resolve at runtime via GET /api/v1/proof_attempts/certificates and Hypatia.VCL.ProofResolver (committed in hypatia d142bb5). Default thresholds: τ=0.80, N_proven=20, k_sanctify=2, N_sanctify=50. Updates the keyword list to include PROVEN and SANCTIFY. Updates all VQL-SPEC references in docs/code to VCL-SPEC. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 1357146 commit 9445eec

1 file changed

Lines changed: 48 additions & 4 deletions

File tree

docs/VCL-SPEC.adoc

Lines changed: 48 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@ DESC DOCUMENT DOT_PRODUCT DRIFT EUCLIDEAN EXISTENCE EXISTS
187187
FEDERATION FIELD FROM FULLTEXT GRAPH GROUP HAS
188188
HAVING HEXAD INSERT INTEGRITY JACCARD LATEST LIKE
189189
LIMIT MATCHES MAX MIN MODIFIED NEAREST NOT
190-
OF OFFSET OR ORDER PROOF PROVENANCE RANK
191-
REPAIR SELECT SEMANTIC SET SHAPE SIMILAR STORE
190+
OF OFFSET OR ORDER PROOF PROVEN PROVENANCE RANK
191+
REPAIR SANCTIFY SELECT SEMANTIC SET SHAPE SIMILAR STORE
192192
STRICT SUM TEMPORAL TENSOR TO TOLERATE UPDATE
193193
USING VECTOR VERIFIED VERSION WHERE WITH WITHIN
194194
false true
@@ -559,7 +559,7 @@ The result is bundled with a proof that the result satisfies the stated property
559559

560560
==== Proof Types
561561

562-
`Proof[φ]` — A type inhabited by evidence that proposition stem:[\phi] holds. There are six proof kinds:
562+
`Proof[φ]` — A type inhabited by evidence that proposition stem:[\phi] holds. There are eight proof kinds:
563563

564564
[cols="1,3,1"]
565565
|===
@@ -588,9 +588,53 @@ The result is bundled with a proof that the result satisfies the stated property
588588
| `CUSTOM`
589589
| User-defined ZKP contract
590590
| Variable
591+
592+
| `PROVEN`
593+
| *(V4)* A specific (obligation_class, prover) pair meets the
594+
PROVEN-certificate threshold: aggregate success_rate ≥ τ_proven over
595+
≥ N_proven attempts in the `proof_attempts` learning loop. Resolved
596+
against `mv_proven_certificates` via
597+
`GET /api/v1/proof_attempts/certificates?class=X&prover=Y`.
598+
| Low (cached MV read)
599+
600+
| `SANCTIFY`
601+
| *(V4)* A proof obligation class has at least `k_sanctify` distinct
602+
PROVEN provers whose combined attempts meet `N_sanctify`. A
603+
class-level portfolio attestation. Resolved against
604+
`mv_sanctify_certificates`.
605+
| Low (cached MV read)
591606
|===
592607

593-
`[.partial]` Parser recognises all six proof types. Type checker validates proof clause structure. Runtime proof generation is planned.
608+
`[.partial]` Parser recognises the six original proof types end-to-end.
609+
`PROVEN` and `SANCTIFY` are resolved at execution time via the V4 HTTP
610+
endpoint and `Hypatia.VCL.ProofResolver` in the Elixir execution layer
611+
(see `hypatia/lib/vcl/proof_resolver.ex`). Type-checker integration in
612+
the ReScript parser is planned but not yet wired — for now, PROVEN and
613+
SANCTIFY expressions pass through verbatim for runtime resolution.
614+
615+
===== PROVEN / SANCTIFY usage examples
616+
617+
[source]
618+
----
619+
-- Check whether z3 is certified on the safety class
620+
PROOF PROVEN(class='safety', prover='z3')
621+
-> {proven, cert_id, success_rate, total_attempts}
622+
623+
-- Class-level portfolio attestation
624+
PROOF SANCTIFY(class='equiv')
625+
-> {sanctified, cert_id, proven_provers, combined_attempts}
626+
627+
-- Embedded in a VCL statement
628+
INSPECT * FROM octads
629+
WHERE modality = 'semantic'
630+
PROOF PROVEN(class='correctness', prover='cvc5')
631+
AND PROOF SANCTIFY(class='safety')
632+
----
633+
634+
The thresholds (`τ_proven`, `N_proven`, `k_sanctify`, `N_sanctify`) live
635+
in the `proof_attempts_cert_policy` singleton table and propagate to the
636+
views immediately on update. Default policy: τ=0.80, N_proven=20,
637+
k_sanctify=2, N_sanctify=50.
594638

595639
=== Subtyping Rules
596640

0 commit comments

Comments
 (0)