Remove `AbstractMetavarContext` and `TmpMetavarContext`. Disable `TypeUtil` until we decide this is the right design. Using very simple approach: - No distinction betwen temporary and regular metavariables. - Metavariables have a `depth` Nat field. - MetavarContext also has a `depth` field. - We bump the `MetavarContext` depth when we create a nested problem. Example: Elaborator (depth = 0) -> Simplifier matcher (depth = 1) -> TC (level = 2) -> TC (level = 3) -> ... - When MetavarContext is at depth N, isDefEq does not assign variables from depth < N. - Metavariables from depth N+1 must be fully assigned before we return to level N. - New design even allows us to invoke tactics from TC. cc @dselsam |
||
|---|---|---|
| .. | ||
| Init | ||
| library.md | ||
| Makefile.in | ||
| relative.py | ||