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, 25 Jul 2024 07:22:21 +0000 (25 09:22 +0200)
last refreshSat, 24 Aug 2024 09:05:33 +0000 (24 11:05 +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
2024-07-25 Guillaume MelquiondMerge branch 'why3tools-register-main' into 'master'master
2024-07-23 Matteo ManighettiAdd entry point and register main function
2024-07-15 Jacques-Henri... Merge branch 'bv_size_remove_redondancy' into 'master'
2024-07-15 Jacques-Henri... Remove redondancy of bv_size definition in mach.bv.
2024-07-11 MARCHE ClaudeMerge branch 'rac-incomplete-better-trace' into 'master'
2024-07-10 Matteo ManighettiRAC: return log of incomplete execution
2024-07-06 Jean-Christophe... Merge branch 'search-in-a-two-dimensional-grid' into...
2024-07-06 Jean-Christophe... new example: search in a two-dimensional grid
2024-07-05 MARCHE ClaudeMerge branch '867-forward-propagation-strategy-bug...
2024-07-04 Guillaume MelquiondMerge branch 'coq-819-820' into 'master'
2024-07-04 Guillaume MelquiondRecognize both 8.19 and 8.20 as supported versions...
2024-07-01 Paul BonnotCorrect issue
2024-07-01 Guillaume MelquiondMerge branch 'fix-system_independent_path_of_file'...
2024-07-01 MARCHE ClaudeMerge branch '866-why3-ide-exits-abruptly-when-a-langua...
2024-07-01 Guillaume MelquiondMerge branch 'coq-min-816' into 'master'
2024-07-01 Claude MarcheDo not exit abruptly when problem with lang occur
...
tags
4 months ago 1.7.2
7 months ago 1.7.1
9 months ago 1.7.0
17 months ago 1.6.0
23 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 whyml2java
8 days ago coma-dev
2 weeks ago 869-examples-multiprecision-fails-to-compile
2 weeks ago coma-only
4 weeks ago master
4 weeks ago model-from-rac-log
5 weeks ago rac-incomplete-better-trace
6 weeks ago coma-asm
6 weeks ago mome_asm
6 weeks ago mome
6 weeks ago float-extraction
7 weeks ago bench-extraction-failure-gmp-location
7 weeks ago coma
8 weeks ago match_inductive
2 months ago windows-support
2 months ago 859-can-t-create-terms-with-polymorphism-and-applications-via-api
...