Coinductive Logic Programming and Its Applications

Coinduction has recently been introduced as a powerful technique for reasoning about unfounded sets, unbounded structures, and interactive computations. Where induction corresponds to least fixed point semantics, coinduction corresponds to greatest fixed point semantics. In this paper we discuss the introduction of coinduction into logic programming. We discuss applications of coinductive logic programming to verification and model checking, lazy evaluation, concurrent logic programming and non-monotonic reasoning.

[1]  Gopal Gupta,et al.  Coinductive Logic Programming , 2006, ICLP.

[2]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[3]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[4]  Joseph A. Goguen,et al.  Behavioral verification of distributed concurrent systems with BOBJ , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[5]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[6]  Moshe Y. Vardi Verification of Concurrent Programs: The Automata-Theoretic Framework , 1991, Ann. Pure Appl. Log..

[7]  Gopal Gupta,et al.  Co-Logic Programming: Extending Logic Programming with Coinduction , 2007, ICALP.

[8]  Victor W. Marek,et al.  The Logic Programming Paradigm: A 25-Year Perspective , 2011 .

[9]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[10]  Gopal Gupta,et al.  Towards next generation logic programming systems , 2007 .

[11]  Andrew D. Gordon A Tutorial on Co-induction and Functional Programming , 1994, Functional Programming.

[12]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[13]  C. R. Ramakrishnan,et al.  Fully Local and Efficient Evaluation of Alternating Fixed Points (Extended Abstract) , 1998, TACAS.

[14]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[15]  Viktor Schuppan,et al.  Liveness Checking as Safety Checking for Infinite State Spaces , 2006, INFINITY.

[16]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[17]  Andreas Podelski,et al.  Transition predicate abstraction and fair termination , 2005, POPL '05.

[18]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[19]  Peter Wegner,et al.  Mathematical Models of Interactive Computing , 1999 .

[20]  C. R. Ramakrishnan,et al.  Efficient Model Checking Using Tabled Resolution , 1997, CAV.

[21]  Lawrence S. Moss,et al.  Vicious circles - on the mathematics of non-wellfounded phenomena , 1996, CSLI lecture notes series.

[22]  Dina Q. Goldin,et al.  Interaction, evolution, and intelligence , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[23]  Ajay Mallya,et al.  Deductive Multi-valued Model Checking , 2005, ICLP.

[24]  Enrico Pontelli,et al.  A constraint-based approach for specification and verification of real-time systems , 1997, Proceedings Real-Time Systems Symposium.