5.3 Additional rule packages

Resource : ATB*PR*Use_Rule_Package.
Value : list of packages (or theories) identifiers separated by commas.
Meaning : list of additional rule packages (simplification, backward and forward) to be added to the prover native rule base.
Default value : symbol “?”.

This new functionnality enables the use of additional rule packages. These packages of validated rules are made of three different rule categories: simplification, backward and forward (see chapter 2.4 page §). They are used by the automatic prover like rules of the native rule base.

As for now, only the p1 package has been added. To enable the use of the simplification (respectively, backward and/or forward) rules, it is enough to set this resource to s1 (respectively b1 and/or f1). If we want to use all the p1 rules, we just have to specify the p1 value in the resource file.

Setting the resource to “?” means that no additional rule package is used.

In the future, we aim to add several rule packages to the automatic prover.

Rules of the p1 package enable to process B language operators that were not fully handled by the native rule base of the prover: modulo mod, minimum min, maximum max, integer division , generalised sum and product .

Example :

Given the xx mod tt <= nn goal under the hypotheses:


 
       tt<=nn &  
       1<=tt &  
       tt:INT1 &  
       xx<=nn &  
       xx:INT1 &  
       1<=nn &  
       nn:INT1  
 


When the resource is not set to p1, the pr command fails. On the contrary, this command succeeds when the resource equals p1.