Commit graph

11891 commits

Author SHA1 Message Date
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
Leonardo de Moura
9222c89198 chore(tests/lean/dunfold_constant): fix test output 2016-12-08 11:34:08 -08:00
Leonardo de Moura
eb0b158ad1 chore(tests/lean/test_single): remove tmp files 2016-12-08 11:33:54 -08:00
Daniel Selsam
f952dbc78e fix(init/meta/expr.lean): is_app_of can return true for constants as well 2016-12-08 11:23:53 -08:00
Leonardo de Moura
079a442404 feat(library/type_context): add option for controlling threshold for applying offset constraints 2016-12-08 11:21:05 -08:00
Leonardo de Moura
be3cff0c46 feat(library/type_context): move offset constraint resolution to lazy delta loop 2016-12-08 11:00:15 -08:00
Gabriel Ebner
bcc92af237 fix(emacs/load-lean): require unicode-fonts package 2016-12-08 10:44:47 -08:00
Leonardo de Moura
e80eccdd60 chore(library/st_task_queue): style 2016-12-08 10:43:39 -08:00
Leonardo de Moura
e01c7bfef5 chore(frontends/lean/definition_cmds): update comment 2016-12-08 10:35:32 -08:00
Gabriel Ebner
716502c502 fix(library/st_task_queue): check dependencies on task submission 2016-12-08 10:32:37 -08:00
Leonardo de Moura
e13bac41c3 fix(frontends/lean): 'sorry' axiom auto generation 2016-12-08 10:31:52 -08:00
Leonardo de Moura
7bffcf776b chore(library/mt_task_queue, library/task_queue): style 2016-12-08 09:26:22 -08:00
Daniel Selsam
6120f8cc9f fix(src/library/tactic/simplify): relaxed_whnf when checking if fn is dependent 2016-12-08 07:41:42 -08:00
Leonardo de Moura
b9de2fda0c chore(library/init/algebra/order): remove unnecessary *.refl lemmas 2016-12-08 07:32:25 -08:00
Leonardo de Moura
023f216cab chore(init/algebra/order): use new attribute syntax 2016-12-08 07:22:58 -08:00
Jeremy Avigad
281903edee refactor(library/init/data/nat/lemmas): better name for self_lt_succ 2016-12-08 07:20:39 -08:00
Jeremy Avigad
16b239cbff feat(library/init/algebra/order): add refl and trans attribute and dot notation 2016-12-08 07:20:22 -08:00
Jeremy Avigad
9c6605c992 refator(library/init/data/set): make implicit argument in subset weak 2016-12-08 07:20:12 -08:00