← All papers
First page of An Extensible Ad Hoc Interface between Lean and Mathematica

An Extensible Ad Hoc Interface between Lean and Mathematica

Robert Y. Lewis

cs.LO Dec 5, 2017 · v1
Implements a bidirectional interface between Lean and Mathematica for verified computation.
We implement a user-extensible ad hoc connection between the Lean proof assistant and the computer algebra system Mathematica. By reflecting each system's syntax in the other and providing a flexible translation interface, the connection enables exchange of arbitrary information between the two systems. We demonstrate how Lean's metaprogramming framework can verify Mathematica computations, ensuring the rigor of the proof assistant is not compromised.

Proof assistants and computer algebra systems have complementary strengths (rigor vs. computational power), but exchanging information between them in a verified way required ad hoc, non-extensible solutions.

The authors implement a user-extensible interface between Lean and Mathematica by reflecting each system's syntax in the other and providing a flexible translation layer. Lean's metaprogramming framework is used to verify Mathematica computations, ensuring the proof assistant's rigor is not compromised.

The interface enables exchange of arbitrary information between Lean and Mathematica. Lean can verify Mathematica's computational results, combining the CAS's power with the proof assistant's trustworthiness, in an extensible architecture users can adapt to new domains.