Overview

Why3 is the next generation of the Why software verification platform. Why3 clearly separates the purely logical specification part from generation of verification conditions for programs. It features a rich library of proof task transformations that can be chained to produce a suitable input for a large set of theorem provers, including SMT solvers, TPTP provers, as well as interactive proof assistants.

See the specific section below for the list of supported provers.

Why3 is developed in the team-project ProVal (INRIA Saclay-Île-de-France / LRI Univ Paris-Sud 11 / CNRS)

Contact

User mailing list

Bug tracking system

Project page on INRIA GForge

Download

Official releases

Git source repository

Documentation

PDF manual (version 0.72)

Standard library

Online API reference

Quick migration guide from Why 2.xx to Why3

Related Publications

Examples

Gallery of verified programs, as part of a larger gallery on the website of ProVal.

External Provers

This section gives a few tips to download, install and/or configure external provers. Each time a new prover is installed, you must rerun the command why3config --detect. Using the latest version is recommended (except for Yices, see below) and the config tool above will tell you if the version detected is supported or not.
Automatic provers
Alt-Ergo
available under binary form for Unix, or under source form to be compiled using the OCaml compiler, from this page. A Microsoft Windows installer is also available.
CVC3
available under source form and as a Linux binary from this page
E-prover
available under source form as well as some binary format from this page
Gappa
a prover specialized on verification of numeric formulas, including floating-point numbers, available under source form at this page
Simplify
available under binary form for various architectures from this page or directly here
SPASS
available under source form as well as some binary format from this page
Vampire
available under some binary format from this page
veriT
available under source form from this page
Yices
available under binary form for various platform from this page. (Note that Yices version 2 which participated to the SMT-COMP 2009 has no support for quantifiers; thus you should not use it with Why.)
Z3
available under binary format for Microsoft Windows as well as linux from this page
Interactive provers, a.k.a. Proof assistants
The Coq proof assistant

People

INRIA Saclay - Île-de-France              Université Paris-Sud              CNRS              LRI