Linear Functional Fixed-points [chapter]

Nikolaj Bjørner, Joe Hendrix
2009 Lecture Notes in Computer Science  
We introduce a logic of functional fixed-points. It is suitable for analyzing heap-manipulating programs and can encode several logics used for program verification with different ways of expressing reachability. While full fixed-point logic remains undecidable, several subsets admit decision procedures. In particular, for the logic of linear functional fixed-points, we develop an abstraction refinement integration of the SMT solver Z3 and a satisfiability checker for propositional lineartime
more » ... mporal logic. The integration refines the temporal abstraction by generating safety formulas until the temporal abstraction is unsatisfiable or a model for it is also a model for the functional fixed-point formula. Contributions. This paper analyzes several different fixed-point logic fragments to identify expressive logics that still have good decidability and complexity results. On the practical side, we outline an integration procedure between propositional temporal logic checking and theory solvers. -We formulate a logic called the Equational Linear Functional Fixed Point Logic (or FFP(E) for short). FFP(E) encodes several fixed point logics presented in recent literature on program verification. -We establish that FFP(E) is PSPACE-complete modulo background theories that are in PSPACE by using a reduction from FFP(E) into propositional linear-time temporal logic. We show that two different extensions are NEXPTIME-hard and undecidable, respectively. -We provide a decision procedure for FFP(E) that combines the SMT solver Z3with a (symbolic)satisfiabilitychecking of propositional lineartime formulas. The proposed integration generalizes the standard abst raction/refinement framework used in SMT solvers. Instead of relying on refining a propositional model, we here refine a propositional linear time model. An early stage prototype of the procedure is available. The resulting approach can therefore be viewed as a marriage between the flexible axiomatization approach to fixed-points and specialized decision procedures. Our abstraction/refinement framework admits all axiomatizations allowed by other approaches, but furthermore provides a decision procedure for formulas that fall into FFP(E). Example 1 (A simple example . We illustrate the use of reachability predicates using a simple example also used in [16] . It exercises transitivity. We use ∀x : [a f
doi:10.1007/978-3-642-02658-4_13 fatcat:vwotwx4yd5bgxm3pnbavozhr5i