doc: Update behaviour rationale

This commit is contained in:
Leni Aniva 2024-12-11 00:21:26 -08:00
parent cb87fcd9dd
commit 58956d33fe
Signed by: aniva
GPG Key ID: 4D9B1C8D10EA4C50
1 changed files with 16 additions and 0 deletions

View File

@ -24,6 +24,22 @@ The name Pantograph is a pun. It means two things
a locomotive. In comparison the (relatively) simple Pantograph software powers
theorem proving projects.
## Caveats
Pantograph does not exactly mimic Lean LSP's behaviour. That would not grant the
flexibility it offers. To support tree search means Pantograph has to act
differently from Lean in some times, but never at the sacrifice of soundness.
- When Lean LSP says "don't know how to synthesize placeholder", this indicates
the human operator needs to manually move the cursor to the placeholder and
type in the correct expression. This error therefore should not halt the proof
process, and the placeholder should be turned into a goal.
- When Lean LSP says "unresolved goals", that means a proof cannot finish where
it is supposed to finish at the end of a `by` block. Pantograph will raise the
error in this case, since it indicates the termination of a proof search branch.
- `pick_goal` or `swap` will not work since they run contrary to tree search
paradigms.
## References
* [Pantograph Paper](https://arxiv.org/abs/2410.16429)