A bi-directional extensible interface between Lean and Mathematica
Robert Y. Lewis, Minchao Wu

TL;DR
This paper presents a flexible, extensible interface enabling bidirectional communication and verification between the Lean proof assistant and Mathematica, enhancing proof rigor and mathematical knowledge sharing.
Contribution
It introduces a novel, reflective connection allowing seamless exchange and verification of information between Lean and Mathematica, leveraging metaprogramming for increased rigor.
Findings
Verified Mathematica computations within Lean using metaprogramming
Guided proof search in Lean with Mathematica as an oracle
Imported Lean declarations into Mathematica for exploration
Abstract
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. We also use Mathematica as an untrusted oracle to guide proof search in the proof assistant and interact with a Mathematica notebook from within a Lean session. In the other direction, we import and process Lean declarations from within Mathematica. The proof assistant library serves as a database of mathematical knowledge that the CAS can display and explore.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Business Process Modeling and Analysis · Model-Driven Software Engineering Techniques
