Commit graph

1230 commits

Author SHA1 Message Date
Leonardo de Moura
82db0f874a fix(kernel/type_checker,library/type_context): add support for macros that cannot be expanded
Fixes #1650
2017-06-07 08:25:21 -07:00
Leonardo de Moura
e204a30685 fix(kernel/replace_fn): check if running out of stack space at replace_rec_fn
See #1646
2017-06-04 15:57:11 -07:00
Leonardo de Moura
4bdb2da1b6 fix(library/equations_compiler): improve pull_nested_rec_fn, and make sure it communicates local propositions to the well founded recursion module
The bin_tree and num_consts examples can now be encoded more naturally.
2017-05-26 10:45:39 -07:00
Leonardo de Moura
7ffd7fea3d feat(kernel): store depth of composite terms and use it in the hash code computation
closes #1589
2017-05-25 16:51:02 -07:00
Sebastian Ullrich
491802409a chore(*): remove unused macro_definition_cell::pp method 2017-05-24 09:51:23 +02:00
Leonardo de Moura
eddc5b0869 chore(kernel/environment): rename method 2017-05-15 14:18:16 -07:00
Sebastian Ullrich
42eb0c680e feat(kernel/inductive,library/inductive_compiler): do not enforce positivity rule on meta inductives 2017-05-14 19:17:28 -07:00
Sebastian Ullrich
d968b9a1c8 fix(frontends/lean/structure_cmd): remove evil Pi overload that accidentally abstracted constants in structure decls 2017-04-26 14:22:36 -07:00
Sebastian Ullrich
3f87755a2a fix(frontends/lean/pp): qualify constant shadowed by local 2017-03-31 09:40:49 -07:00
Sebastian Ullrich
b92af074c0 feat(kernel/pos_info_provider): add save_pos_info
Allows the elaborator to contribute new info locations
2017-03-31 09:40:48 -07:00
Sebastian Ullrich
a50398f837 fix(library/tactic/eval,kernel/kernel_exception): hide internal definition name on eval_expr type error 2017-03-27 13:42:08 -07:00
Gabriel Ebner
42288198db fix(kernel/expr): disable caching by default 2017-03-23 08:57:56 +01:00
Gabriel Ebner
595cbb8fe9 refactor(*): task<T>, log_tree, cancellation_token 2017-03-23 08:57:52 +01:00
Leonardo de Moura
d37fd17725 fix(kernel/level): potential compiler specific behavior 2017-03-11 18:30:28 -08:00
Leonardo de Moura
b69e2006f5 chore(kernel/quotient/quotient): update comments
The comments were written before the Type => Sort change
2017-03-07 14:11:51 -08:00
Leonardo de Moura
544d5c67f4 feat(CMakeLists,kernel): add TRACK_LIVE_EXPRS=ON compilation option 2017-02-28 10:56:14 -08:00
Leonardo de Moura
7c57d23b46 feat(kernel): add compilation flags for disabling has_local optimization and abstraction cache 2017-02-21 19:46:31 -08:00
Leonardo de Moura
1c959f6790 feat(kernel): add compilation flag for disabling "free var range" optimization 2017-02-21 19:40:56 -08:00
diakopter
19606fd197 chore(util,kernel,library): clang warnings 2017-02-17 20:01:34 -08:00
Sebastian Ullrich
9d8c84713c refactor(*): reduce exception context info from expr to pos_info 2017-02-17 13:45:57 +01:00
Sebastian Ullrich
e14eab2db8 chore(test/lean/interactive): do not test for exact source information 2017-02-17 13:45:56 +01:00
Gabriel Ebner
1437ee9599 fix(kernel/type_checker): disable expression caching in asynchronous proof checking 2017-02-16 07:44:12 -08:00
Leonardo de Moura
604cbf827a chore(kernel/type_checker): remove dead code 2017-02-15 18:05:55 -08:00
Leonardo de Moura
3d603ec28e feat(kernel,library,frontends/lean,api): remove global universe levels from kernel and APIs 2017-02-08 17:41:44 -08:00
Leonardo de Moura
715f0bdd8c fix(kernel/expr): typo
closes #1350
2017-02-07 10:11:47 -08:00
Gabriel Ebner
f404e8a2be feat(library/export,checker): add basic support for mixfix notation 2017-01-31 10:20:56 +01:00
Gabriel Ebner
22d6d6c843 chore(kernel/quotient/quotient): fix style 2017-01-31 10:20:55 +01:00
Gabriel Ebner
54820506e4 feat(library/export): export quotient initialization 2017-01-31 10:20:55 +01:00
Gabriel Ebner
2f07bf352c refactor(library/standard_kernel): move standard kernel into kernel 2017-01-31 09:39:31 +01:00
Gabriel Ebner
50cfbc1fd5 fix(kernel/quotient/quotient): add missing import 2017-01-31 09:39:30 +01:00
Leonardo de Moura
5da8b205b9 feat(library/type_context, frontends/lean/elaborator): type classes with output parameters 2017-01-30 18:32:54 -08:00
Leonardo de Moura
4fe73d3f87 fix(frontends/lean/elaborator, kernel/error_msgs): (re-)activate distinguishing_pp_options 2017-01-30 11:54:00 -08:00
Leonardo de Moura
35224685a9 chore(kernel/quotient/quotient): remove leftover 2017-01-26 13:05:09 -08:00
Leonardo de Moura
0ba60e62d7 feat(kernel/quotient/quotient): make quotient module robust against users that define their own prelude's
Before this commit, an user could define their own prelude and change
the types of quot, quot.mk, quot.lift or quot.ind.
By doing that, they could prove false.

This commit prevents this kind of abuse.
It also modifies the definition of `quot` and avoids the `setoid`
dependency.
The previous `quot` type is now called `quotient`, and it is defined
using the new `quot` type provided by the kernel.

See discussion at #1330
2017-01-24 15:59:38 -08:00
Gabriel Ebner
1a6629ce3b feat(frontends/lean/parser): keep list of tasks that have to succeed 2017-01-17 15:31:17 -08:00
Leonardo de Moura
1db1f8b229 feat(kernel/inductive/inductive): do not force recursive arguments to occur after non-recursive ones 2017-01-16 22:59:17 -08:00
Gabriel Ebner
bc09a53f71 feat(library/task_queue): add flag to prevent priority inversion 2017-01-05 18:09:28 -08:00
Gabriel Ebner
063130ee18 feat(kernel/environment): add function that checks whether all proofs are correct 2017-01-05 18:09:28 -08:00
Leonardo de Moura
9065cf0350 feat(library/tactic/congruence/theory_ac): add internalization, interface with congruence closure module, and trivial/simp/orient transitions
Still missing: superpose, collapse and compose transitions.
2016-12-28 21:35:16 -08:00
Leonardo de Moura
caf92bbcc0 feat(kernel/expr): compress expr_macro representation 2016-12-28 09:01:21 -08:00
Leonardo de Moura
b5c1b429e7 feat(library/tactic/ac_tactics): add ac_manager helper class 2016-12-27 17:57:56 -08:00
Leonardo de Moura
5572d7f3ec perf(kernel,library/module): enable expr caching when deserializing .olean files 2016-12-16 18:33:46 -08:00
Gabriel Ebner
d89512b6fc fix(util/task_queue): fix undefined behavior with null references 2016-12-15 09:48:57 -08:00
Gabriel Ebner
902df5d134 feat(shell/server,emacs): show list of currently running tasks 2016-12-12 12:40:40 -08:00
Gabriel Ebner
a972c13ce9 refactor(library/task_queue): move task queue to util 2016-12-12 10:01:34 -05:00
Gabriel Ebner
bc74a79ebd refactor(library/message_buffer): extract definitions into extra header file 2016-12-12 08:56:15 -05:00
Gabriel Ebner
9eeb4390ea fix(kernel/type_checker): fallback to immediate checking if task queue is not available 2016-12-12 08:45:56 -05:00
Leonardo de Moura
f96d35dc1c fix(library/aux_definition,frontends/lean/definition_cmds): unfold macros at trust level 0 2016-12-05 13:08:12 -08:00
Leonardo de Moura
52ef17284a fix(kernel/expr, kernel/level): if caching is enabled during finalization, these modules would register a finalizer after finalization of the main thread
The deleted lines were not really needed. They were added before we had
the thread finalization code.
2016-12-01 10:16:05 -08:00
Leonardo de Moura
d40e97b4bc chore(*): compilation errors, fix style, fix warnings 2016-11-29 11:35:01 -08:00