Commit graph

26741 commits

Author SHA1 Message Date
Sebastian Ullrich
c7d8271c84 feat(library/init/lean/parser/token): save lbp in token_config 2018-09-06 17:16:57 -07:00
Sebastian Ullrich
1a53d4444b feat(library/init/lean/parser): parameterize recursive term parser with rbp 2018-09-06 17:16:22 -07:00
Sebastian Ullrich
149dd2a5e3 refactor(library/init/lean/parser): move command parsers into separate file 2018-09-06 10:46:29 -07:00
Leonardo de Moura
3c521960c8 chore(library/class): remove attribute tracking symbols 2018-09-05 18:42:19 -07:00
Leonardo de Moura
208b932583 feat(library/constructions/brec_on): add brec_on and binduction_on for new inductive datatype module
We don't support these constructions for nested inductive types, but we
do for mutual inductives.
2018-09-05 14:46:03 -07:00
Leonardo de Moura
f335623530 feat(library/constructions/brec_on): add below and ibelow for new inductive datatype module 2018-09-05 14:46:03 -07:00
Leonardo de Moura
afb9584a63 feat(kernel): store at inductive_val whether the type is reflexive or not 2018-09-05 14:46:03 -07:00
Leonardo de Moura
92c4b2ee0d chore(library/util): minor 2018-09-05 14:46:03 -07:00
Sebastian Ullrich
d4105e1e16 chore(library/init/lean/parser/basic): avoid nesting rbnode in trie
The new two-layer rbnode/list structure is a little faster
2018-09-05 10:37:03 -07:00
Leonardo de Moura
4964ad660f feat(library/constructions/no_confusion): add no_confusion for new inductive datatype module 2018-09-05 10:27:49 -07:00
Leonardo de Moura
6114e00cea chore(frontends/lean/decl_cmds): dead var 2018-09-05 10:22:07 -07:00
Sebastian Ullrich
3a4a052167 fix(frontends/lean/inductive_cmds): expand inductive fix to mutual inductives 2018-09-05 09:58:49 -07:00
Sebastian Ullrich
9c96aec3dc perf(library/init/lean/parser/parsec): inline pure, bind, and left_over 2018-09-05 09:58:49 -07:00
Sebastian Ullrich
df725c1f41 perf(frontends/lean/builtin_exprs): fix regression from position refactoring
Even atomic do patterns were compiled into match expressions
2018-09-05 09:58:49 -07:00
Leonardo de Moura
4773a3be5f feat(library/constructions/no_confusion): add no_confusion_type for new inductive datatype module 2018-09-05 09:55:13 -07:00
Leonardo de Moura
9970019f76 fix(kernel/inductive): incorrect assertion
It fails on non parametric datatypes with nullary constructors.
2018-09-05 09:52:25 -07:00
Leonardo de Moura
cc5f60c28d test(tests/lean/run/new_inductive): add new tests 2018-09-04 18:17:13 -07:00
Leonardo de Moura
176e0a3ed3 fix(kernel/inductive): typo 2018-09-04 17:32:18 -07:00
Leonardo de Moura
00032a7d37 chore(tests/shell/shell_test): fix output
BTW, we should probably temporarily delete this test.
2018-09-04 17:22:16 -07:00
Leonardo de Moura
78f4edaf57 chore(frontends/lean): remove info_manager and interactive modules 2018-09-04 17:22:16 -07:00
Leonardo de Moura
c121bcf263 chore(tests/lean/smart_unfolding): remove test since it depends on #reduce 2018-09-04 17:22:16 -07:00
Leonardo de Moura
d8e7941116 feat(library/constructions/rec_on): add rec_on for new inductive datatype module 2018-09-04 17:22:16 -07:00
Leonardo de Moura
4da40f5d0e chore(kernel/quot): remove unnecessary include 2018-09-04 17:22:16 -07:00
Sebastian Ullrich
66ebd5d7d6 feat(library/init/lean/parser): implement new tokenizer using trie
test execution went down from 3.5s to 1.5s
2018-09-04 14:06:43 -07:00
Leonardo de Moura
8ed89c6ac3 chore(library): remove normalize.cpp
The command `#reduce` was also temporarily removed.
2018-09-04 10:51:14 -07:00
Leonardo de Moura
1dfcea58f9 chore(*): remove some references to old inductive datatype module 2018-09-04 10:45:17 -07:00
Leonardo de Moura
0f207380c7 test(tests/lean/run/new_inductive): add test for new inductive datatype module 2018-09-04 10:35:28 -07:00
Leonardo de Moura
a0283bf2a0 fix(library/constructions/cases_on): bugs 2018-09-04 10:33:56 -07:00
Leonardo de Moura
10a7eccecd feat(library/constructions/cases_on): add cases_on for new inductive datatype module 2018-09-04 09:26:16 -07:00
Leonardo de Moura
5972a3038d chore(library): remove defeq_canonizer 2018-09-03 17:48:01 -07:00
Leonardo de Moura
b1fb1b069e chore(library/constructions): remove constructor (dead code) 2018-09-03 17:41:19 -07:00
Leonardo de Moura
af8f3c7bb4 chore(library/constructions): remove injective
It was mainly used to perform dependent elimination with nested
inductive datatypes produced by the inductive compiler.
2018-09-03 17:38:13 -07:00
Leonardo de Moura
cc748c0b17 chore(library/constructions): remove drec (dead code) 2018-09-03 17:32:16 -07:00
Leonardo de Moura
0285579893 fix(kernel/inductive): bug at inductive_reduce_rec 2018-09-03 17:05:13 -07:00
Leonardo de Moura
d325a4dd1d feat(library/type_context, kernel/type_checker): use inductive_reduce_rec 2018-09-03 16:52:53 -07:00
Leonardo de Moura
ccfcd8279f fix(kernel/inductive): bug 2018-09-03 16:41:51 -07:00
Leonardo de Moura
d54b86d16b chore(library/type_context): remove reduce_large_elim_recursor 2018-09-03 16:21:00 -07:00
Leonardo de Moura
799c133326 feat(kernel/inductive): add inductive_is_stuck 2018-09-03 16:06:29 -07:00
Leonardo de Moura
59fa70616a feat(kernel/inductive): add reduce 2018-09-03 15:22:15 -07:00
Leonardo de Moura
dd03747d22 chore(kernel): univ_param vs lparam, level_param_names ==> names, and other inconsistencies 2018-09-03 13:05:42 -07:00
Leonardo de Moura
7928dbb239 chore(kernel): get_constructor ==> get_cnstr 2018-09-03 12:30:49 -07:00
Leonardo de Moura
5e6d3511f4 chore(frontends/lean/print_cmd): display rule info 2018-09-03 12:27:25 -07:00
Leonardo de Moura
47bc71f4fa feat(kernel/inductive): postprocess recursors and their rules 2018-09-02 21:06:51 -07:00
Leonardo de Moura
498cfa84fd fix(util/object_ref): typo 2018-09-02 21:06:51 -07:00
Sebastian Ullrich
76741ae695 feat(frontends/lean/elaborator): fall back to approximate position in errors 2018-09-02 18:34:57 -07:00
Sebastian Ullrich
ae70158c09 fix(frontends/lean/elaborator): position information for callees 2018-09-02 18:08:41 -07:00
Sebastian Ullrich
39cdae50ee feat(library,frontends/lean): use mdata instead of hacky cache for position information in preterms 2018-09-02 18:08:41 -07:00
Sebastian Ullrich
0220af69b8 feat(library/print): print mdata
Not sure if helpful or annoying for the future...
2018-09-02 18:08:41 -07:00
Sebastian Ullrich
3090826326 chore(bin/lean-gdb): update lean::expr printer 2018-09-02 18:08:41 -07:00
Leonardo de Moura
f9d87e7a98 feat(kernel/inductive): add inductive postprocessor
We still need to restore recursors and their rules
2018-09-02 17:44:19 -07:00