Aligator: A Mathematica Package for Invariant Generation (System Description)

  • Laura Kovács
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5195)


We describe the new software package Aligator for automatically inferring polynomial loop invariants. The package combines algorithms from symbolic summation and polynomial algebra with computational logic, and is applicable to the rich class of P-solvable loops. Aligator contains routines for checking the P-solvability of loops, transforming them into a system of recurrence equations, solving recurrences and deriving closed forms of loop variables, computing the ideal of polynomial invariants by variable elimination, invariant filtering and completeness check of the resulting set of invariants.


Recurrence Equation Symbolic Computation Loop Counter Polynomial Algebra Invariant Generation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Buchberger, B.: An Algorithm for Finding the Basis Elements of the Residue Class Ring of a Zero Dimensional Polynomial Ideal. J. of Symbolic Computation 41(3-4), 475–511 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  3. 3.
    Gosper, R.W.: Decision Procedures for Indefinite Hypergeometric Summation. J. of Symbolic Computation 75, 40–42 (1978)zbMATHMathSciNetGoogle Scholar
  4. 4.
    Kauers, M., Zimmermann, B.: Computing the Algebraic Relations of C-finite Sequences and Multisequences. J. of Symbolic Computation (to appear, 2007)Google Scholar
  5. 5.
    Knuth, D.E.: The Art of Computer Programming. In: Seminumerical Algorithms, 3rd edn., vol. 2. Addison-Wesley, Reading (1998)Google Scholar
  6. 6.
    Kovács, L.: Automated Invariant Generation by Algebraic Techniques for Imperative Program Verification in Theorema. PhD thesis, RISC, Johannes Kepler University Linz (2007)Google Scholar
  7. 7.
    Kovács, L.: Reasoning Algebraically About P-Solvable Loops. In: Proc. of TACAS, Budapest, Hungary. LNCS, vol. 4963, pp. 249–264. Springer, Heidelberg (to appear, 2008)Google Scholar
  8. 8.
    Paule, P., Schorn, M.: A Mathematica Version of Zeilberger’s Algorithm for Proving Binomial Coefficient Identities. J. of Symbolic Computation 20(5-6), 673–698 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Rodriguez-Carbonell, E., Kapur, D.: Generating All Polynomial Invariants in Simple Loops. J. of Symbolic Computation 42(4), 443–476 (2007)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Wegbreit, B.: The Synthesis of Loop Predicates. Comm. of the ACM 2(17), 102–112 (1974)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Wolfram, S.: The Mathematica Book. Version 5.0. Wolfram Media (2003)Google Scholar
  12. 12.
    Zeilberger, D.: A Holonomic System Approach to Special Functions. J. of Computational and Applied Mathematics 32, 321–368 (1990)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Laura Kovács
    • 1
  1. 1.EPFLSwitzerland

Personalised recommendations