The body of the equation system, i.e., a map Assignment[U,V] => Assignment[U,V]
.
The body of the equation system, i.e., a map Assignment[U,V] => Assignment[U,V]
.
Given an assignment rho
and unknown u
, returns the pair (body(rho)(x), uks)
.
Given an assignment rho
and unknown u
, returns the pair (body(rho)(x), uks)
. uks
is a set of unknowns
with the property that if rho'
differs from rho
only for variables which are not in uks
, then
body(rho)(u)==body(rho')(u)
.
The static relation between an unknown x and the unknowns y it influences.
The static relation between an unknown x and the unknowns y it influences. If infl(x)
does not contain y
, it
means that eqs(rho)(y) == eqs(rho')(y)
, when rho' = rho[x / eqs(rho)(x)]
.
An initial value for starting the analyzer
An initial value for starting the analyzer
The unknowns which may be considered the input to this equation system.
The unknowns which may be considered the input to this equation system.
The collection of all unknowns.
Combine a base assignment with the equation system
Combine a base assignment with the equation system
the assignment to add to the equation system
Add boxes to the equation system.
Add boxes to the equation system.
a box assignment
This is the abstract class for an equation system with a finite set of unknowns AND static dependencies between them. When computing
apply(rho)(x)
, the result may only depend on values ofrho(y)
for any
such thaty infl x
.