The evaluator interface of the WP prefix proof #
The facts about the evaluator that the proof that the WP phase over-approximates failing
prefixes uses beyond the mainline factory laws, over the evaluation relation EvalsTo of
DL/Imperative/CmdSemantics.lean: its invariance under stores agreeing on the free variables
(evalsTo_congr), and the replay of a command step from a wider store (cmd_widen, over the
store agreement Wide). Every other part of the proof reaches the evaluator only through these
and the mainline laws.
Key definitions: Wide.
Key theorems: evalsTo_congr, cmd_widen.
Value-valued stores agreeing on the free variables of e evaluate it alike.
The value-valued stores σ and σ' agree on N.
Equations
- Imperative.WP.Wide F N σ σ' = ((∀ (y : P.Ident), y ∈ N → σ' y = σ y) ∧ Imperative.WellFormedStore σ F ∧ Imperative.WellFormedStore σ' F)
Instances For
A command step, replayed from a value-valued store agreeing with the value-valued σ on
the identifiers of the command and on N: a step of the same command, observed alike, to a
store agreeing on N with the result.