Title | **Generating all polynomial invariants in simple loops** |

Author(s) | Deepak Kapur, E. Rodríguez-Carbonell |

Type | Article in Journal |

Abstract | This paper presents a method for automatically generating all polynomial invariants in simple loops. It is first shown that the set of polynomials serving as loop invariants has the algebraic structure of an ideal. Based on this connection, a fixpoint procedure using operations on ideals and Gröbner basis constructions is proposed for finding all polynomial invariants. Most importantly, it is proved that the procedure terminates in at most m + 1 iterations, where m is the number of program variables. The proof relies on showing that the irreducible components of the varieties associated with the ideals generated by the procedure either remain the same or increase their dimension at every iteration of the fixpoint procedure. This yields a correct and complete algorithm for inferring conjunctions of polynomial equalities as invariants. The method has been implemented in Maple using the Groebner package. The implementation has been used to automatically discover non-trivial invariants for several examples to illustrate the power of the technique. |

Keywords | Loop invariant, Ideal of polynomials, Gröbner basis |

ISSN | 0747-7171 |

URL |
http://www.sciencedirect.com/science/article/pii/S0747717107000107 |

Language | English |

Journal | Journal of Symbolic Computation |

Volume | 42 |

Number | 4 |

Pages | 443 - 476 |

Year | 2007 |

Edition | 0 |

Translation |
No |

Refereed |
No |