Lean 代码交互方案
与 Lean 代码进行交互的几种方案:
-
在命令行运行 Lean 文件。
-
在 Lean 内部运行元编程的策略。
-
使用 Lean 的语言服务器进行代码交互:可能会比较复杂,且存在硬编码的延迟。
-
由于 Lean 本身是 Lean 编写的:可以重用 Lean 的解析器、内核或解释器,进行更高效的交互。(需要精通 Lean 的开发,大概就 DeepMind 团队能做到)
目前与 Lean 环境交互相关的项目:
- 社区维护的 REPL 项目,通过命令行输出 JSON 交互
- 基于 REPL 项目开发的 lean4_jupyter:
- 前端项目:运行 Lean 代码的 lean4web,运行 Lean 游戏的 lean4game,运行 Lean 的 Vscode 插件 vscode-lean4
- 代码解析和交互工具 LeanDojo
- 基于 LeanDojo 的证明搜索工具 LeanCopilot:
- 定理可视化工具:ProofWidgets4
- 自然语言语句转 Lean 代码的 LeanAide:
- 证明搜索工具 llmstep:
此外 12月中旬 NeurIPS 数学研讨会 的报告:ABEL: Sample Efficient Online Reinforcement Learning for Neural Theorem Proving。作者基于 Aesop 开发了一个 REPL,后续将开源。Math-AI 讨论会其他研究也值得留意。
REPL
1 | git clone https://github.com/utensil/lean4_jupyter.git |