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