Semantics of infinite tree logic programming
Theoretical Computer Science
Unfold/fold program transformations
Algebraic methods in semantics
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
On the declarative and procedual semantics of logic programs
Journal of Automated Reasoning
Unfold/fold transformation of stratified programs
Theoretical Computer Science
Transformations of CLP modules
Theoretical Computer Science
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Model checking
Perfect Model Checking via Unfold/Fold Transformations
CL '00 Proceedings of the First International Conference on Computational Logic
Extending logic programming with coinduction
Extending logic programming with coinduction
Coinductive logic programming and its applications
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Transformations of logic programs on infinite lists
Theory and Practice of Logic Programming
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Deciding full branching time logic by program transformation
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
On inductive and coinductive proofs via unfold/fold transformations
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Coinductive logic programming with negation
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Hi-index | 0.00 |
We present a framework for unfold/fold transformation of co-logic programs, where each predicate is annotated as either inductive or coinductive, and the declarative semantics of co-logic programs is defined by an alternating fixpoint model: the least fixpoints for inductive predicates and the greatest fixpoints for coinductive predicates. We show that straightforward applications of conventional program transformation rules are not adequate for co-logic programs, and propose new conditions which ensure the preservation of the intended semantics of co-logic programs through program transformation. We then examine the use of our transformation rules for proving properties of co-logic programs which specify computations over infinite structures. We show by some examples in the literature that our method based on unfold/fold transformation can be used for verifying some properties of Büchi automata and nested automata.