Logic programs as types for logic programs
- 10 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 300-309
- https://doi.org/10.1109/lics.1991.151654
Abstract
Optimistic type systems for logic programs are considered. In such systems types are conservative approximations to the success set of the program predicates. The use of logic programs to describe types is proposed. It is argued that this approach unifies the denotational and operational approaches to descriptive type systems and is simpler and more natural than previous approaches. The focus is on the use of unary-predicate programs to describe the types. A proper class of unary-predicate programs is identified, and it is shown that it is expensive enough to express several notions of types. An analogy with two-way automata and a correspondence with alternating algorithms are used to obtain a complexity characterization of type inference and type checking. This characterization is facilitated by the use of logic programs to represent types.<>Keywords
This publication has 11 references indexed in Scilit:
- Deciding Equivalence of Finite Tree AutomataSIAM Journal on Computing, 1990
- A finite presentation theorem for approximating logic programsPublished by Association for Computing Machinery (ACM) ,1990
- Foundations of Logic ProgrammingPublished by Springer Nature ,1987
- Alternating tree automataTheoretical Computer Science, 1985
- A polymorphic type system for prologArtificial Intelligence, 1984
- Alternation and the computational complexity of logic programsThe Journal of Logic Programming, 1984
- AlternationJournal of the ACM, 1981
- Decidability of Second-Order Theories and Automata on Infinite TreesTransactions of the American Mathematical Society, 1969
- Finite Automata and Their Decision ProblemsIBM Journal of Research and Development, 1959
- The Reduction of Two-Way Automata to One-Way AutomataIBM Journal of Research and Development, 1959