VCGen Tactics for Probabilistic Program Logic #
This is the canonical user-facing umbrella import for tactic-based program-logic proofs.
VCVio.ProgramLogic.Tactics.Unarycontains unary / quantitative tactics such asvcstep,vcgen,exp_norm, andby_hoare.VCVio.ProgramLogic.Tactics.Relationalcontains relational proof-mode tactics such asrvcstep,rvcgen,by_equiv,rel_dist,game_trans,by_dist, andby_upto.
For probability equalities, use vcstep directly:
- plain
vcstepkeeps the heuristic swap/congruence dispatcher; vcstep rw/vcstep rw under nexpose explicit bind-swap rewrites;vcstep rw congr/vcstep rw congr'expose one shared bind explicitly.
For unary theorem-driven steps:
vcstep with thmforces one explicit unary theorem/assumption step;@[vcspec]registers an explicit opt-in theorem for bounded lookup byvcstep/vcgen/rvcstep/rvcgen.
For tactic-choice debugging, enable set_option vcvio.vcgen.traceSteps true.
For normal proof work, import VCVio.ProgramLogic.Tactics and treat it as the default
interactive tactic surface.