“Sometimes” and “not never” revisited: on branching versus linear time temporal logic
Journal of the ACM (JACM) - The MIT Press scientific computation series
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
On the declarative semantics of deductive databases and logic programs
Foundations of deductive databases and logic programming
Unfold/fold transformation of stratified programs
Theoretical Computer Science
Model checking
An automata-theoretic approach to branching-time model checking
Journal of the ACM (JACM)
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Infinite State Model Checking by Abstract Interpretation and Program Specialisation
LOPSTR'99 Selected papers from the 9th International Workshop on Logic Programming Synthesis and Transformation
Constraint Logic Programming for Local and Symbolic Model-Checking
CL '00 Proceedings of the First International Conference on Computational Logic
Efficient Model Checking Using Tabled Resolution
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Transformations of logic programs on infinite lists
Theory and Practice of Logic Programming
On inductive proofs by extended unfold/fold transformation rules
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Proving properties of co-logic programs by unfold/fold transformations
LOPSTR'11 Proceedings of the 21st international conference on Logic-Based Program Synthesis and Transformation
Hi-index | 0.01 |
We present a method based on logic program transformation, for verifying Computation Tree Logic (CTL*) properties of finite state reactive systems. The finite state systems and the CTL* properties we want to verify, are encoded as logic programs on infinite lists. Our verification method consists of two steps. In the first step we transform the logic program that encodes the given system and the given property, into a monadic ω-program, that is, a stratified program defining nullary or unary predicates on infinite lists. This transformation is performed by applying unfold/fold rules that preserve the perfect model of the initial program. In the second step we verify the property of interest by using a proof method for monadic ω-programs.