Deciding inclusion of set constants over infinite non-strict data structures. (English) Zbl 1146.68353
Summary: Various static analyses of functional programming languages that permit infinite data structures make use of set constants like Top, Inf, and Bot, denoting all terms, all lists not eventually ending in Nil, and all non-terminating programs, respectively. We use a set language that permits union, constructors and recursive definition of set constants with a greatest fixpoint semantics in the set of all, also infinite, computable trees, where all term constructors are non-strict. This paper proves decidability, in particular DEXPTIME-completeness, of inclusion of co-inductively defined sets by using algorithms and results from tree automata and set constraints. The test for set inclusion is required by certain strictness analysis algorithms in lazy functional programming languages and could also be the basis for further set-based analyses.
|68N18||Functional programming and lambda calculus|
|03B40||Combinatory logic; lambda-calculus|
|68Q25||Analysis of algorithms and problem complexity|
|68Q45||Formal languages and automata|