Mechanical proofs about computer programs
Proc. of a discussion meeting of the Royal Society of London on Mathematical logic and programming languages
Invariance and non-determinacy
Proc. of a discussion meeting of the Royal Society of London on Mathematical logic and programming languages
The foundations of program verification (2nd ed.)
The foundations of program verification (2nd ed.)
Information Processing Letters
A Machine-Oriented Logic Based on the Resolution Principle
Journal of the ACM (JACM)
A New Incompleteness Result for Hoare's System
Journal of the ACM (JACM)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Science of Programming
Finding Invariant assertions for proving programs
Proceedings of the international conference on Reliable software
A heuristic approach to program verification
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Heuristic methods for mechanically deriving inductive assertio
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
An interactive program verification system
IEEE Transactions on Software Engineering
A synthesizer of inductive assertions
IEEE Transactions on Software Engineering
Property extraction in well-founded property sets
IEEE Transactions on Software Engineering
Proof planning for strategy development
Annals of Mathematics and Artificial Intelligence
Invariant Discovery via Failed Proof Attempts
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
Automatic generation of polynomial invariants of bounded degree using abstract interpretation
Science of Computer Programming
On interpolation in decision procedures
TABLEAUX'11 Proceedings of the 20th international conference on Automated reasoning with analytic tableaux and related methods
Program verification using automatic generation of invariants
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Hi-index | 0.00 |
We describe an iterative algorithm for mechanically deriving loop invariants for the purpose of proving the partial correctness of programs. The algorithm is based on resolution and a novel unskolemization technique for deriving logical consequences of first-order formulas. Our method is complete in the sense that if a loop invariant exists for a loop in a given first-order language relative to a given finite set of first-order axioms, then the algorithm produces a loop invariant for that loop which can be used for proving the partial correctness of the program. Existing techniques in the literature are not complete.