Efficient certification of complexity proofs: formalizing the Perron–Frobenius theorem (invited talk paper)

Matrix interpretations are widely used in automated complexity analysis. Certifying such analyses boils down to determining the growth rate of An for a fixed non-negative rational matrix A. A direct solution for this task involves the computation of all eigenvalues of A, which often leads to expensive algebraic number computations. In this work we formalize the Perron–Frobenius theorem. We utilize the theorem to avoid most of the algebraic numbers needed for certifying complexity analysis, so that our new algorithm only needs the rational arithmetic when certifying complexity proofs that existing tools can find. To cover the theorem in its full extent, we establish a connection between two different Isabelle/HOL libraries on matrices, enabling an easy exchange of theorems between both libraries. This connection crucially relies on the transfer mechanism in combination with local type definitions, being a non-trivial case study for these Isabelle tools.

[1]  Brian Huffman,et al.  Lifting and Transfer: A Modular Design for Quotients in Isabelle/HOL , 2013, CPP.

[2]  Peter Lammich,et al.  Verified Efficient Implementation of Gabow's Strongly Connected Component Algorithm , 2014, ITP.

[3]  Harald Zankl,et al.  Modular Complexity Analysis for Term Rewriting , 2014, Log. Methods Comput. Sci..

[4]  D. Serre Matrices: Theory and Applications , 2002 .

[5]  H. Wielandt Unzerlegbare, nicht negative Matrizen , 1950 .

[6]  Johannes Hölzl,et al.  Markov Chains and Markov Decision Processes in Isabelle/HOL , 2017, Journal of Automated Reasoning.

[7]  Georg Moser,et al.  TcT: Tyrolean Complexity Tool , 2016, TACAS.

[8]  O. Perron Zur Theorie der Matrices , 1907 .

[9]  Tobias Nipkow,et al.  Code Generation via Higher-Order Rewrite Systems , 2010, FLOPS.

[10]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[11]  René Thiemann,et al.  Algebraic Numbers in Isabelle/HOL , 2016, ITP.

[12]  Albert Rubio,et al.  Termination Competition (termCOMP 2015) , 2015, CADE.

[13]  René Thiemann,et al.  Certification of Termination Proofs Using CeTA , 2009, TPHOLs.

[14]  John Harrison,et al.  The HOL Light Theory of Euclidean Space , 2012, Journal of Automated Reasoning.

[15]  Jürgen Giesl,et al.  Analyzing Program Termination and Complexity Automatically with AProVE , 2016, Journal of Automated Reasoning.

[16]  Manuel Eberl,et al.  A Decision Procedure for Univariate Real Polynomials in Isabelle/HOL , 2015, CPP.

[17]  Andrei Popescu,et al.  From Types to Sets by Local Type Definitions in Higher-Order Logic , 2016, ITP.

[18]  René Thiemann,et al.  Formalizing Jordan normal forms in Isabelle/HOL , 2016, CPP.

[19]  Hans Zantema,et al.  Matrix Interpretations for Proving Termination of Term Rewriting , 2006, IJCAR.