The complexity of linear problems in fields
Journal of Symbolic Computation
The craft of Prolog
Determinacy analysis for full Prolog
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Extracting determinacy in logic programs
ICLP'93 Proceedings of the tenth international conference on logic programming on Logic programming
Norms on terms and their use in proving universal termination of a logic program
Theoretical Computer Science
Reverse search for enumeration
Discrete Applied Mathematics - Special volume: first international colloquium on graphs and optimization (GOI), 1992
Handbook of discrete and computational geometry
Handbook of discrete and computational geometry
Introduction to Linear Optimization
Introduction to Linear Optimization
A Semantics-Based Determinacy Analysis for Prolog with Cut
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Inferring Argument Size Relationships with CLP(R)
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Typed Norms for Typed Logic Programs
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Higher-Order and Symbolic Computation
Interpolation and Symbol Elimination
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Constraint solving for interpolation
Journal of Symbolic Computation
Instance chains: type class programming without overlapping instances
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Applications of craig interpolants in model checking
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Determinacy inference for logic programs
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Symbolic evaluation graphs and term rewriting: a general methodology for analyzing logic programs
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
The question of what constraints must hold for a predicate to behave as a (partial) function, is key to understanding the behaviour of a logic program. It has been shown how this question can be answered by combining backward analysis, a form of analysis that propagates determinacy requirements against the control flow, with a component for deriving so-called mutual exclusion conditions. The latter infers conditions sufficient to ensure that if one clause yields an answer then another cannot. This paper addresses the challenge of how to compute these conditions by showing that this problem can be reformulated as that of vertex enumeration. Whilst directly applicable in logic programming, the method might well also find application in reasoning about type classes.