Issue |
RAIRO-Theor. Inf. Appl.
Volume 41, Number 2, April-June 2007
|
|
---|---|---|
Page(s) | 225 - 241 | |
DOI | https://doi.org/10.1051/ita:2007010 | |
Published online | 18 July 2007 |
Deciding inclusion of set constants over infinite non-strict data structures
1
Institut für Informatik,
Johann Wolfgang Goethe-Universität,
Postfach 11 19 32,
60054 Frankfurt, Germany;
schauss@ki.informatik.uni-frankfurt.de
2
Dept. of Mathematics and Computing Science,
University of the South Pacific, Suva, Fiji Islands;
schutz_m@usp.ac.fj
Received:
14
September
2005
Accepted:
21
September
2006
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.
Mathematics Subject Classification: 68N18 / 03B40 / 68Q25 / 68Q45
Key words: Functional programming languages / lambda calculus / strictness analysis / set constraints / tree automata
© EDP Sciences, 2007
Current usage metrics show cumulative count of Article Views (full-text article views including HTML views, PDF and ePub downloads, according to the available data) and Abstracts Views on Vision4Press platform.
Data correspond to usage on the plateform after 2015. The current usage metrics is available 48-96 hours after online publication and is updated daily on week days.
Initial download of the metrics may take a while.