Frama-C-discuss mailing list archives

This page gathers the archives of the old Frama-C-discuss archives, that was hosted by Inria's gforge before its demise at the end of 2020. To search for mails newer than September 2020, please visit the page of the new mailing list on Renater.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] Fwd: [Why3-club] Announcement: first release of Why3

  • Subject: [Frama-c-discuss] Fwd: [Why3-club] Announcement: first release of Why3
  • From: Claude.Marche at (Claude Marche)
  • Date: Wed, 22 Dec 2010 17:47:28 +0100

The first release of Why3, also known as the Why platform next
generation, is publicly available. Why3 is a new project, independent
from Why. The detailed announcement is attached below.

The Jessie plugin of the Why release 2.28 has the ability to use Why3
as back-end. You must install both Why 2.28 and Why3 for this to work.

Using the Why3 GUI on a C file is done as follows
   frama-c -jessie -jessie-atp why3ide <file>.c
(You can also run it in batch mode using
   frama-c -jessie -jessie-atp why3 <file>.c
and process the generated Why3 file "<file>.jessie/why/<file>_why3.why"
with Why3 batch tools).

The main new features of interest in the GUI are

* new provers available
* calling provers in parallel
* splitting on demand
* ability to call Coq on a given VC to provide a proof script. Incidentally,
   this feature can be used to analyse the VC to understand why it is
   not proved automatically.
* proof session saved and restored at startup

Any question, remark or bug report concerning only Why3 should be done
using the Why3 public discussion list and bug tracker.

- Claude March?

-------- Original Message --------
Subject: [Why3-club] Announcement: first release of Why3
Date: Wed, 22 Dec 2010 17:46:17 +0100
From: Claude Marche <Claude.Marche at>
To: why-discuss at, why3-club at

We are happy to announce the first public release of Why3, also known
as the Why platform next generation. It is a new project, independent
from Why versions 2.xx.

The home web page of Why3 is, where you
can find the source distribution and the manual. See the manual for
installation instructions and contact information.

The main new features with respect to Why 2.xx are the following.

1) Completely redesigned input syntax for logic declarations

* new syntax for terms and formulas
* enumerated and algebraic data types, pattern matching
* recursive definitions of logic functions and predicates,
   with termination checking
* inductive definitions of predicates
* declarations are structured in components called "theories",
   which can be reused and instantiated

2) More generic handling of goals and lemmas to prove

* concept of proof task
* generic concept of task transformation
* generic approach for communicating with external provers

3) Source code organized as a library with a documented API,
to allow access to Why3 features programmatically.

4) GUI with new features w.r.t. the former GWhy

* session save and restore
* prover calls in parallel
* splitting, and more generally applying task transformations, on demand
* ability to edit proofs for interactive provers (Coq only for the moment)
   on any subtask

5) Extensible architecture via plugins

* users can define new transformations
* users can add connections to additional provers

Beware that some Why features are not yet available in Why3:

* There is a VC generator distributed in Why3 in an experimental stage
   and intentionally undocumented in the current documentation (the input
   syntax for programs may change a lot in the future).

* There is no front-end for other languages like C or Java. However,
   the last release Why 2.28 is able to use Why3 as a back-end

Notice that Why3 is expected to replace Why2 in the future. As such,
it is the project where improvements and new features will be
implemented. As this is the first public release of Why3, it is likely
that missing features, and possibly bugs, will raise soon. Please
report those in the bug tracker, we will do our best to fix them and
provide new releases in a short time.

- Claude March?, for the Why3 developers team

Why3-club mailing list
Why3-club at