Commit graph

11891 commits

Author SHA1 Message Date
Leonardo de Moura
e2bf4fcddb fix(frontends/lean/tactic_notation): add skip tactic to save intermediate result
@kha, this commit fixes the issue: comma before a `{}` block will show the state inside the block.
2017-01-20 20:58:05 -08:00
Leonardo de Moura
a357c0cab2 chore(tests/lean): fix tests 2017-01-20 20:35:18 -08:00
Leonardo de Moura
c359eba509 feat(tests/lean): add test to make sure simplifier did not introduce unwanted propext 2017-01-20 20:28:49 -08:00
Leonardo de Moura
e8839cbcdc feat(library/app_builder): add mk_eq_mpr that removes unnecessary propext 2017-01-20 20:27:41 -08:00
Leonardo de Moura
4de71cadfa feat(library/init/meta): expose additional app_builder tactics 2017-01-20 20:27:07 -08:00
Leonardo de Moura
f079d05fc2 chore(tests/lean): adjust tests to recent changes 2017-01-20 19:08:41 -08:00
Leonardo de Moura
4e6ad1d34d fix(library/init/meta/contradiction_tactic): make sure contradiction uses whnf for constructor-eq-constructor case 2017-01-20 18:42:27 -08:00
Leonardo de Moura
c62014df7a chore(frontends/lean/parser): style 2017-01-20 18:38:58 -08:00
Leonardo de Moura
bbc99d4aa5 feat(library/data/tuple): make sure tuple.nil and tuple.cons can be used in patterns 2017-01-20 18:38:34 -08:00
Leonardo de Moura
9ed9de18bf feat(frontends/lean/parser): relax pattern validation rules 2017-01-20 18:38:14 -08:00
Leonardo de Moura
0adae9d7c7 chore(library/pp_options): default pp.beta = false 2017-01-20 05:25:28 -08:00
Leonardo de Moura
dae1c9dac2 chore(CMakeLists): make sure we change the version number in a single place 2017-01-19 18:28:51 -08:00
Sebastian Ullrich
3f65690706 feat(emacs/lean-server): print out entire server response on error 2017-01-19 17:50:36 -08:00
Sebastian Ullrich
cc1553d901 fix(emacs/lean-server): dump response before trying to parse it 2017-01-19 17:50:36 -08:00
Sebastian Ullrich
4cba998de3 fix(CMakeLists): minimum g++ version is 4.9 2017-01-19 17:50:36 -08:00
Gabriel Ebner
ecdd17738d feat(emacs): add toggle for pending task highlight 2017-01-19 17:49:35 -08:00
Leonardo de Moura
e8e483534b chore(library/init/meta/decl_cmds): remove unused parameter 2017-01-18 19:44:16 -08:00
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