lean2/tests
Leonardo de Moura 463e70332d test(tests/lean/run): define brec_on and binduction_on for a reflexive type
We say an inductive type T is reflexive if it contains at least one constructor that
takes as an argument a function returning T.

For reflexive types it doesn't seen to be possible to define a single
brec_on that can eliminate to Type.{>=1} and Prop.
The universe level expressions get too complicated.
Even if we extend the universe constraint solver in the kernel, the
additional complexity might be a problem.

We workaround this issue by defining two versions of brec_on:
  - One (brec_on) that eliminates to Type.{>=1}, and
  - binduction_on that eliminates to Prop.

For non-reflexive types, we can combine both of them.
2014-11-12 10:52:32 -08:00
..
lean test(tests/lean/run): define brec_on and binduction_on for a reflexive type 2014-11-12 10:52:32 -08:00
lua feat(kernel/inductive): relax conditions for an inductive datatype in Prop to be able to eliminate into Type 2014-11-06 09:36:54 -08:00