Proof Dependencies and Reasoner Conflicts

From Event-B
Jump to navigationJump to search

Until Rodin 2.1 (included), proof status is determined from proof dependencies on the one hand and a proof skeleton on the other hand. The skeleton is entirely visited, searching for conflicts in reasoner versions.

Hence the idea of integrating reasoners in proof dependencies and have them processed the same way as other proof dependency components, that are stored in the root element of the proofs to allow for quick access. This improves performances in updating proof statuses, which is by far the most time-consuming build operation.

This evolution is available since Rodin 2.2. It applies to all proofs edited using Rodin 2.2+. Proofs edited using previous versions of the tool are kept in the older format, thus slowing down the build time.

In order to upgrade proof storage for proofs made using Rodin prior to 2.2, use Simplify Proof(s) on a proof or component or project.

This works for reusable proofs, broken proofs need to be manually edited. (It will not actually make any modification as the simplification has been disabled since Rodin 2.0.)

TODO: Document proof storage