lean4-htt/tests
Kyle Miller 83129b7e3a
fix: inductive elaboration should keep track of universe level parameters created in binders (#5814)
Refactors `inductive` elaborator to keep track of universe level
parameters created during elaboration of `variable`s and binders. This
fixes an issue in Mathlib where its `Type*` elaborator can result in
unexpected universe levels.

For example, in
```lean4
variable {F : Type*}
inductive I1 (A B : Type*) (x : F) : Type
```
before this change the signature would be
```
I1.{u_1, u_2} {F : Type u_1} (A : Type u_1) (B : Type u_2) (x : F) : Type
```
but now it is
```
I1.{u_1, u_2, u_3} {F : Type u_1} (A : Type u_2) (B : Type u_3) (x : F) : Type
```
Fixes this for the `axiom` elaborator too.

Adds more accurate universe level validation for mutual inductives.

Breaking change: removes `Lean.Elab.Command.expandDeclId`. Use
`Lean.Elab.Term.expandDeclId` from within `runCommandElabM`.
2024-10-23 04:07:40 +00:00
..
bench feat: bv_decide inequality regression tests (#5714) 2024-10-15 08:51:14 +00:00
compiler doc: update documentation and tests for toUIntX functions (#5497) 2024-09-29 08:11:04 +00:00
elabissues
ir
lean fix: inductive elaboration should keep track of universe level parameters created in binders (#5814) 2024-10-23 04:07:40 +00:00
pkg test: check that recusive functions do not apply attriubutes twices (#5480) 2024-09-26 10:30:37 +00:00
playground feat: rename Array.shrink to take, and relate to List.take (#5796) 2024-10-21 23:35:32 +00:00
plugin chore: when a linter crashes, prefix its name (#4967) 2024-08-12 02:36:42 +00:00
simpperf
.gitignore
common.sh
lean-toolchain