Proving Failure in Functional Logic Programs
How to extract negative information from programs is an important issue in logic programming. Here we address the problem for functional logic programs, from a proof-theoretic perspective. The starting point of our work is CRWL (Constructor based ReWriting Logic), a well established theoretical framework for functional logic programming, whose fundamental notion is that of non-strict non-deterministic function. We present a proof calculus, CRWLF, which is able to deduce negative information from CRWL-programs. In particular, CRWLF is able to prove ‘finite’ failure of reduction within CRWL.
KeywordsLogic Program Logic Programming Operational Semantic Negative Information Intended Meaning
Unable to display preview. Download preview PDF.
- D. Bert and R. Echahed. Abstraction of conditional term rewriting systems. In Proc. ILPS’95, pages 162–176. MIT Press, 1995.Google Scholar
- M. Hanus (ed.). Curry: An integrated functional logic language, February 2000. Available at http://www-i2.informatik.rwth-aachen.de/~hanus/curry/report.html.
- G. Jäger and R.F. Stärk. A proof-theoretic framework for logic programming. In S.R. Buss (ed.), Handbook of Proof Theory, pages 639–682. Elsevier, 1998.Google Scholar
- F.J. López-Fraguas and J. Sánchez-Hernández. Disequalities may help to narrow. In Proc. APPIA-GULP-PRODE’99, pages 89–104, 1999.Google Scholar
- F.J. López-Fraguas and J. Sánchez-Hernández. A multiparadigm declarative system. In Proc. RTA’99, Springer LNCS 1631, pages 244–247, 1999.Google Scholar
- F.J. López-Fraguas and J. Sánchez-Hernández. Proving failure in functional logic programs (extended version). Tech. Rep. SIP 00/100-00, UCM Madrid, 2000.Google Scholar
- J.J. Moreno-Navarro. Default rules: An extension of constructive negation for narrowing-based languages. In Proc. ICLP’95, pages 535–549. MIT Press, 1994.Google Scholar
- J.J. Moreno-Navarro. Extending constructive negation for partial functions in lazy functional-logic languages. In Proc. ELP’96, pages 213–227. Springer LNAI 1050, 1996.Google Scholar
- P.J. Stuckey. Constructive negation for constraint logic programming. In Proc. LICS’91, pages 328–339, 1991.Google Scholar