Skip to content

Commit ffe12f0

Browse files
committed
add troubleshooting
1 parent 2fb3dbc commit ffe12f0

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@ Type **"auto 👍"** to test whether auto is set up.
4242
* ``cvc5``
4343
* ``zipperposition`` portfolio mode
4444

45+
## Troubleshooting
46+
* ``Monomorphization failed because ...``:
47+
Try adding `set_option auto.mono.ignoreNonQuasiHigherOrder true` before you invoke `auto`
48+
* ``Duper Saturated`` when using `lean-auto + duper`:
49+
This can happen if
50+
* $(1)$ The list of hints you provided to `auto` is insufficient
51+
* $(2)$ `duper` is unable to prove the translated problem, although the translated problem is provable
52+
* $(3)$ `auto` is unable to handle certain Lean features in the problem
53+
---
54+
To find out if the issue is caused by $(1)$, try proving the goal manually using only the basic tactics (e.g. `rw`, `apply`, `simp only`, and `dsimp only`) and the hints you provided to `lean-auto`. Try not to use `simp`, `simp_all` and `grind` because they might automatically use theorems that are not within the hint list provided to them. If you're able to prove the goal manually, it means the list of hints you provided is sufficient.
55+
To find out if the issue is caused by $(2)$, try using `lean-auto + SMT solver` and `lean-auto + TPTP solver` and see if it's able to solve the goal. Note that even if the goal is still not solved, it does not necessarily mean that the translated problem is unprovable.
56+
4557
## Utilities
4658
* Command ```#getExprAndApply [ <term> | <ident> ]```: Defined in ```ExprExtra.lean```. This command first elaborates the ```<term>``` into a lean ```Expr```, then applies function ```<ident>``` to ```Expr```. The constant ```ident``` must be already declared and be of type ```Expr → TermElabM Unit```
4759
* Command ```#genMonadState <term>, #genMonadContext <term>```: Defined in ```MonadUtils.lean```. Refer to the comment at the beginning of ```MonadUtils.lean```.

0 commit comments

Comments
 (0)