We add a new configuration flag for `isDefEq`: `Meta.Config.univApprox`. When it is true, we approximate the solution for universe constraints such as - `u =?= max u ?v`, we use `?v := u`, and ignore the solution `?v := 0`. - `max u v =?= max u ?w`, we use `?w := v`, and ignore the solution `?w := max u v`. We only apply these approximations when there the contraints cannot be postponed anymore. These approximations prevent error messages such as ``` error: stuck at solving universe constraint max u ?u.3430 =?= u ``` This kind of error seems to appear in several Mathlib files. We currently do not use these approximations while synthesizing type class instances. |
||
|---|---|---|
| .. | ||
| bench | ||
| compiler | ||
| elabissues | ||
| ir | ||
| lean | ||
| pkg | ||
| playground | ||
| plugin | ||
| simpperf | ||
| .gitignore | ||
| common.sh | ||
| lean-toolchain | ||