Theory Voblint_Solver.Globals_Rule
theory Globals_Rule
imports TD_Solver_Bridge
begin
section ‹Which rule updates a side-effected global›
text ‹
The vendored solver warrows every local unknown at a widening point, whichever
instance runs. What its instances differ in is how a contribution side-effected into
a global unknown is merged: joined into the value, joined per origin, warrowed into
the value, warrowed per origin, or widened per origin with narrowing cut short once
an origin has switched from widening to narrowing a given number of times. That
merge is the one choice a caller makes, so it is a value here rather than a choice
between five solvers: a single interpretation takes the rule as a parameter, and
every solver fact holds for all five at once.
›