2.9 What is a prover loop?

For example, if we use the rule:

        a*a == a*a*a/a

on the goal to be proved

        cc(vv) = vv*vv

We will obtain successively

        cc(vv) = vv*vv*vv/vv  
        cc(vv) = (vv*vv*vv/vv)*vv/vv  
        ...

The proof kernel produces the following messages:


 
krt: sequence  memory short  
krt: asking for 1500000 int, waiting for system reply...  
krt: OK, memory obtained, we continue.  
 
krt: sequence  memory short  
krt: asking for 2249997 int, waiting for system reply...  
krt: OK, memory obtained, we continue.  
 
krt: sequence  memory short  
krt: asking for 3374992 int, waiting for system reply...  
krt: OK, memory obtained, we continue.  
 
...  


The messages krt: sequence  memory short are generated by the kernel which dynamically allocates the lacking memory.

This example is simple. Loops may occur for groups of rules and may be a priori more difficult to detect.