Documentation

VCVio.ProgramLogic.Tactics.Common.SpecIR

VC Spec Intermediate Representation #

Tactic-level intermediate representation used to classify program-logic specification rules for diagnostic messages, registry bookkeeping, and structural candidate filtering. The discrimination-tree indexing itself lives in Registry.lean and operates on Lean.Meta.Sym.Pattern; the IR defined here is a light-weight summary attached to each @[vcspec] entry.

Broad category of a @[vcspec] rule, derived from the head of the theorem's statement (Triple, wp, RelTriple, RelWP).

Instances For

    Coarse lookup shape used to route a rule into the right discrimination tree partition (unary vs relational) at registration time.

    Instances For

      Outer syntactic shape of a single oracle computation slot of a @[vcspec] rule. Used for coarse secondary filtering when the discrimination tree returns multiple candidates.

      Instances For

        Combined comp-form of a rule's computation slot(s). Unary rules record a single form; relational rules record both sides.

        Instances For

          Normalized summary of a @[vcspec] rule attached to every registered entry. The discrimination tree is the primary index; this summary powers kind-filtered iteration helpers and structural-compatibility scoring in the planner.

          Instances For

            Rough structural summary of the outer head of a computation slot, keyed on the standard monad operations (>>=, pure, query, if, …).

            Instances For