-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #175 from lean-dojo/kaiyu
Reduce the Initialization Time When Interacting with Lean
- Loading branch information
Showing
23 changed files
with
475 additions
and
1,067 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,11 @@ | ||
.. _limitations: | ||
|
||
Limitations and Caveats | ||
======================= | ||
|
||
|
||
Limitations | ||
*********** | ||
=========== | ||
|
||
LeanDojo has the following limitations. Addressing them won't be our priority in the near future, but we welcome contributions: | ||
|
||
* LeanDojo cannot extract data from the `lean4 <https://github.com/leanprover/lean4>`_ repo itself nor interact with theorems in it. | ||
* Currently, LeanDojo cannot process Lean repos that use FFI, e.g., [LeanCopilot](https://github.com/lean-dojo/LeanCopilot). | ||
* LeanDojo does not support term-based proofs or proofs that mixes tactics and terms. | ||
* Entering all tactic-style proofs in mathlib 3 to LeanDojo, we found ~1.4% of them are misjudged as incorrect. The errors fall into a few categories documented in `test_unexpected_errors.py <https://github.com/lean-dojo/LeanDojo/blob/main/tests/interaction/test_unexpected_errors.py>`_. We didn't perform this analysis on Lean 4. | ||
* Theorems extracted by LeanDojo are "syntactic theorems", i.e., they are Lean constants defined using keywords :code:`theorem` or :code:`lemma`. First, they are not guaranteed to be real theorems (Lean constants of type :code:`Prop`). Second, theorems defined in other ways (e.g., using :code:`def`) are not extracted. | ||
* Tracing mathlib 3 produces buggy :code:`IdentNode`. Their names start with :code:`user__`. So you can search for :code:`name="user__` in the generated :file:`*.trace.xml` files. We haven't figured out the exact reason underlying this bug, but it's likely to be related to Lean's parser and `mathlib's alias command <https://leanprover-community.github.io/mathlib_docs/tactic/alias.html>`_. | ||
* We require Lean 3 >= v3.42.1. Otherwise, the `modification patch <https://github.com/lean-dojo/LeanDojo/blob/main/src/lean_dojo/data_extraction/0001-Modify-Lean-for-proof-recording.patch>`_ cannot be applied. | ||
* We have problems tracing a few premises related to :code:`quot` in Lean 3. See the warnings in `this Jupyter notebook <https://github.com/lean-dojo/LeanDojo/blob/main/scripts/generate-lean3-benchmark.ipynb>`_. | ||
* Lean 3 ASTs generated by :code:`lean --ast --tsast --tspp` have a small number of errors. | ||
|
||
|
||
Caveats | ||
******* | ||
|
||
* When LeanDojo is killed, it may leave temporary files in the system's temporary directory (or the directory specified by the :code:`TMP_DIR` environment variable). It may be necessary to manually clean up these files occasionally. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.