Commit graph

13774 commits

Author SHA1 Message Date
Leonardo de Moura
0795acaf6a refactor(library/init/algebra): new transport from multiplicative to additive
The motivation is to avoid the problems produced by the "declare as
structure and then tag as class idiom" described in the file ring.lean.
2017-01-18 19:39:53 -08:00
Leonardo de Moura
d0a578c3db feat(library/init/meta/environment): add is_projection 2017-01-18 18:12:08 -08:00
Leonardo de Moura
0ad053f0f1 feat(library/init/meta/decl_cmds): add command for copying type and value using replacement 2017-01-18 17:52:11 -08:00
Gabriel Ebner
bf20be51d5 chore(emacs/lean-server): put face into lean group for customization 2017-01-18 08:32:53 -08:00
Gabriel Ebner
be6b81db07 chore(emacs): remove lean-flycheck-use option 2017-01-18 08:32:53 -08:00
Gabriel Ebner
9b63ceff91 chore(emacs/lean-project): remove old project file contents 2017-01-18 08:32:53 -08:00
Gabriel Ebner
9530a7db1c chore(emacs): remove unused options 2017-01-18 08:32:53 -08:00
Leonardo de Moura
b309ef66d7 fix(library/equations_compiler/elim_match): fix #1318 2017-01-18 08:21:53 -08:00
Leonardo de Moura
694e6f47dc fix(library/init/meta/smt/ematch,library/tactic/simp_lemmas): trick for adding equations of a definition to a simp/hinst lemma set
Before this commit, if we declared an equational lemma using 'def',
then it would not be correctly added to the simp/hinst lemma set.
The new test exposes the problem.
2017-01-18 02:05:04 -08:00
Leonardo de Moura
c52be7e8c5 feat(frontends/lean,shell): autocompletion for ^.
@kha, I added autocompletion for ^. I try to elaborate the expression
before ^. using the local context provided by the parser.

The autocompletion only works if the type for the expression before ^. can be
inferred. This is a big limitation because this information cannot be
obtained in many cases. Here are examples that do not work:

  meta def proof_for (e : expr) : smt_tactic expr :=
  do cc ← to_cc_state, cc^.proof_for e
                         --^ does not work here

If we annotate cc with its type, it works:

  meta def proof_for (e : expr) : smt_tactic expr :=
  do cc : cc_state ← to_cc_state, cc^.proof_for e
                                    --^ works

We don't have typing information on the equation lhs at
autocompletion time. So, the following will not work

   private meta def mk_smt_goals_for (cfg : smt_config)
        : list expr → list smt_goal → list expr → tactic (list smt_goal × list expr)
   | []        sr tr := return (sr^.reverse, tr^.reverse)
                                  --^ does not work since
   | (tg::tgs) sr tr := ...
2017-01-17 19:27:59 -08:00
Leonardo de Moura
97b98c58d0 refactor(library): move nat lemmas to library/init/data/nat/lemmas.lean 2017-01-17 17:42:13 -08:00
Joe Hendrix
767ac42dfe chore(library/data): remove redundent decidable_eq instances 2017-01-17 17:34:10 -08:00
Joe Hendrix
5bc5013f16 chore(library/data/bitvec): remove leftover code 2017-01-17 17:34:05 -08:00
Joe Hendrix
985c3697b9 chore(library/data/list): add back copyright notice 2017-01-17 17:33:59 -08:00
Joe Hendrix
24fc68cef4 feat(library/init/category/combinators.lean): add foldl and when 2017-01-17 17:33:50 -08:00
Joe Hendrix
8e2cf491e5 refactor(library/data/list): move theorems to separate modules per lean2 2017-01-17 17:33:45 -08:00
Joe Hendrix
3de9e722e1 feat(library/data/bitvec): additional definitions 2017-01-17 17:33:37 -08:00
Joe Hendrix
d52c3327ba feat(library/data/nat/sub): additional theorems 2017-01-17 17:33:32 -08:00
Joe Hendrix
f244c0e70a feat(library/data/bitvec): add bitvec version of tuple.append 2017-01-17 17:33:24 -08:00
Joe Hendrix
de92ea658a feat(library/data/tuple): add decidable_eq to tuple 2017-01-17 17:33:17 -08:00
Joe Hendrix
9781a0414c feat(library/data/list): add has_decidable_eq to list. 2017-01-17 17:33:09 -08:00
Joe Hendrix
18cbc22791 refactor(library/data/nat): migrate data.nat to lean2 structure 2017-01-17 17:24:37 -08:00
Gabriel Ebner
0d949e0da7 chore(library/module_mgr): explain exceptional case 2017-01-17 17:10:37 -08:00
Gabriel Ebner
c601b9c7bd fix(emacs/lean-server): set safe value of json-false in lean-server-send-command 2017-01-17 17:10:37 -08:00
Gabriel Ebner
8f9e57231a feat(emacs/lean-server): update messages and tasks immediately when server is finished 2017-01-17 17:10:37 -08:00
Gabriel Ebner
7daefedf05 chore(shell/server): remove hard limit on number of reported tasks 2017-01-17 17:10:37 -08:00
Gabriel Ebner
7d9c89b519 feat(emacs/lean-server): show skullbones as soon as server dies 2017-01-17 17:10:37 -08:00
Gabriel Ebner
a230c47178 feat(util/task_queue,emacs,*): highlight running tasks with different background color 2017-01-17 17:10:37 -08:00
Sebastian Ullrich
484bb67d44 fix(frontends/lean/tactic_notation): report state after tactic execution on , 2017-01-17 16:38:00 -08:00
Sebastian Ullrich
6acc2cf8b7 fix(frontends/lean/notation_cmd): some position fixes 2017-01-17 16:38:00 -08:00
Sebastian Ullrich
7b049e7d55 fix(shell/server): prevent empty prefix completion for declarations 2017-01-17 16:38:00 -08:00
Sebastian Ullrich
59055fd5d0 feat(emacs): new and improved goal and next error buffers 2017-01-17 16:38:00 -08:00
Sebastian Ullrich
568862ea91 chore(emacs): remove unimplemented binding C-c C-p 2017-01-17 16:38:00 -08:00
Scott Morrison
8c723cea72 workaround instruction for gperftools on macOS Sierra 2017-01-17 16:37:06 -08:00
Leonardo de Moura
3178f41cce fix(library/compiler/inliner): applications of definitions marked as [inline] are inlined even if they are not fully applied
see #1316
2017-01-17 16:33:19 -08:00
Gabriel Ebner
b4774e9ed1 fix(library/vm/vm): fix segfault in call_stack_fn 2017-01-17 16:00:01 -08:00
Leonardo de Moura
8e76d079d3 chore(tests/lean/run): fix tests 2017-01-17 15:50:54 -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
7a210a9b62 chore(library/util): style 2017-01-16 22:59:17 -08:00
Leonardo de Moura
e19e5ae212 test(tests/lean/run): test inductive datatypes with non-recursive arguments after recursive ones 2017-01-16 22:59:17 -08:00
Leonardo de Moura
fc00275636 fix(library/compiler/elim_recursors): it was assuming that recursive arguments occur after non recursive ones 2017-01-16 22:59:17 -08:00
Leonardo de Moura
70b7a35cfe fix(library/constructions/has_sizeof): it was assuming that recursive arguments occur after non recursive ones 2017-01-16 22:59: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
Leonardo de Moura
29b7001bff fix(library/equations_compiler/elim_match): avoid nasty inferred types in auxiliary declarations produced by the equation compiler 2017-01-16 22:55:12 -08:00
Leonardo de Moura
cce6e4d58c fix(library/equations_compiler/compiler): fix #1315 2017-01-16 20:01:25 -08:00
Leonardo de Moura
0ad6dec5fd fix(tests/lean/run/converter): fix test 2017-01-16 19:04:52 -08:00
Leonardo de Moura
bfa48ff0c7 fix(frontends/lean/parser): position info when error is inside notation 2017-01-16 10:29:00 -08:00
Leonardo de Moura
eabbc5bb68 chore(library/module_mgr): comment unreachable_code assertion
@gebner, could you please take a look a check whether there is a better fix.
2017-01-15 23:18:44 +01:00
Leonardo de Moura
67226269b4 feat(library/tactic/simp_lemmas): convenient way of adding equational lemmas of a definition to a simp set 2017-01-14 22:16:16 -08:00
Leonardo de Moura
c3b7c54d7c chore(.travis.yml): fix STATIC config 2017-01-14 08:55:02 -08:00