The verification cargo class: energy-accounted formal verification as a vendor-neutral standard. A proof obligation is content-addressed; a solver attempts one at a declared tier; a discharged obligation seals as a signed JCR-1 receipt recording which tier closed it and the joules it cost. The cheapest sufficient solver wins, correctness stays the verifier's, and the joules a cheaper solver spent before failing are disclosed, never hidden. - SPEC.md (§1–§9): the obligation, canonical det-CBOR addressing, the cheapest-sufficient cascade with disclosed escalation, the honest energy/provenance model, the proof/1 JCR-1 receipt, the cache, conformance. - proof-rs/: a 6-crate Apache-2.0 reference workspace. Two real rungs with measured energy — an in-process propositional decider (T0) and z3, shelled or kept resident (T1) — over honest model-tier stand-ins; the escalation router with the proof-cache flywheel and frontier-only baseline accounting; the proof/1 receipt vendored byte-compatible with the family JCR-1 verifiers; C1–C5 + a negative pack, all checks real, with published vectors. - proof carries spec_grounding in the signed receipt: a proof is not a specification, and a prover may never self-certify that the statement encodes intent. cargo test --workspace green; cargo clippy --workspace --all-targets clean. JouleProof (jouleproof.transaction.science) is the steward + services layer over this standard. Co-Authored-By: Claude Opus 4.8 <[email protected]>
1.7 KiB
1.7 KiB
Contributing to Proof
Proof is one of the Transaction Science open standards. The wire format and the right to fork are public; Transaction Science is the steward, not the proprietor.
Ground rules
- Reference code (
proof-rs/) is Apache-2.0. Specification text (SPEC.md) is CC-BY-4.0. - Rust toolchain is pinned by the repo
rust-toolchain.toml.cargo test --workspaceMUST pass andcargo clippy --workspace --all-targetsMUST be warning-free. - Any change to a wire structure (the
proof/1receipt core, the canonical encoding) requires regenerating and committingconformance/v1/(cargo run -p proof-conformance --bin gen-vectors -- conformance/v1). - A solver MUST NOT return
provedwithout verifier acceptance, and MUST NOT upgrade a goal'sspec_groundingon its own. These are correctness and honesty invariants, not style.
The smallest valuable contributions
- Real backends behind the
Solvertrait: a Lean tactic runner at T0, CVC5 alongsidez3at T1, a distilled in-domain prover at T2 — each reporting what actually happened, with measured energy. - Measured energy: a
HwShuntbackend (RAPL/NVML) so a solver reports hardware-measured joules instead of a wall-time model. - Conformance: adversarial negatives (a router that hides escalation waste, a
receipt sealed for an unproved goal, a provenance/measured mismatch), and
independent implementations certifying against
conformance/v1/. - Spec-grounding tooling: cross-checkers that earn a
CrossCheckedgrounding by comparing a statement against an independent encoding — the honest path the standard refuses to let a prover shortcut.
Issues and PRs scope by the proof subdirectory tag.