/why3

SPARK 2014 repository for the Why3 verification platform.

Primary LanguageOCamlOtherNOASSERTION

Note

This repository is NOT the official Why3 repository. It is a clone of Why3 for its use in SPARK. Please report any issues or pull requests to the original project.

WHY3

Why3 is a platform for deductive program verification. It provides a rich language for specification and programming, called WhyML, and relies on external theorem provers, both automated and interactive, to discharge verification conditions. Why3 comes with a standard library of logical theories (integer and real arithmetic, Boolean operations, sets and maps, etc.) and basic programming data structures (arrays, queues, hash tables, etc.). A user can write WhyML programs directly and get correct-by-construction OCaml programs through an automated extraction mechanism. WhyML is also used as an intermediate language for the verification of C, Java, or Ada programs.

PROJECT HOME

https://www.why3.org/

https://gitlab.inria.fr/why3/why3

DOCUMENTATION

The documentation (a tutorial and a reference manual) is available online.

Various examples can be found in the subdirectories stdlib/ and examples/.

COPYRIGHT

This program is distributed under the GNU LGPL 2.1. See the enclosed file LICENSE.

The files src/util/extmap.ml{i} are derived from the sources of OCaml 3.12 standard library, and are distributed under the GNU LGPL version 2 (see file OCAML-LICENSE).

Icon sets for the graphical interface of Why3 are subject to specific licenses, some of them may forbid commercial usage. These specific licenses are detailed in files share/images/*/*.txt.

INSTALLATION

See the file INSTALL.md.