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 Transformations For Definite Clause Programs
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Perfect Model Checking via Unfold/Fold Transformations
CL '00 Proceedings of the First International Conference on Computational Logic
An unfold/fold transformation framework for definite logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
On Negative Unfolding in the Answer Set Semantics
Logic-Based Program Synthesis and Transformation
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
Hi-index | 0.00 |
We present an extended framework for unfold/fold transformation of stratified logic programs. We extend our previous transformation system which contains, among others, negative unfolding with a new application condition, by introducing extended negative unfolding. The application of extended negative unfolding allows an unfolding clause to have existential variables in its body, while conventional negative unfolding does not. Moreover, we complement our previous transformation system with another two transformation rules, simultaneous folding and negative folding. The correctness of the extended transformation system with these three rules is shown in the sense of the perfect model semantics. We also examine the use of simultaneous folding for proving properties of programs in literature. We show by examples that our unfold/ fold transformation system with extended negative unfolding, when used together with Lloyd-Topor transformation, can be used for verifying recursively defined properties of programs. The example illustrated in the paper shows that, although such properties are provable by using simultaneous folding, our inductive proof method can solve them in a simpler and more intuitive manner.