Commit graph

10708 commits

Author SHA1 Message Date
Leonardo de Moura
b2c1ea6fdb fix(library/type_context): failure cache
The new regression test exposes the problem being fixed.
2016-12-13 07:50:03 -08:00
Daniel Selsam
fc7410633f feat(library/type_context): cache failures at is_def_eq 2016-12-13 07:01:12 -08:00
Leonardo de Moura
13ae8b07b3 feat(library/init/data/nat/lemmas): add missing lemmas 2016-12-12 13:25:30 -08:00
Gabriel Ebner
0c8c41bd07 fix(library/module_mgr): make more robust 2016-12-12 12:40:40 -08:00
Gabriel Ebner
67e3c383ac fix(library/module_mgr): fix invalidation 2016-12-12 12:40:40 -08:00
Gabriel Ebner
28705052bd fix(emacs/lean-server): allow restarting dead server 2016-12-12 12:40:40 -08:00
Gabriel Ebner
1963c8650f feat(shell/server): support regions of interest consisting of multiple files 2016-12-12 12:40:40 -08:00
Gabriel Ebner
d5bca10af8 feat(shell/server,emacs): show currently executing task if even from another file 2016-12-12 12:40:40 -08:00
Gabriel Ebner
902df5d134 feat(shell/server,emacs): show list of currently running tasks 2016-12-12 12:40:40 -08:00
Leonardo de Moura
3de3532a3e chore(tests/lean/run/even): remove duplicate 2016-12-12 10:48:10 -08:00
Leonardo de Moura
7794ecfb69 test(tests/lean/run): add test for performance issue reported in the lean group 2016-12-12 10:38:23 -08:00
Leonardo de Moura
6e3959de2f feat(library/compiler): create declarations for nested values 2016-12-12 10:37:58 -08:00
Leonardo de Moura
fe3396e1ae perf(library/vm/vm): cache the result of 0-ary vm_decls 2016-12-12 09:12:06 -08:00
Leonardo de Moura
502413d5dd chore(library/compiler/elim_unused_lets): style 2016-12-12 08:32:42 -08:00
Gabriel Ebner
cf3f398753 fix(library/module_mgr): do not perform unnecessary copy 2016-12-12 08:25:32 -08:00
Leonardo de Moura
028bf36152 feat(library/compiler): eliminate unused let declarations 2016-12-12 08:23:37 -08:00
Leonardo de Moura
abfea1f388 feat(library/compiler/cse): ignore 0-ary macros during common subexpression elimination 2016-12-12 07:40:46 -08:00
Gabriel Ebner
a972c13ce9 refactor(library/task_queue): move task queue to util 2016-12-12 10:01:34 -05:00
Gabriel Ebner
02b4fe771f fix(util/message_definitions): initialize version field 2016-12-12 09:45:07 -05:00
Gabriel Ebner
6c34d42025 refactor(library/task_queue): break dependency on message_buffer 2016-12-12 09:44:05 -05:00
Gabriel Ebner
f584d11072 refactor(library/task_queue): do not hardcode friendship to mt_task_queue 2016-12-12 09:32:13 -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
Gabriel Ebner
29bf483e2a refactor(library/task_queue): extract library-specific code 2016-12-12 08:43:43 -05:00
Gabriel Ebner
8e0a5904d2 refactor(library/message_buffer): move info_manager out of scope_message_context 2016-12-12 08:23:15 -05:00
Leonardo de Moura
fbc1bb4d89 perf(library/compiler): add common subexpression elimination
It addresses a performance problem reported by Brian (huffman@galois.com).
2016-12-11 14:43:51 -08:00
Gabriel Ebner
a24490a06a fix(emacs/lean-server): wrap correct function with save-match-data
In emacs 24, apparently just setting a timer changed the match data...
2016-12-11 11:17:28 -08:00
Leonardo de Moura
c8d6836aa1 feat(library): port nat sub lemmas 2016-12-11 09:46:45 -08:00
Gabriel Ebner
f8479762a1 fix(emacs/lean-server): make sure all timers are wrapped in save-match-data 2016-12-11 08:30:00 -08:00
Leonardo de Moura
18098e9455 perf(library/init/data/list/basic): avoid naive quadratic implementations 2016-12-10 13:18:11 -08:00
Leonardo de Moura
aba6f8b8a8 feat(frontends/lean/parser): add support for anonymous parameters
Example:

check λ _, 0
2016-12-10 11:07:58 -08:00
Leonardo de Moura
9f6e71b374 feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
If this parameter is set to true, then approximate unification is
used.

closes #1208
2016-12-10 10:24:05 -08:00
Jeremy Avigad
0950b7a49f feat(library/init/meta/interactive): allow cases on an arbitrary expression 2016-12-10 09:54:03 -08:00
Jeremy Avigad
1dd91c6e6a feat(library/init/meta/interactive): add fapply 2016-12-10 09:53:53 -08:00
Jeremy Avigad
1ba55e5cda feat(library/init/meta/interactive): allow metavariable in change tactic 2016-12-10 09:53:36 -08:00
Leonardo de Moura
55401a95ec fix(frontends/lean/parser): scope in tactic mode 2016-12-10 09:39:13 -08:00
Gabriel Ebner
e03c31d2f9 refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
Gabriel Ebner
09fa1298ce fix(gitignore): ignore autosave files 2016-12-10 08:42:29 -08:00
Gabriel Ebner
872082bdd9 chore(*): remove emacs autosave file 2016-12-10 08:42:20 -08:00
Leonardo de Moura
b5dc88ee37 fix(library/equations_compiler/elim_match): see #1216
Fixes the problem described at #1216.
This is an alternative fix that prevents the m_var_stack from being in
an inconsistent state.
2016-12-08 15:38:14 -08:00
Jeremy Avigad
7155e8114b refactor(src/emacs/*): remove dependence on fill-column-indicator 2016-12-08 14:53:09 -08:00
Leonardo de Moura
692701c5ef feat(library/init/meta): use cheap "reflexivity" after simp and rewrite
The idea is to make sure lean doesn't timeout (at reflexivity) when we apply simp or
rewrite in goals such as

    (x y : nat) |- x + y + 10000000000 = x + y + 200000000000000

This commit also addresses an issue raised at #1218
2016-12-08 14:41:26 -08:00
Leonardo de Moura
0818b02eb3 test(tests/lean/run): add test for @1218 2016-12-08 14:10:47 -08:00
Daniel Selsam
aed6d8fea0 fix(tactic/dsimplify.cpp): must whnf in post to be idempotent 2016-12-08 13:34:32 -08:00
Jeremy Avigad
6f64244f2a refactor(library/init/meta/tactic): switch 'pose' and 'note' 2016-12-08 13:17:42 -08:00
Gabriel Ebner
2867163db0 fix(tests): initialize util module 2016-12-08 13:11:53 -08:00
Gabriel Ebner
51821bd8c9 fix(util/thread): do not initialize thread_finalizers_manager in multiple threads 2016-12-08 13:11:40 -08:00
Leonardo de Moura
275cfeac1a fix(library/type_context): incorrect assertion 2016-12-08 12:58:10 -08:00
Leonardo de Moura
09ed8e1136 fix(library/type_context): compilation error in debug mode 2016-12-08 12:49:04 -08:00
Leonardo de Moura
6577cc87a3 feat(library): add pre_monad
closes #1235
2016-12-08 12:48:55 -08:00