This issue produced a nested inductive datatype that could not be
handled by the kernel. See new test.
Without the fix, the inductive declaration contained the term
```
((fun α {n : Nat} (t : Vec α n) => ...) Expr n x)
```
The nested occurrence `Vec Expr n` only becomes explicit after
beta-reduction.
8 lines
248 B
Text
8 lines
248 B
Text
inductive Vec (α : Type u) : Nat → Type u
|
||
| nil : Vec α Nat.zero
|
||
| cons : α → {n : Nat} → Vec α n → Vec α (n+1)
|
||
|
||
inductive Expr
|
||
| val (v : Nat)
|
||
| app2 (f : String) (args : Vec Expr 2)
|
||
| app3 (f : String) (args : Vec Expr 3)
|