Abstract

Higher-order recursion schemes are a class of higher-order programs built from a collection of first-order constants using higher-order functions and general recursion. Since the trees that they define have many decidable properties, they have become widely studied in the context of the verification through higher-order model checking.We present a new semantic framework, in which recursion schemes can be extended by interpreted constants that are modelled concretely as a continuous function over domains and abstractly as an intersection type. When the intersection type of each constant is shown to be an exact abstract interpretation of the concrete semantics of that constant then intersection type assignment will characterise safety property checking for arbitrary terms. Since we focus on finite intersection type systems, decidability of the property checking problem is an immediate corollary.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call