Co-Logic Programming: Extending Logic Programming with Coinduction
In this paper we present the theory and practice of co-logic programming (co-LP for brevity), a paradigm that combines both inductive and coinductive logic programming. Co-LP is a natural generalization of logic programming and coinductive logic programming, which in turn generalizes other extensions of logic programming, such as infinite trees, lazy predicates, and concurrent communicating predicates. Co-LP has applications to rational trees, verifying infinitary properties, lazy evaluation, concurrent LP, model checking, bisimilarity proofs, etc.
Unable to display preview. Download preview PDF.
- 1.Krzysztof, R.: Apt. Logic programming. In: Handbook of Theoretical Computer Science, pp. 493–574. MIT Press, Cambridge (1990)Google Scholar
- 2.Barwise, J., Moss, L.: Vicious Circles: On the Mathematics of Non-Wellfounded Phenomena. CSLI Pub. (1996)Google Scholar
- 3.Colmerauer, A.: Equations and inequations on finite and infinite trees. In: FGCS 1984Google Scholar
- 4.Courcelle, B.: Fundamental properties of infinite trees. TCS, pp. 95–212 (1983)Google Scholar
- 7.Lloyd, J.W.: Foundations of LP, 2nd edn. Springer, Heidelberg (1987)Google Scholar
- 8.Rocha, R., et al.: Theory and Practice of Logic Programming 5(1-2), 161–205, (2005)Tabling Engine That Can Exploit Or-Parallelism. In: ICLP 2001, pp. 43–58 (2001)Google Scholar
- 10.Simon, L., Mallya, A., Bansal, A., Gupta, G.: Co-Logic Programming: Extending Logic Programming with Coinduction. TR #UTDCS-21-06, UT Dallas (2006)Google Scholar