proof-workflows

proof-workflows is an agent for coding agents from Verified-zkEVM/VCVio. It costs 0 tokens per session (4,454 once invoked), scanned A, original, Apache-2.0.

A guide to proving security properties of probabilistic programs by comparing games, distributions, and probabilities. Its examples use specialized Lean tactics for relational proofs, distance bounds, probability decomposition, and game transformations.

In plain words
What is it for?
Use it to prove that two games have the same distribution, bound an advantage, calculate an output probability, chain several game hops, or justify a change in sampling order.
Why use it?
It helps choose a proof strategy based on the shape of the theorem instead of trying tactics at random. The decision tree also gives repeatable recipes for multi-step security arguments and sampling-order changes.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/verified-zkevm/vcvio/proof-workflows
Clone the repo
git clone --depth 1 https://github.com/Verified-zkEVM/VCVio

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for proof-workflows

README.md
[![agentmods](https://agentmods.dev/badge/agents/verified-zkevm/vcvio/proof-workflows.svg)](https://agentmods.dev/agents/verified-zkevm/vcvio/proof-workflows)
Your own site
<a href="https://agentmods.dev/agents/verified-zkevm/vcvio/proof-workflows"><img src="https://agentmods.dev/badge/agents/verified-zkevm/vcvio/proof-workflows.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,454 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.04454
Opus 5 $0.00000 $0.02227
Sonnet 5 $0.00000 $0.00891
Haiku 4.5 $0.00000 $0.00445

Measured 4d ago against content hash d210320fb56f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

proof-workflows scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/agents/proof-workflows.md · 424 lines

How it starts

The opening of the file, as written. The whole thing — 424 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Proof Workflows

Proof Strategy Decision Tree

What are you trying to prove?

  1. Two games have the same distribution (g₁ ≡ₚ g₂): → by_equiv to enter relational mode, then use rvcstep / rvcgen → Add using ... when the current relational step needs an explicit witness

  2. Advantage is bounded (advantage ≤ ε): → by_dist to enter TV distance reasoning → Use by_dist ε₂ when you want to pin the TV-distance contribution explicitly → For identical-until-bad: use tvDist_simulateQ_le_probEvent_bad

  3. Probability equals a specific value (Pr[= x | oa] = ...): → Start with vcstep if the goal should lower or decompose automatically → Use vcstep? when you want the explicit script, binder names, rewrite form, or an explicit using / inv / with step surfaced → Otherwise use probOutput_bind_eq_tsum to decompose binds manually → Use simp with project simp lemmas → Use vcstep, vcstep rw, or vcstep rw congr' for probability equalities

  4. Multi-hop security proof (g₁ ≡ₚ gₙ): → game_trans g₂ to split into two goals, repeat

  5. Need to swap sampling order: → Use vcstep if the swap should close the goal → Use vcstep rw (or vcstep rw under n) if you need to continue after rewriting

Monadic Normalization with monad_norm

The canonical way to normalize monadic expressions in this codebase is Mathlib's monad_norm simp set (declared in Mathlib.Tactic.Attr.Register). It bundles pure_bind, bind_assoc, bind_pure, map_pure, pure_seq, seq_assoc, seq_eq_bind_map, and map_eq_bind_pure_comp, which between them push goals toward an associated bind-canonical form.

Prefer simp [monad_norm] (or simp […, monad_norm]) over hand-rolled lemma lists like simp [bind_assoc, pure_bind, …]. It documents intent, keeps proofs robust if Mathlib adds further rules, and reads more clearly. In simp only calls it is fine too — simp only [monad_norm] is just the closed set.

Read the full file on GitHub · 424 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 424 lines · 0 tokens per session scan A d210320fb56f

Subscribe to this mod's changes

proof-workflows is an agent published in the GitHub repository Verified-zkEVM/VCVio (142 stars, last pushed 5d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 4,454 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

acto-critic

ACToR-style discriminator for the Thermite toolchain. Hunts for divergence between the toolchain's behavior and its authority (the design doc + the conformance corpus + Verus/Kani golden files). ALWAYS writes a FAILING test that pins down the divergence — NEVER writes a fix. Dispatch when a builder/fixer declares…

Corvidae-Coding-Projects/Thermite · 90 tokens

acto-builder

Multi-file authorized agent for shipping missing Thermite-toolchain infrastructure that exceeds acto-fixer's single-file scope — a whole component a design doc calls for that does not yet exist (a parser module + its AST consumers; the combinator registry + its lowering hooks; the forge check pipeline + its JSON…

Corvidae-Coding-Projects/Thermite · 122 tokens

acto-doc-author

Authors design docs under .design/ / .md that ADAPT to existing Thermite-toolchain code and the thermite-design.md thesis. Each REQ status table is grounded in quoted-code evidence from the current implementation. REQs are classified BINARY — SHIPPED (end-to-end functional with a non-test production consumer + tests +…

Corvidae-Coding-Projects/Thermite · 90 tokens

acto-fixer

Applies the MINIMAL fix for exactly ONE pinned divergence found by acto-critic. The failing test pins the divergence; the fix makes that test pass. Never bundles multiple fixes. Never refactors adjacent code. Single-file scope (escalate to acto-builder if the fix spans files). After the fix, runs the full gauntlet and…

Corvidae-Coding-Projects/Thermite · 102 tokens

Tenable Cloud Exposure PQC Posture Portal

Self-hosted web portal showing post-quantum cryptography readiness for cloud resources using Tenable Cloud Exposure's native SSL/TLS PQC telemetry.

tenable/cyberagents-exchange · 40 tokens

mathodology-problem-analyst

Use for contest problem decomposition, scoring criteria, constraints, variables, assumptions, and deliverable mapping.

sweetcornna/mathodology · 29 tokens