descriptionA platform for deductive program verification
homepage URLhttp://why3.lri.fr
repository URLhttps://gitlab.inria.fr/why3/why3.git
ownermatej.grabovsky@gmail.com
last changeThu, 16 May 2024 14:33:21 +0000 (16 16:33 +0200)
last refreshTue, 21 May 2024 01:36:53 +0000 (21 03:36 +0200)
content tags
add:
README.md

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/.

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.

shortlog
4 days ago MARCHE ClaudeMerge branch 'fix_proofs' into 'master'master
4 days ago MARCHE ClaudeMerge branch '847-evaluate-impact-of-simplify_intros...
4 days ago Matteo ManighettiRemove simplify_intros from prepare_for_counterexmp
4 days ago Claude Marchefix some failing proofs1071/head
5 days ago MARCHE ClaudeMerge branch '852-add-support-for-16-bit-machine-intege...
5 days ago MARCHE Claudeadd int16 and uint16 and extraction to c
13 days ago Jean-Christophe... Merge branch 'improve-error-message-on-unknown-module... 853-improve-documentation-of-extraction-to-c1069/head
13 days ago Gerald Pointfix: handle UnknownModule exception where Not_found... 907/head
13 days ago Jean-Christophe... Merge branch 'extraction-create-prefix-paths-of-files...
13 days ago Gerald Pointchg: improve the error message when the specified modul...
13 days ago Gerald Pointchg: create path of output files908/head
2024-05-05 Jean-Christophe... Merge branch 'longest-increasing-subsequence' into...
2024-05-05 Jean-Christophe... new example: longest increasing subsequence
2024-05-02 Jean-Christophe... Merge branch 'proper_cuts' into 'master'
2024-05-02 Jean-Christophe... new example: proper cuts
2024-04-25 MARCHE ClaudeMerge branch 'fix_sessions' into 'master'
...
tags
4 weeks ago 1.7.2
3 months ago 1.7.1
5 months ago 1.7.0
14 months ago 1.6.0
20 months ago 1.5.1
2 years ago 1.5.0
2 years ago 1.4.1
3 years ago 1.4.0
3 years ago 1.3.3
3 years ago 1.3.2
4 years ago 1.3.1
4 years ago 1.3.0
4 years ago 1.2.1
5 years ago 1.2.0
5 years ago 1.1.1
5 years ago 1.1.0
...
heads
3 days ago match_inductive
4 days ago master
4 days ago mome
5 days ago 847-evaluate-impact-of-intro-vc-vars-counterexmp
5 days ago 851-forward-propagation-strategy-some-cleanup-and-improvements
6 days ago 850-forward-propagation-strategy-improve-lemma-for-multiplication
7 days ago whyml2java
7 days ago fix-system_independent_path_of_file
13 days ago 853-improve-documentation-of-extraction-to-c
2 weeks ago verifythis-2024-solutions
4 weeks ago bugfix/v1.7
4 weeks ago 844-experiment-with-new-command-to-profile-axioms
4 weeks ago test
4 weeks ago stable
8 weeks ago 838-problem-with-instantiation-of-interfaces
2 months ago 839-forward_propagation-strategy-sin-and-cos-support
...