Difference between revisions of "Proof Hints"

From Event-B
Jump to navigationJump to search
imported>Son
imported>Son
Line 1: Line 1:
 +
== Introduction ==
 +
 
This document does NOT provide a way to avoid doing interactive proofs or pointing out the weakness of existing provers. Rather this document shows how to use information from doing interactive proofs to improve the clarity of models. As a consequence of these improvement, the obligations can be discharged automatically. We call these added information to the model "proof hints".
 
This document does NOT provide a way to avoid doing interactive proofs or pointing out the weakness of existing provers. Rather this document shows how to use information from doing interactive proofs to improve the clarity of models. As a consequence of these improvement, the obligations can be discharged automatically. We call these added information to the model "proof hints".
  
Line 6: Line 8:
  
 
1. It should help to understand the model better.
 
1. It should help to understand the model better.
 +
 
2. It should improve the automatic proving rate of the model.
 
2. It should improve the automatic proving rate of the model.
  
 
In fact, we regard the first criterion as more important whereas the second criterion can be considered as a bonus for improving the clarity of the model. Below are our proposal for two kinds of proof hints: hypothesis selection and proof by cases.
 
In fact, we regard the first criterion as more important whereas the second criterion can be considered as a bonus for improving the clarity of the model. Below are our proposal for two kinds of proof hints: hypothesis selection and proof by cases.
 +
 +
 +
== Proof Hints ==
 +
 +
The presentation for each kind of proof hints is as follows:
 +
 +
1. Firstly, a brief description of the proof hints with the situation where this can be helpful.
 +
 +
2. Secondly, an example in Event-B is presented.
 +
 +
3. Thirdly, we show a solution (rather a work-around) for the current Rodin Platform.
 +
 +
4. Finally, we proposal some extensions for the Event-B and Rodin Platform.

Revision as of 12:04, 3 June 2009

Introduction

This document does NOT provide a way to avoid doing interactive proofs or pointing out the weakness of existing provers. Rather this document shows how to use information from doing interactive proofs to improve the clarity of models. As a consequence of these improvement, the obligations can be discharged automatically. We call these added information to the model "proof hints".

This concept of "proof hints" already exists in the form of "witness" or "theorem" in Event-B. These useful features are designed not only to help with proving the correctness of the model but also to give more information about the particular model.

The question is how can we decide which "features" are useful to have in the model. In principle we can go to the extreme and include the whole proof strategy into the model in order to be able to have it being discharged automatically. But this is undesirable since it will make the model difficult to understand. Having taken this into account we specify our criteria here for "proof hints".

1. It should help to understand the model better.

2. It should improve the automatic proving rate of the model.

In fact, we regard the first criterion as more important whereas the second criterion can be considered as a bonus for improving the clarity of the model. Below are our proposal for two kinds of proof hints: hypothesis selection and proof by cases.


Proof Hints

The presentation for each kind of proof hints is as follows:

1. Firstly, a brief description of the proof hints with the situation where this can be helpful.

2. Secondly, an example in Event-B is presented.

3. Thirdly, we show a solution (rather a work-around) for the current Rodin Platform.

4. Finally, we proposal some extensions for the Event-B and Rodin Platform.