Programming: the derivation of algorithms
Programming: the derivation of algorithms
A holonomic systems approach to special functions identities
Journal of Computational and Applied Mathematics
The computer—my life
A Mathematica version of Zeilberger's algorithm for proving binomial coefficient identities
Journal of Symbolic Computation - Special issue on symbolic computation in combinatorics
The synthesis of loop predicates
Communications of the ACM
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
A Discipline of Programming
Hauptvortrag: Quantifier elimination for real closed fields by cylindrical algebraic decomposition
Proceedings of the 2nd GI Conference on Automata Theory and Formal Languages
Polynomial Constants Are Decidable
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Non-linear loop invariant generation using Gröbner bases
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra, 3/e (Undergraduate Texts in Mathematics)
Generating all polynomial invariants in simple loops
Journal of Symbolic Computation
Combining Logic and Algebraic Techniques for Program Verification in Theorema
ISOLA '06 Proceedings of the Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation
Interprocedurally analyzing polynomial identities
STACS'06 Proceedings of the 23rd Annual conference on Theoretical Aspects of Computer Science
Endomorphisms for Non-trivial Non-linear Loop Invariant Generation
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Aligator: A Mathematica Package for Invariant Generation (System Description)
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
Valigator: A Verification Tool with Bound and Invariant Generation
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
Finding Loop Invariants for Programs over Arrays Using a Theorem Prover
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Invariant generation for P-solvable loops with assignments
CSR'08 Proceedings of the 3rd international conference on Computer science: theory and applications
Journal of Symbolic Computation
LPAR'10 Proceedings of the 17th international conference on Logic for programming, artificial intelligence, and reasoning
An iterative method for generating loop invariants
FAW-AAIM'11 Proceedings of the 5th joint international frontiers in algorithmics, and 7th international conference on Algorithmic aspects in information and management
Invariant and type inference for matrices
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
A complete invariant generation approach for p-solvable loops
PSI'09 Proceedings of the 7th international Andrei Ershov Memorial conference on Perspectives of Systems Informatics
Proceedings of the 2011 International Workshop on Symbolic-Numeric Computation
Symbolic termination analysis of solvable loops
Journal of Symbolic Computation
Hi-index | 0.00 |
We present a method for generating polynomial invariants for a subfamily of imperative loops operating on numbers, called the P-solvable loops. The method uses algorithmic combinatorics and algebraic techniques. The approach is shown to be complete for some special cases. By completeness we mean that it generates a set of polynomial invariants from which, under additional assumptions, any polynomial invariant can be derived. These techniques are implemented in a new software package Aligator written in Mathematica and successfully tried on many programs implementing interesting algorithms working on numbers.