Extensions of first order logic
Extensions of first order logic
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
An LCF-Style Interface between HOL and First-Order Logic
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 System Correctness with KIV 3.0
CADE-14 Proceedings of the 14th International Conference on Automated Deduction
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Translating Higher-Order Clauses to First-Order Clauses
Journal of Automated Reasoning
Handling Polymorphism in Automated Deduction
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
iProver --- An Instantiation-Based Theorem Prover for First-Order Logic (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
Implementing polymorphism in SMT solvers
SMT '08/BPR '08 Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Certification of bounds on expressions involving rounded operators
ACM Transactions on Mathematical Software (TOMS)
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
seL4: formal verification of an operating-system kernel
Communications of the ACM
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Zenon: an extensible automated theorem prover producing checkable proofs
LPAR'07 Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Dafny: an automatic program verifier for functional correctness
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Computer-aided security proofs for the working cryptographer
CRYPTO'11 Proceedings of the 31st annual conference on Advances in cryptology
Expressing polymorphic types in a many-sorted language
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Deductive software verification
International Journal on Software Tools for Technology Transfer (STTT) - VSTTE 2009
A polymorphic intermediate verification language: design and logical encoding
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Automating induction with an SMT solver
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Verifying two lines of c with why3: an exercise in program verification
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Discharging proof obligations from atelier b using multiple automated provers
ABZ'12 Proceedings of the Third international conference on Abstract State Machines, Alloy, B, VDM, and Z
Why3: where programs meet provers
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Encoding monomorphic and polymorphic types
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
Deductive program verification is making fast progress these days. One of the reasons is a tremendous improvement of theorem provers in the last two decades. This includes various kinds of automated theorem provers, such as ATP systems and SMT solvers, and interactive proof assistants. Yet most tools for program verification are built around a single theorem prover. Instead, we defend the idea that a collaborative use of several provers is a key to easier and faster verification. This paper introduces a logic that is designed to target a wide set of theorem provers. It is an extension of first-order logic with polymorphism, algebraic data types, recursive definitions, and inductive predicates. It is implemented in the tool Why3, and has been successfully used in the verification of many non-trivial programs.