Abstract
This paper presents a study of operational and type-theoretic properties of different resolution strategies in Horn clause logic. We distinguish four different kinds of resolution: resolution by unification (SLD-resolution), resolution by term-matching, the recently introduced structural resolution, and partial (or lazy) resolution. We express them all uniformly as abstract reduction systems, which allows us to undertake a thorough comparative analysis of their properties. To match this small-step semantics, we propose to take Howard’s System H as a type-theoretic semantic counterpart. Using System H, we interpret Horn formulas as types, and a derivation for a given formula as the proof term inhabiting the type given by the formula. We prove soundness of these abstract reduction systems relative to System H, and we show completeness of SLD-resolution and structural resolution relative to System H. We identify conditions under which structural resolution is operationally equivalent to SLD-resolution. We show correspondence between term-matching resolution for Horn clause programs without existential variables and term rewriting.
Article PDF
Similar content being viewed by others
References
Arts T, Giesl J (2000) Termination of term rewriting using dependency pairs. Theor Comput Sci 236(12): 133–178
BarendregtHP (1992) Lambda calculiwith types. In:Abramsky S,GabbayD, Maibaum S (eds) Handbook of logic in computer science (vol. 2): background: computational structures. Oxford University Press, Inc., New York, pp 117–309
Baader F, Nipkow T (1998) Term rewriting and all that. Cambridge University Press, New York
Fu P, Komendantskaya E, Schrijvers T, Pond A (2016) Proof relevant corecursive resolution. In: Functional and logic programming - 13th international symposium, FLOPS 2016, Kochi, Japan, 4–6 March 2016, proceedings, pp 126–143
Gupta G, Bansal A, Min R, Simon L, Mallya A (2007) Coinductive logic programming and its applications. In: Logic programming, Springer, New York, pp 27–44
Girard JY, Taylor P, Lafont Y (1989) Proofs and types. Cambridge University Press, New York
Harper R, Licata DR (2007) Mechanizing metatheory in a logical framework. J Funct Program 17(4–5): 613–673
Howard W (1980) The formulae-as-types notion of construction. In: Seldin J, Hindley J (eds), To H. B. Curry: essays on combinatory logic, lambda calculus and formalism, Academic Press, New York, pp 479–490
Jones SP, Jones M, Meijer E (1997) Type classes: an exploration of the design space. In: Haskell Workshop
Johann P, Komendantskaya E, Komendantskiy V (2015) Structural resolution for logic programming. In Technical Communications, ICLP
Komendantskaya E, Johann P (2015) Structural resolution: a framework for coinductive proof search and proof construction in horn clause logic. In: ACM Transactions on Computational Logic, submitted
Komendantskaya E, Johann P, Schmidt M (2016) A productivity checker for logic programming. On-line Pre-Proceedings of LOPSTR’16 “26th International Symposium on Logic-Based Program Synthesis and Transformation”, Edinburgh, UK. https://arxiv.org/abs/1608.02534
Kleene SC (1980) Introduction to metamathematics, 8th edn. North-Holland Publishing Company, 1952. Co-publisher, Wolters–Noordhoff
Komendantskaya E, Power J (2011) Coalgebraic derivations in logic programming. In: CSL, pp 352–366
Komendantskaya E, Power J, SchmidtM(2016) Coalgebraic logic programming: from semantics to implementation. J Logic Comput 26(2):745–783
Lloyd JW (1987) Foundations of logic programming. Springer, New York
Lämmel R, Peyton-Jones S (2005) Scrap your boilerplate with class: Extensible generic functions. In: Proceedings of 10th ACM SIGPLAN international conference on functional programming, ICFP ’05, pp 204–215, New York, NY, USA, ACM
Miller D, Nadathur G, Pfenning F, Scedrov A (1991) Uniform proofs as a foundation for logic programming. Ann Pure Appl Logic 51(1–2):125–157
Nilsson U, Małuszyński J (1990) Logic, programming and prolog. Wiley, Chichester
Pfenning F, Schürmann C (1999) System description: Twelfa meta-logical framework for deductive systems. In: Automated deduction CADE-16, pp 202–206, Springer, New York
Simon L, Bansal A, Mallya A, Gupta G (2007) Co-logic programming: extending logic programming with coinduction. In: Automata, languages and programming, Springer, New York, pp 472–483
Terese H (2003) Term rewriting systems. Cambridge University Press, Cambridge
Zhou N-F, Fruhman J (2013) A user guide to Picat. Available from http://picat-lang.org. Accessed 15 Nov 2016
Zhou N-F, Kjellerstrand H, Fruhman J (2015) Constraint solving and planning with picat. Springer, New York
Author information
Authors and Affiliations
Corresponding authors
Additional information
Augusto Sampaio and Moreno Falashi
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Fu, P., Komendantskaya, E. Operational semantics of resolution and productivity in Horn clause logic. Form Asp Comp 29, 453–474 (2017). https://doi.org/10.1007/s00165-016-0403-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-016-0403-1