lean4-htt/tests
Leonardo de Moura 0c1c6c0a73 feat: convert universe metavariables into parameters after elaborating theorem header
closes #318

Like Lean 3, we are doing it only for theorems.
@Kha, we talked about doing it for definitions too, it sounded like a
good idea, and it would make the system's behavior more uniform, but
unfortunately it creates too many problems. There are so many trivial
cases where it breaks. Here are some examples.

1- Definitions that take multiple bundled structures
```
def foo (s1 : Group) (s2 : CommRing) ...
```
They are universe polymorphic, and the different structures must be in
the same universe, but we don't know it when we elaborate the header,
that is, we need to elaborate the body.

An extreme case is `PUnit` occurring in the header. It is universe
polymorphic, but we only lear the constraints on this universe after
we elaborate the body.

2- All files containing unification hints broke.
Again, there are universe constraints on the header that we only learn
after we elaborate the body.

3- Many `CoeSort` and `CoeFun` examples broke.
Example:
```
structure Group :=
  (carrier : Type u) (mul : carrier → carrier → carrier) (one : carrier)

instance GroupToType : CoeSort Group (Type u) :=
  CoeSort.mk (fun g => g.carrier)
```
We would have to write
```
instance GroupToType : CoeSort Group.{u} (Type u) :=
  CoeSort.mk (fun g => g.carrier)
```
We would have to provide universe level parameters manually in this
kind of instance. I think it would be too annoying.
2021-02-25 16:53:58 -08:00
..
bench chore: remove remaining #lang lean4 in tests 2021-01-27 14:45:31 +01:00
compiler fix: allow bigger ctor objects 2021-01-29 18:23:38 -08:00
elabissues chore: move pp_options.cpp to Lean 2021-01-27 14:16:12 +01:00
ir
lean feat: convert universe metavariables into parameters after elaborating theorem header 2021-02-25 16:53:58 -08:00
leanpkg feat: incremental progress notification while compiling dependencies 2021-01-19 19:06:01 +01:00
playground fix: allow bigger ctor objects 2021-01-29 18:23:38 -08:00
plugin chore: fix test 2021-01-27 15:04:59 +01:00
simpperf feat: add simp benchmark 2020-12-31 15:46:56 -08:00
.gitignore
common.sh test: ignore \r when diffing 2020-09-15 09:32:00 -07:00