Improve ProgramLogic tactics and support general Pr goals#157
Improve ProgramLogic tactics and support general Pr goals#157
Conversation
Make qvcgen and rvcgen explain planner choices and support richer theorem-driven replay so nested probability rewrites and simulateQ-style relational proofs need less manual scripting. Made-with: Cursor
🤖 Gemini PR SummaryLogic and Formalization
VCGen Tactic Infrastructure
Program Logic Support
Documentation and Testing
Statistics
Lean Declarations ✏️ **Added:** 16 declaration(s)
✏️ **Affected:** 6 declaration(s) (line number changed)
📄 **Per-File Summaries**
Last updated: 2026-03-12 21:23 UTC. |
🤖 Initial AI review without external context🤖 AI ReviewReviewed Revision
Overall Summary: Checklist Coverage: Key Lean 4 / Mathlib Issues:
Nitpicks:
Overall Verdict: Changes Requested 📄 **Review for `Examples/ElGamal.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `Examples/OneTimePad.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Notation.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Relational/SimulateQ.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Common/Core.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Common/Registry.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Examples.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Relational.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Relational/Internals.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Unary.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks: 📄 **Review for `VCVio/ProgramLogic/Tactics/Unary/Internals.lean`**Verdict: Needs Minor Revisions Critical Misformalizations: Lean 4 / Mathlib Issues:
Nitpicks:
📄 **Review for `VCVio/ProgramLogic/Unary/HoareTriple.lean`**Verdict: Approved Critical Misformalizations: Lean 4 / Mathlib Issues: Nitpicks:
|
Lower probability bounds can now stay inside unary VCGen, while general `Pr[...]` goals continue structurally in raw `wp` form. Normalize probability congruence goals up front and expand the regression/docs coverage so nested rewrites stay less brittle. Made-with: Cursor
Rename the lower-bound `probOutput` bridge to match the existing indicator-based theorem naming and keep the unary lowering path consistent with that API. Made-with: Cursor
Summary
qvcgen/rvcgenplanning, diagnostics, and theorem-driven automation so tactic replay and ambiguity reporting are more actionablePr[...]goals inqvcgen, keeping lower bounds inTripleform and continuing other shapes in rawwpmodeTest plan
lake build VCVio.ProgramLogic.Tactics.Examples Examples.ElGamal Examples.Schnorr Examples.OneTimePad