Abstract
We extend logic programming’s semantics with the semantic dual of traditional Herbrand semantics by using greatest fixed-points in place of least fixed-points. Executing a logic program then involves using coinduction to check inclusion in the greatest fixed-point. The resulting coinductive logic programming language is syntactically identical to, yet semantically subsumes logic programming with rational terms and lazy evaluation. We present a novel formal operational semantics that is based on synthesizing a coinductive hypothesis for this coinductive logic programming language. We prove that this new operational semantics is equivalent to the declarative semantics. Our operational semantics lends itself to an elegant and efficient goal directed proof search in the presence of rational terms and proofs. We describe a prototype implementation of this operational semantics along with applications of coinductive logic programming.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Apt, K.R.: Logic programming. In: Handbook of Theoretical Computer Science, ch. 15, pp. 493–574. MIT Press, Cambridge (1990)
Barwise, J., Moss, L.: Vicious Circles: On the Mathematics of Non-Wellfounded Phenomena. CSLI Publications, Stanford (1996)
Colmerauer, A.: Equations and inequations on finite and infinite trees. In: Proc. FGCS 1984, Tokyo, pp. 85–99 (1984)
Courcelle, B.: Fundamental properties of infinite trees. TCS, 95–212 (1983)
Gupta, G.: Verifying Properties of Cyclic Data-structures with Tabled Unification. Internal Memo. New Mexico State University (February 2000)
Gupta, G., Pontelli, E.: Constraint-based Specification and Verification of Real-time Systems. In: Proc. IEEE Real-time Symposium 1997, pp. 230–239 (1997)
Gupta, G.: Next Generation of Logic Programming Systems. Technical Report UTD-42-03, University of Texas, Dallas (2003)
Hanus, M.: Integration of functions into LP. J. Logic Prog. 19&20, 583–628 (1994)
Jaffar, J., Santosa, A.E., Voicu, R.: A CLP proof method for timed automata. In: RTSS, pp. 175–186 (2004)
Jaffar, J., Stuckey, P.J.: Semantics of infinite tree LP. TCS 46(2–3), 141–158 (1986)
Jaume, M.: Logic programming and co-inductive definitions. In: Clote, P.G., Schwichtenberg, H. (eds.) CSL 2000. LNCS, vol. 1862, p. 343. Springer, Heidelberg (2000)
Lloyd, J.W.: Foundations of LP, 2nd edn. Springer, Heidelberg (1987)
Mallya, A.: Deductive Multi-valued Model Checking. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 297–310. Springer, Heidelberg (2005)
Nait-Abdallah, M.A.: On the Interpretation of Infinite Computations in Logic Programming. In: ICALP 1984, pp. 358–370 (1984)
Pierce, B.: Types and Programming Languages. MIT Press, Cambridge (2002)
Ramakrishna, Y., Ramakrishnan, C.R., Ramakrishnan, I.V., Warren, D.S., et al.: Efficient Model Checking Using Tabled Resolution. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 143–154. Springer, Heidelberg (1997)
Rocha, R., Silva, F., Costa, V.S.: Theory and Practice of Logic Programming 5(1-2). 161-205 Tabling Engine That Can Exploit Or-Parallelism. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 43–58. Springer, Heidelberg (2001)
Simon, L.: Coinductive LP. Internal memo, UT Dallas (March 2004)
Simon, L., Mallya, A., Bansal, A., Gupta, G.: Co-Logic Programming: Extending Logic Programming with Coinduction. Tech. Report, UT Dallas, UTDCS-21-06
Simon, L., Mallya, A., Bansal, A., Gupta, G.: Coinductive Logic Programming. Technical Report, UT Dallas, UTDCS-11-06 (March 2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Simon, L., Mallya, A., Bansal, A., Gupta, G. (2006). Coinductive Logic Programming. In: Etalle, S., Truszczyński, M. (eds) Logic Programming. ICLP 2006. Lecture Notes in Computer Science, vol 4079. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11799573_25
Download citation
DOI: https://doi.org/10.1007/11799573_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-36635-5
Online ISBN: 978-3-540-36636-2
eBook Packages: Computer ScienceComputer Science (R0)