Coinductive Logic Programming

  • Luke Simon
  • Ajay Mallya
  • Ajay Bansal
  • Gopal Gupta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4079)


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.


Model Check Logic Program Logic Programming Operational Semantic Rational Term 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Apt, K.R.: Logic programming. In: Handbook of Theoretical Computer Science, ch. 15, pp. 493–574. MIT Press, Cambridge (1990)Google Scholar
  2. 2.
    Barwise, J., Moss, L.: Vicious Circles: On the Mathematics of Non-Wellfounded Phenomena. CSLI Publications, Stanford (1996)MATHGoogle Scholar
  3. 3.
    Colmerauer, A.: Equations and inequations on finite and infinite trees. In: Proc. FGCS 1984, Tokyo, pp. 85–99 (1984)Google Scholar
  4. 4.
    Courcelle, B.: Fundamental properties of infinite trees. TCS, 95–212 (1983)Google Scholar
  5. 5.
    Gupta, G.: Verifying Properties of Cyclic Data-structures with Tabled Unification. Internal Memo. New Mexico State University (February 2000)Google Scholar
  6. 6.
    Gupta, G., Pontelli, E.: Constraint-based Specification and Verification of Real-time Systems. In: Proc. IEEE Real-time Symposium 1997, pp. 230–239 (1997)Google Scholar
  7. 7.
    Gupta, G.: Next Generation of Logic Programming Systems. Technical Report UTD-42-03, University of Texas, Dallas (2003)Google Scholar
  8. 8.
    Hanus, M.: Integration of functions into LP. J. Logic Prog. 19&20, 583–628 (1994)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Jaffar, J., Santosa, A.E., Voicu, R.: A CLP proof method for timed automata. In: RTSS, pp. 175–186 (2004)Google Scholar
  10. 10.
    Jaffar, J., Stuckey, P.J.: Semantics of infinite tree LP. TCS 46(2–3), 141–158 (1986)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Lloyd, J.W.: Foundations of LP, 2nd edn. Springer, Heidelberg (1987)Google Scholar
  13. 13.
    Mallya, A.: Deductive Multi-valued Model Checking. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 297–310. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Nait-Abdallah, M.A.: On the Interpretation of Infinite Computations in Logic Programming. In: ICALP 1984, pp. 358–370 (1984)Google Scholar
  15. 15.
    Pierce, B.: Types and Programming Languages. MIT Press, Cambridge (2002)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    Simon, L.: Coinductive LP. Internal memo, UT Dallas (March 2004)Google Scholar
  19. 19.
    Simon, L., Mallya, A., Bansal, A., Gupta, G.: Co-Logic Programming: Extending Logic Programming with Coinduction. Tech. Report, UT Dallas, UTDCS-21-06Google Scholar
  20. 20.
    Simon, L., Mallya, A., Bansal, A., Gupta, G.: Coinductive Logic Programming. Technical Report, UT Dallas, UTDCS-11-06 (March 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Luke Simon
    • 1
  • Ajay Mallya
    • 1
  • Ajay Bansal
    • 1
  • Gopal Gupta
    • 1
  1. 1.Department of Computer ScienceUniversity of Texas at DallasRichardsonUSA

Personalised recommendations