Leonardo de Moura
37bc2133ec
fix(library/tactic/dsimplify): make sure dsimp only unfold reducible constants when matching
...
fixes #1327
2017-01-21 22:38:17 -08:00
Gabriel Ebner
d4879b74cd
chore(tests/lean/run/destruct): fix test
2017-01-21 10:28:46 +01:00
Leonardo de Moura
9c9cad6ae8
test(tests/lean/interactive): add regression test for #1313
2017-01-20 21:48:19 -08:00
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
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
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
Sebastian Ullrich
484bb67d44
fix(frontends/lean/tactic_notation): report state after tactic execution on ,
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
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
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
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
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
a6ef7f52a9
chore(tests/lean/run): repair SMT tests
2017-01-13 13:36:19 -08:00
Gabriel Ebner
5f790d82cd
fix(test/lean/run/super_tests): fix try_sup API change
2017-01-13 11:33:35 -08:00
Leonardo de Moura
69fd35f068
feat(library/init/meta/smt): add helper tactics and doc-strings
2017-01-13 11:21:20 -08:00
Leonardo de Moura
6f4bcbab20
feat(library/init/meta/smt/ematch): convenient way of marking all equational lemmas of a giving definition as ematch lemmas
2017-01-13 10:35:09 -08:00
Leonardo de Moura
c1ecaf4edd
feat(library/tactic/smt/smt_state): do not apply intros automatically in begin[smt]...end blocks
2017-01-12 21:49:17 -08:00
Leonardo de Moura
30cea2dceb
fix(frontends/lean): auxiliary bind-application in do-notation was not allowing us to obtain type information for the monadic actions.
...
The new test exposes the problem.
2017-01-12 18:38:31 -08:00
Gabriel Ebner
b5ac381a5e
chore(frontends/lean/print_cmd): update print command to keyword changes
2017-01-12 12:04:37 -08:00
Leonardo de Moura
3967cd28fa
fix(library/vm/vm): curr_fn() may not be available
2017-01-12 11:47:45 -08:00
Leonardo de Moura
cdfa9e655c
test(tests/lean/vm_let_expr): add regression test for bugs fixed in the previous two commits
2017-01-12 11:18:16 -08:00
Leonardo de Moura
7e1db95c79
fix(frontends/lean): doc strings after constants and axioms
2017-01-12 00:22:37 -08:00
Gabriel Ebner
db81e4b5b8
feat(frontends/lean/parser): gracefully handle scanner exceptions in imports
2017-01-11 23:49:44 -08:00
Leonardo de Moura
df91ae3738
fix(library/string,library/init/data/to_string): handle ASCII control characters
2017-01-11 23:44:33 -08:00
Leonardo de Moura
acef1efb86
fix(frontends/lean/pp,library/equations_compiler,library/tactic/smt/congruence_closure): bug at to_char function
2017-01-11 23:44:25 -08:00
Leonardo de Moura
d0c86f13bb
chore(library/init/data/nat): rename nat.less_than to nat.less_than_or_equal as suggested by Rob
2017-01-11 17:47:49 -08:00
Leonardo de Moura
ae56c6d322
feat(frontends/lean/builtin_cmds): improve error message when import is used in the middle of the file
2017-01-11 11:15:29 -08:00
Leonardo de Moura
2df280431a
fix(library/compiler/comp_irrelevant): fix #1302
2017-01-11 11:10:17 -08:00
Sebastian Ullrich
83bddce900
feat(frontends/lean/info_manager,shell/server,emacs/lean-type): info: provide more metadata
...
* docs: attributes, options, identifiers
* location: attributes, imports
2017-01-11 15:29:14 +01:00
Leonardo de Moura
19e20f7e1a
fix(frontends/lean/elaborator): universe elaboration issue
2017-01-10 22:35:12 -08:00
Leonardo de Moura
e256022746
chore(library/init/meta/tactic): avoid the weird 'command' type when auto completing tactics
2017-01-10 14:59:10 -08:00
Sebastian Ullrich
e0ebe9f4a8
fix(frontends/lean/tactic_evaluator): show VM errors on tactic
2017-01-10 14:42:48 -08:00
Sebastian Ullrich
ed4275ae17
fix(frontends/lean/builtin_cmds): do not complete after namespace
...
Most identifiers used with the command are not namespaces yet
2017-01-10 14:42:48 -08:00
Sebastian Ullrich
8eb39bb982
fix(frontends/lean/parser): catch exceptions thrown by sync_command
2017-01-10 14:42:48 -08:00
Leonardo de Moura
00c89f209c
fix(frontends/lean/definition_cmds): fix #1299
2017-01-10 14:38:46 -08:00
Leonardo de Moura
e96bbaee3f
fix(library/type_context): fix #1295
2017-01-10 11:54:38 -08:00
Leonardo de Moura
8e26d200b0
test(tests/lean/run/smt_facts_as_hinst_lemmas): add test for facts as hinst_lemmas
2017-01-10 11:27:22 -08:00
Gabriel Ebner
a586cadfa1
chore(tests/lean/run/super_examples): clean up
2017-01-10 09:07:37 -08:00
Gabriel Ebner
890ba702e6
feat(tools/super/demod): demodulation
2017-01-10 09:07:37 -08:00