Daniel Selsam
0bc855149a
feat(inductive_compiler): generate sizeof_spec for nested constructors
2017-05-20 08:30:57 -07:00
Daniel Selsam
538ac8d187
feat(inductive_compiler): generate injectivity lemmas
2017-03-10 22:27:18 -08:00
Daniel Selsam
7dcc36277a
feat(frontends/lean/inductive_cmds.cpp): better resultant universe inference
2017-03-07 12:55:01 -08:00
Daniel Selsam
e9c05f727c
feat(inductive_compiler): APIs for simulated constructor offsets
2017-03-03 12:43:48 -08:00
Daniel Selsam
5ef892bb45
feat(inductive_compiler): cases_on for mutual and nested
2017-03-02 16:08:00 -08:00
Daniel Selsam
9590f2b7d0
feat(inductive_compiler): support nested inductive propositions
2017-03-02 16:01:45 -08:00
Daniel Selsam
1f6306d068
perf(library/inductive_compiler): simplification with sizeof lemmas
2017-03-01 21:13:20 -08:00
Leonardo de Moura
a6f26f0b74
chore(library): poly_unit ==> punit
...
psum, pprod and punit are used internally.
see #1341
2017-01-30 11:54:00 -08:00
Leonardo de Moura
bf9f7560f7
feat(frontends/lean): (Type u) can't be a proposition
...
(Type u) is the old (Type (u+1))
(PType u) is the old (Type u)
Type* is the old (Type (_+1))
PType* is the old Type*
The stdlib can be compiled, but we still have > 70 broken tests
See discussion at #1341
2017-01-30 11:54:00 -08:00
Daniel Selsam
ae730532c8
fix(inductive_compiler): preserve invariant that all basic ir names are <ind_name>.<atomic>
2016-10-13 10:12:08 -07:00
Daniel Selsam
047556528d
refactor(inductive_compiler): keep simulated inductive types semireducible
2016-10-13 10:12:08 -07:00
Daniel Selsam
480b31e172
chore(inductive_compiler/mutual): remove outdated comment
2016-10-05 15:10:22 -07:00
Daniel Selsam
6b8583ecac
chore(inductive_compiler/mutual): better error message for non-positive occurrences
2016-10-05 15:10:21 -07:00
Leonardo de Moura
572751c56e
feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class
...
Before this commit, we were inferring whether an
inductive/structure/class were meta or not. This was bad since the user
had no clue whether the type was trusted (non meta) or not.
Moreover, users could get confused by this behavior and assume the
kernel was allowing trusted code to rely on untrusted one.
2016-09-29 17:56:35 -07:00
Daniel Selsam
52f87760d8
feat(src/library/inductive_compiler): support for nested inductive types
2016-09-16 12:50:59 -07:00
Daniel Selsam
5787b469d0
feat(inductive_compiler): a few useful helper functions
2016-09-10 14:22:27 -07:00
Daniel Selsam
b0c5744eea
feat(inductive_compiler): support for mutually inductive types
2016-09-10 14:22:27 -07:00