D23 Improvements to Existing Provers: Difference between revisions
From Event-B
Jump to navigationJump to search
imported>Nicolas m A first draft |
imported>Nicolas |
||
Line 8: | Line 8: | ||
* evolving prover API to fit with the needs of prover plug-in developers | * evolving prover API to fit with the needs of prover plug-in developers | ||
Systerel is in charge of prover improvements. | |||
= Motivations = | = Motivations = |
Revision as of 10:20, 17 November 2009
Overview
The work mentioned here mainly concerns the sequent prover. All along the lifecycle of the prover, the following improvements can be achieved :
- adding new useful proof rules (to prove sequents that are hard to prove or even not provable at all)
- correcting bugs in implementations of existing proof rules
- implementing new tools to help the user do proofs
- evolving prover API to fit with the needs of prover plug-in developers
Systerel is in charge of prover improvements.
Motivations
Areas of improvement for provers can be summarized as follows:
- reducing proving time and effort
- providing the user with more efficient proving tools
- reducing proof storage space (proof purging / simplifying)
- ease manual proof review or reuse (prf skl view with copy paste)
- maintain consistency / coherence / ? when correcting prover implementation (versioning)
- ensure that prover modifications are well reflected by the platform
Part of implemented rules and user interface capabilities come from user feedback mainly through SourceForge feature requests. SourceForge bugs are also an important input for corrections.
Choices / Decisions
Proof storage in database ? A more generical way to contribute tactics (New tactic provider API)
Available Documentation
The following pages give useful information about prover improvements:
- Prover Rules
- See http://wiki.event-b.org/index.php/Inference_Rules
- See http://wiki.event-b.org/index.php/All_Rewrite_Rules
- Proof Skeleton View
- Proof Purger
- Prover API evolution
- Versioned Reasoners
Planning
Proof storage in database ?