Forward and backward propagation
Let denote the result of propagating backward the error conditions, that is, the negation of postcondition. We define by
for all . Here for any set of states we write for the complement of , that is, the set .
If is the postcondition operator, that is,
1. Then show that
where denotes the inverse of relation . In other words, computing weakest preconditions corresponds to propagating possible errors backwards.
Galois Connection
In the lecture we talked about a special case of Galois connection, called Galois insertion. Galois connection is in general defined by two monotonic functions and between partial orders on and on , such that
for all and (intuitively, the condition means that is approximated by ).
2. Show that the condition is equivalent to the conjunction of these two conditions:
hold for all and .
3. Let and satisfy the condition of Galois connection. Show that the following three conditions are equivalent:
- for all
- is a surjective function
- is an injective function
4. State the condition for to hold for all . When is the set of sets of concrete states and is a domain of static analysis, is it more reasonable to expect that or to be satisfied, and why?