31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
|
# Design Rationale
|
||
|
|
||
|
A great problem in machine learning is to use ML agents to automatically prove
|
||
|
mathematical theorems. This sort of proof necessarily involves *search*.
|
||
|
Compatibility for search is the main reason for creating Pantograph. The Lean 4
|
||
|
LSP interface is not conducive to search. Pantograph is designed with this in
|
||
|
mind. It emphasizes the difference between 3 views of a proof:
|
||
|
|
||
|
- **Presentation View**: The view of a written, polished proof. e.g. Mathlib and
|
||
|
math papers are almost always written in this form.
|
||
|
- **Search View**: The view of a proof exploration trajectory. This is not
|
||
|
explicitly supported by Lean LSP.
|
||
|
- **Kernel View**: The proof viewed as a set of metavariables.
|
||
|
|
||
|
Pantograph enables proof agents to operate on the search view.
|
||
|
|
||
|
## Name
|
||
|
|
||
|
The name Pantograph is a pun. It means two things
|
||
|
- A pantograph is an instrument for copying down writing. As an agent explores
|
||
|
the vast proof search space, Pantograph records the current state to ensure
|
||
|
the proof is sound.
|
||
|
- A pantograph is also an equipment for an electric train. It supplies power to
|
||
|
a locomotive. In comparison the (relatively) simple Pantograph software powers
|
||
|
theorem proving projects.
|
||
|
|
||
|
## References
|
||
|
|
||
|
* [Pantograph Paper](https://arxiv.org/abs/2410.16429)
|
||
|
|