Difference between revisions of "ADVANCE D3.3 Improvement of automated proof"

From Event-B
Jump to navigationJump to search
imported>Nicolas
m (Fix title levels)
imported>Laurent
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
In an Event-B development, more than 60% of the time is spent on proofs. That explains why all users are naturally keen for the proofs to be as automatic as possible and why the automated prover enhancement was a continuous task since the inception of the Rodin platform.
+
In a regular Event-B modelling activity, more than 60% of the time is spent on proofs. Therefore, increasing the rate of automated proofs is a productivity booster which decreases the overall cost of formal modelling. Consequently, enhancing the automated prover has been a continuous task since the inception of the Rodin platform.
Enhancing the automated prover can be achieved by core platform refactorings and additions to it, such as the addition of integrated reasoners and tactics, but also by the integration of some external reasoning ability such as external provers (e.g., SMT solvers).<br>
+
 
Within the second period of ADVANCE, it consisted into two tasks: the addition of rewriting and inference rules, and the release of a stable version of SMT solvers plug-in, which increases the rate of automatically discharged proof obligations.
+
This task can be achieved by refactoring the core platform, by adding new features to it, such as new integrated reasoners and tactics, but also by connecting some external reasoning ability such as external provers (e.g., SMT solvers).
 +
 
 +
During the second period of the ADVANCE project, these three kinds of tasks have been carried out.
  
 
== Motivations / Decisions ==
 
== Motivations / Decisions ==

Revision as of 08:05, 29 August 2013

Overview

In a regular Event-B modelling activity, more than 60% of the time is spent on proofs. Therefore, increasing the rate of automated proofs is a productivity booster which decreases the overall cost of formal modelling. Consequently, enhancing the automated prover has been a continuous task since the inception of the Rodin platform.

This task can be achieved by refactoring the core platform, by adding new features to it, such as new integrated reasoners and tactics, but also by connecting some external reasoning ability such as external provers (e.g., SMT solvers).

During the second period of the ADVANCE project, these three kinds of tasks have been carried out.

Motivations / Decisions

Integrated provers
The proportion of automatically discharged proof obligations heavily depends on Auto-Tactic configuration. Sometimes, the automatic prover fails because the tactics are applied in an unappropriate order. Since Rodin 3.0, plug-ins can contribute their own default profiles (through extension points, for convenience) to make it easier to provide users with enhanced automatic proving capabilities.

SMT Solvers
SMT plug-in version 1.0.0 has been released. This version fixes stability issues of the previous releases. TODO

Available Documentation

A page[1] concerning tactic profiles is available in the user manual.
A page[2] is dedicated to the SMT Solver integration plug-in on the Event-B wiki.

Planning

Enhancement to automated proof will continue during the ADVANCE project. Notably, the remaining missing rewriting[3] and inference rules[4], that have already been documented, will be implemented together with new rules.

Maintenance of the SMT solver integration plug-in will be ensured within the time frame of ADVANCE. In particular, the translation to SMT-LIB will be completed by adding some support for mathematical extensions.

Finally, connecting other provers (such as Super Zenon and iProver) to the platform will be investigated.

References