Resource
:
ATB*PR*Keep_Non_Simplified_Hypothesis.
Value
:
TRUE
or
FALSE.
Meaning
:
Non
simplified
predicates
are
kept
only
if
this
resource
equals
to
TRUE.
Default
value
:
TRUE.
When the simplication mechanism is applied to predicates of form P ⇒ Q and ¬P, it transforms these formulae into P ∧P′ ⇒ Q and ¬(P ∧P′) (where P′ is the simplified form of P) if the resource is set to TRUE.
On the contrary, the FALSE value enables to keep only simplified predicates, that is to say to transform the above formulae into P′ ⇒ Q and ¬P′.
In some cases, the presence of both the non-simplified predicate and its simplified form prevents the prover from applying some of its mechanisms. The prover cannot, for instance, perform a Modus Ponens on the P, P′ and (P ∧ P′) ⇒ Q hypotheses though it performs it on the P′ and P′ ⇒ Q hypotheses.
Example :
Let us consider the following proof obligation:
Goal x1<=3-y1 => x1<=2+ii & x1+y1<=3 & => 5+z1 = y1
|
The resource is set to TRUE. If we perform a dd(0) (to raise in the hypothesis stack the two local hypotheses) followed by a sh(x1) (to display hypotheses containing the x1 term) we get:
Found hypothesis List is x1+y1<=3 & 0<=3-x1-y1 & 0<=3-x1-y1 & x1<=3-y1 => x1<=2+ii End of found hypothesis
|
Let us notice that the 0 <= 3 - x1 - y1 hypothesis (respectively 0 <= 3 - x1 - y1 ∧ x1 <= 3 - y1 ⇒ x1 <= 2 + ii) is the simplified version of formula x1 + y1 <= 3 (respectively x1 <= 3 - y1 => x1 <= 2 + ii), as expected the non-simplified versions have been kept.
Here, we can not do a modus ponens on hypothesis 0 <= 3-x1-y1∧x1 <= 3-y1 ⇒ x1 <= 2+ii as we do not have the non-simplified hypothesis x1 <= 3 - y1 at hand:
Invalid argument / Inexistent a=>b Hypothesis in mh(0<=3-x1-y1 & x1<=3-y1 => x1<=2+ii)
|
Let us set the resource to FALSE. By performing the same interactive commands on the same proof obligation, we get:
Found hypothesis List is x1<=2+ii & 0<=3-x1-y1 & 0<=3-x1-y1 => x1<=2+ii End of found hypothesis
|
This time, only the simplified versions of the formulae have been kept. Note that we have now at our disposal the hypothesis x1 <= 2 + ii that was added by a modus ponens automatically applied to 0 <= 3 - x1 - y1 ⇒ x1 <= 2 + ii. The prover functionning was not impeded by non-simplified hypotheses.