An Extensible Ad Hoc Interface between Lean and Mathematica

We implement a user-extensible ad hoc connection between the Lean proof assistant and the computer algebra system Mathematica. By reflecting the syntax of each system in the other and providing a flexible interface for extending translation, our connection allows for the exchange of arbitrary information between the two systems. We show how to make use of the Lean metaprogramming framework to verify certain Mathematica computations, so that the rigor of the proof assistant is not compromised.

[1]  S. Wolfram An Elementary Introduction to the Wolfram Language , 2015 .

[2]  Vincent Siles,et al.  A Refinement-Based Approach to Computational Algebra in Coq , 2012, ITP.

[3]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[4]  Cezary Kaliszyk,et al.  Certified Computer Algebra on Top of an Interactive Theorem Prover , 2007, Calculemus/MKM.

[5]  Jeremy Avigad,et al.  The Lean Theorem Prover , 2015 .

[6]  Andrej Bauer,et al.  Analytica – An Experiment in Combining Theorem Proving and Symbolic Computation , 1996, Journal of Automated Reasoning.

[7]  H. P. Williams Fourier's Method of Linear Programming and its Dual , 1986 .

[8]  Volker Sorge,et al.  Integrating Computer Algebra into Proof Planning , 1998, Journal of Automated Reasoning.

[9]  Jacques Calmet,et al.  Theorems and algorithms: an interface between Isabelle and Maple , 1995, ISSAC '95.

[10]  Lawrence C. Paulson,et al.  A Pragmatic Approach to Extending Provers by Computer Algebra - with Applications to Coding Theory , 1999, Fundam. Informaticae.

[11]  Vaughan R. Pratt,et al.  Every Prime has a Succinct Certificate , 1975, SIAM J. Comput..

[12]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[13]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[14]  Conor McBride,et al.  Functional pearl: i am not a number--i am a free variable , 2004, Haskell '04.

[15]  John Harrison,et al.  A Skeptic's Approach to Combining HOL and Maple , 1998, Journal of Automated Reasoning.

[16]  Manuel Bronstein,et al.  { a Strongly-typed Embeddable Computer Algebra Library , 1996 .

[17]  H. P. Williams THEORY OF LINEAR AND INTEGER PROGRAMMING (Wiley-Interscience Series in Discrete Mathematics and Optimization) , 1989 .

[18]  David Delahaye,et al.  Dealing with algebraic expressions over a field in Coq using Maple , 2005, J. Symb. Comput..

[19]  Bruno Buchberger,et al.  Theorema 2.0: Computer-Assisted Natural-Style Mathematics , 2016, J. Formaliz. Reason..

[20]  Sofiène Tahar,et al.  Enabling Symbolic and Numerical Computations in HOL Light , 2015, CICM.

[21]  Manuel Bronstein,et al.  SigmaIT - A Strongly-Typed Embeddable Computer Algebra Library , 1996, DISCO.

[22]  Andrew Adams,et al.  Computer Algebra Meets Automated Theorem Proving: Integrating Maple and PVS , 2001, TPHOLs.