ADVANCE D3.2 Improvement of automated proof
Overview
The automated prover enhancement was a continuous task since the birth of the Rodin platform. It could be achieved by core platform internal refactorings and enhancements, but also by adding some external reasoning ability such as external provers.
From the core platform point of view, and within the ten first month of ADVANCE, it consisted into two tasks: the addition of rewriting and inference rules, and the addition of a mechanism to allow the customization and the parametrization or combination of tactics. The user is now able to define various types of tactics called 'profiles' which could be customized and parameterized tactics to discharge some specific proof obligations. The user can furthermore share and backup these defined tactics using the provided import/export mechanism.
From an external point of view, the SMT Solvers plug-in allowing to use the SMT solvers within Rodin is an effective alternative to the Atelier-B provers, particularly when reasoning on linear arithmetic. It is maintained in the time frame of ADVANCE, and increases the rate of automatically discharged proof obligations.
Motivations / Decisions
Since Rodin 2.4, a new tactic combinator 'Attempt after Lasso' is available in auto tactic profile editor and the import/export of profiles has been made possible. Indeed, a user that elaborates a good profile for a certain kind of proof pattern can thus share this profile thus increasing the number of automatic proofs.
Two main reasons mainly motivate the integration of SMT solvers into the Rodin platform. Firstly, to allow Rodin to benefit from the know capacity of such solvers in the field of arithmetics. Secondly, to extract some useful informations from the proofs that these solvers produce such as unsatisfiable cores, in order to significantly decrease the proving time of a modified model.
Available Documentation
TODO: Fill this paragraph.
Planning
TODO: Fill this paragraph.