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, 19 Sep 2024 08:54:25 +0000 (19 10:54 +0200)
last refreshThu, 19 Sep 2024 15:18:57 +0000 (19 17:18 +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
8 hours ago MARCHE ClaudeMerge branch '306-add-program-equality-on-boolean-type... 842-why3-execute-type-inference-problemmaster1127/head
8 hours ago MARCHE ClaudePmodule: t->t->t functions can be overloaded as X-...
8 hours ago MARCHE ClaudeMerge branch '638-fix-usage-of-optional-argument-me_nam...
8 hours ago MARCHE Claudeget rid of print_model_human and the filter_similar...
24 hours ago MARCHE ClaudeMerge branch 'fix_missing_edited_files' into 'master'
27 hours ago Claude Marchefix session having extra edited files1126/head
27 hours ago MARCHE ClaudeMerge branch '848-get-rid-of-option-json-values-in...
32 hours ago Matteo ManighettiSimplify option for printing JSON counterexamples1124/head
32 hours ago Andrei PaskevichMerge branch 'coma_fixes' into 'master'
46 hours ago Andrei Paskevichcoma: replace levels with a neutrality status + protect... 1125/head
2 days ago Andrei PaskevichMerge branch 'coma_fixes' into 'master'
2 days ago MARCHE ClaudeMerge branch 'bvconverter256' into 'master'
2 days ago Jacques-Henri... Define converters from various BV sizes to 256 bits
2 days ago Andrei Paskevichcoma: fix wrong levels in `factorize` and missing negat... 1123/head
2 days ago MARCHE ClaudeMerge branch '855-driver-alt-ergo-fpa-should-not-use...
2 days ago MARCHE Claudecheck that `real.FromInt.from_int` is correctly sent...
...
tags
5 months ago 1.7.2
7 months ago 1.7.1
9 months ago 1.7.0
18 months ago 1.6.0
2 years ago 1.5.1
2 years ago 1.5.0
2 years ago 1.4.1
3 years ago 1.4.0
4 years ago 1.3.3
4 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
100 min ago coma-asm
5 hours ago coma_fixes
6 hours ago rac-incomplete-better-trace
8 hours ago master
8 hours ago 842-why3-execute-type-inference-problem
29 hours ago strengthen-use-of-partial-keyword
3 days ago match_inductive
3 days ago c_extraction_global_variables
6 days ago mailmap
6 days ago coma-while
6 days ago coma-dev
7 days ago verifythis_2024_solutions
2 weeks ago js_of_ocaml-version-fix
3 weeks ago whyml2java
5 weeks ago 869-examples-multiprecision-fails-to-compile
8 weeks ago model-from-rac-log
...