An approach to systems verification
Journal of Automated Reasoning
Functional instantiation in first-order logic
Artificial intelligence and mathematical theory of computation
A formal HDL and its use in the FM9001 verification
Mechanized reasoning and hardware design
Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
A verified implementation of an applicative language with dynamic storage allocation
A verified implementation of an applicative language with dynamic storage allocation
Automated proofs of object code for a widely used microprocessor
Automated proofs of object code for a widely used microprocessor
FM8501: a verified microprocessor
FM8501: a verified microprocessor
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Piton: a mechanically verified assembly-level language
Piton: a mechanically verified assembly-level language
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mechanized formal reasoning about programs and computing machines
Automated reasoning and its applications
A New Incompleteness Result for Hoare's System
Journal of the ACM (JACM)
A certifying compiler for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
High-speed, analyzable simulators
Computer-Aided reasoning
Mathematical Theory of Program Correctness
Mathematical Theory of Program Correctness
A Discipline of Programming
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
Is Proof More Cost-Effective Than Testing?
IEEE Transactions on Software Engineering
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
Guarded commands, non-determinancy and a calculus for the derivation of programs
Language Hierarchies and Interfaces, International Summer School
Trace Table Based Approach for Pipeline Microprocessor Verification
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
A Mechanically Verified Application for a Mechanically Verified Environment
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Formal Verification of a Java Compiler in Isabelle
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Proving assertions about programs that manipulate data structures
STOC '75 Proceedings of seventh annual ACM symposium on Theory of computing
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
A program verifier
Completeness and incompleteness theorems for hoare-like axiom systems.
Completeness and incompleteness theorems for hoare-like axiom systems.
A verified operating system kernel
A verified operating system kernel
Journal of Automated Reasoning
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Executable JVM model for analytical reasoning: a study
Science of Computer Programming - Special issue on advances in interpreters, virtual machines and emulators (IVME'03)
Verification condition generation via theorem proving
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Verification of BDD normalization
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Formal validation of deadlock prevention in networks-on-chips
Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
Hi-index | 0.00 |
We analyze three proof strategies commonly used in deductive verification of deterministic sequential programs formalized with operational semantics. The strategies are (i) stepwise invariants, (ii) clock functions, and (iii) inductive assertions. We show how to formalize the strategies in the logic of the ACL2 theorem prover. Based on our formalization, we prove that each strategy is both sound and complete. The completeness result implies that given any proof of correctness of a sequential program one can derive a proof in each of the above strategies. The soundness and completeness theorems have been mechanically checked with ACL2.