![]() |
Lemma Application |
![]() |
AProVE Help System → Techniques → Theorem Prover → | Lemma Application |
Here lemmas being implications or equivalences are not applied. Only equational lemmas are considered. But they are only applied from left to right. Moreover they are only applicable on term level. This means they are not applied on whole equations. (This is not a real restriction since after applying them a symbolic evaluation is performed which will lead to that result.) Furthermore lemmas are not applied on variables. To avoid possible infinite often lemma application steps a lemma is maximally applied once in the whole proof. Variables in the lemma are not renamed before trying to apply the lemma. By this the user can give the theorem proover implicitely some hints where to apply the lemma.
The first lemma found to be applicable is used. However, it may happen that several lemmas are applied in one step but at different positions in the formula to proove.
This mode proved to be a good heuristic.
The first lemma found to be applicable is used. However, it may happen that several lemmas are applied in one step but at different positions in the formula to proove. Here you can give the maximal amount of lemma application steps in the option Maximal application sequence length. Here the value 0 stands for infinite.
To avoid possible infinite often lemma application steps a lemma is maximally applied once in the whole proof, unless you do not activate the option Direct lemmas.
Having enabled the option Direct lemmas:
Not only equational lemmas will be tried to be applicated in
any direction but also unconditional program rules
will be considered to be appliey from left ot right.
If there is a lemma or a rule potentially applicable
from side 1 to side 2,
it is checked if it can be directed from side 1 to side 2.
This is possible if side 1 is greater than side 2 regarding the selected order.
If this is possible it is applied in this direction.
By this the lemma can stay applicable in that direction
for the rest of proof without the risk of infinite long proofs.
Generally, there are more than one order
for which a lemma or rule can be directed.
The orders will be described only by the necessary properties.
(Thus a set of necessary properties represent a class of orders.)
By directing more and more lemmas or rules
the properties get more refined.
However, there may still be lot of suitable orders with different
properties. Always trying to find the remaining suitable order in a refining step slows down the proof.
Therefore you can limit the amount of classes or orders
which will be tried to be refined in the possible next step.
The orders with the least restrictions will be taken because they promise to be most general.
This is done by the option Minimal heuristic. Here the value 0 stands for infinite. Note: It is definitely not recommended to use this value.
As Order you can select LPO, LPOS, RPO and QRPOS. By pressing the button Configure it is possible to make the selected order
a quasi order.