Problem 1
Galois connection is 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 ).
Part a) Show that the condition is equivalent to the conjunction of these two conditions:
hold for all and .
Part b) 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
Part c) 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?
Problem 2
Suppose you are given a set of predicates in a decidable theory of first-order logic (for example, quantifier-free formulas in the combination of uninterpreted function symbols with integer linear arithmetic) where is the predicate 'false'.
Part a) Consider Conjunctions of Predicates as abstract interpretation domain. Give example showing that it need not be the case that
Part b) Describe how to construct from a new, smaller, lattice , where the above equivalence holds. Is there an algorithm to compute and the partial order on using a decision procedure for the logic of predicates?
Part c) Suppose that, for the same set of predicates, we use lattice and lattice to compute the fixpoints and of the function from Abstract Interpretation Recipe. What can you say about
- the comparison of numbers of iterations needed to compute the fixpoint and (is one always less than the other, can they be equal, does it depend on set of predicates)
- the precision of computed information, that is, comparison of sets and for an arbitrary program point .