Gabriel Ebner
b8f1b16cfe
chore(init/meta/smt/congruence_closure): remove unnecessary line
2017-01-10 09:07:37 -08:00
Gabriel Ebner
e0dd8326c8
feat(tools/super/clause): more compact formatting
2017-01-10 09:07:37 -08:00
Gabriel Ebner
beb355f798
feat(tools/super): clausify during preprocessing
...
Some inference produce terms with large useless redexes such as
(prod.fst (prod.mk _ _)). Since we do normalization during
preprocessing, we can avoid ever even looking at these terms.
2017-01-10 09:07:37 -08:00
Gabriel Ebner
38c311c47a
feat(tools/super/clausifier): fully normalize terms
2017-01-10 09:07:37 -08:00
Gabriel Ebner
244e061f76
refactor(tools/super/simp): do not enable simp by default
...
simp interacts badly with super's term ordering. I believe a better
approach is to pick the term ordering according to the available simp
rules, as in "More SPASS with Isabelle".
2017-01-10 09:07:37 -08:00
Gabriel Ebner
4e1106ffb5
feat(tools/super): use congruence closure
2017-01-10 09:07:37 -08:00
Leonardo de Moura
4f0f989e6f
fix(tests/lean/interactive): expected output
...
@kha The following three tests were broken on my machine. The new
produced output looked correct. So, I updated the expected output files.
Is this ok?
see #1296
2017-01-10 09:05:44 -08:00
Leonardo de Moura
80d0b8d5f5
chore(library,shell): fix style
2017-01-10 09:00:17 -08:00
Sebastian Ullrich
3ae4d0fbee
feat(shell/completion,emacs/lean-company): provide doc string and location with completion candidate
2017-01-10 16:19:32 +01:00
Sebastian Ullrich
2b374cd517
fix(emacs/lean-company): do not highlight prefix of non-prefix match
2017-01-10 12:25:33 +01:00
Sebastian Ullrich
481a217722
feat(shell/completion): prefer exact prefix matches for all completion modes
2017-01-10 12:25:33 +01:00
Sebastian Ullrich
cc3126e944
feat(frontends/lean,library/scoped_ext,shell): complete namespaces
2017-01-10 12:25:33 +01:00
Sebastian Ullrich
fb294f4415
chore(shell/server): info: skip "record" output field if null
2017-01-10 12:25:33 +01:00
Sebastian Ullrich
3c89a79144
feat(shell/completion): sort completions alphabetically (secondary)
2017-01-10 12:25:33 +01:00
Sebastian Ullrich
b04df04120
feat(frontends/lean): rework and simplify completion parsing, enabling completion of empty prefixes
2017-01-10 12:25:33 +01:00
Sebastian Ullrich
7ef1bd1a15
chore(tests/lean/interactive): simplify input format and test full completion output
2017-01-10 12:25:33 +01:00
Leonardo de Moura
25a95e1502
feat(.travis.yml): upload linux binary
2017-01-09 20:49:01 -08:00
Leonardo de Moura
c726f19d32
fix(library/tactic/smt/ematch): warning
2017-01-09 19:28:36 -08:00
Leonardo de Moura
30a962d5e0
test(tests/lean/run): add more tests for the smt_tactic framework
2017-01-09 19:26:29 -08:00
Leonardo de Moura
3acdcaef2c
fix(library/tactic/smt/smt_state): ematch_using should not fail when a ground fact was added but no instance
2017-01-09 19:24:13 -08:00
Leonardo de Moura
a43b856086
feat(library/init/meta/smt): add simp tactics to smt_tactic
...
We can simplify the target without affecting the smt state
2017-01-09 19:19:48 -08:00
Leonardo de Moura
5050e40aec
feat(library/init/meta/smt): add slift smt tactic
2017-01-09 19:07:54 -08:00
Leonardo de Moura
b1c1d2dfa4
feat(library/init/meta): improve dsimp tactic notation
2017-01-09 17:31:35 -08:00
Leonardo de Moura
5d750ba0a4
fix(library/tactic/tactic_state): closes #1293
2017-01-09 16:23:02 -08:00
Leonardo de Moura
7a150b41b9
fix(frontends/lean): fixes #1292
2017-01-09 15:53:37 -08:00
Leonardo de Moura
b89b1dd4c7
chore(tests/lean/run/nested_common_subexpr_issue): typo
2017-01-09 15:36:49 -08:00
Leonardo de Moura
7d540b6d02
fix(frontends/lean/parser): fixes #1290
2017-01-09 15:35:25 -08:00
Leonardo de Moura
b526e30c55
fix(library/compiler/cse): common subexpressions inside common subexpressions were not being eliminated
2017-01-09 11:11:55 -08:00
Leonardo de Moura
694bb5c7b8
feat(library/tactic/smt/ematch): skeleton for AC support
2017-01-08 23:53:57 -08:00
Leonardo de Moura
0a6a09fb3a
fix(library/tactic/smt/hinst_lemmas): pattern normalization issue
2017-01-08 23:35:39 -08:00
Leonardo de Moura
fa4d47edd8
chore(library/init/algebra/ring): document messy problem in the algebraic hierarchy
2017-01-08 23:35:39 -08:00
Leonardo de Moura
5ba414700f
fix(library/tactic/smt/smt_state): canonize at intros
2017-01-08 19:31:04 -08:00
Leonardo de Moura
7ff91ec1ef
feat(library/defeq_canonizer): add trace.defeq_canonizer
2017-01-08 19:31:04 -08:00
Leonardo de Moura
347981097a
chore(tests/lean/run/heap): fix travis build, profiler option is not available in single threaded build
2017-01-08 10:53:34 -08:00
Leonardo de Moura
26949db4f1
fix(library/tactic/smt/smt_state): remove auxiliary hypotheses added by the equation compiler
2017-01-08 10:36:38 -08:00
Leonardo de Moura
a1a5a9ab96
test(tests/lean/run/smt_ematch2): add ematching tests
2017-01-08 10:07:15 -08:00
Leonardo de Moura
9d273d924f
fix(library/tactic/smt/congruence_closure): must check whether constructors have the same type or not
2017-01-08 00:36:57 -08:00
Leonardo de Moura
8a12c834ca
fix(library/tactic/smt/ematch): ematch should not use app_builder since its type_context is already in tmp_mode
2017-01-07 17:06:12 -08:00
Leonardo de Moura
de60233ef1
fix(library/tactic/smt/congruence_closure): subsingleton propagation was introducing non canonical instances
2017-01-07 16:16:36 -08:00
Leonardo de Moura
f56250d41e
chore(library/init/data/nat/lemmas): mark nat.add_zero as protected
2017-01-07 14:17:56 -08:00
Leonardo de Moura
0c4c41ae54
feat(library/init/meta): produce nicer error message for overloaded simp/ematch lemma
2017-01-07 14:13:46 -08:00
Leonardo de Moura
8e315c61e3
fix(library/util): is_eq was returning true for partially applied terms
...
This commit also cleanups many of the is_* predicates
2017-01-07 13:35:53 -08:00
Leonardo de Moura
299751982b
fix(frontends/lean/tactic_evaluator): 'begin [smt] ... end' block nested in regular one
2017-01-07 13:35:43 -08:00
Leonardo de Moura
8069872861
fix(library/tactic/backward/backward_chaining): bug in back_chaining tactic
2017-01-07 11:19:03 -08:00
Leonardo de Moura
b0bcb4af57
chore(tests/lean/run/listex2): fix issue at travis, profiler option is not available in single thread build
2017-01-07 10:39:57 -08:00
Leonardo de Moura
94f16d1e44
refactor(library/tactic): move defeq_canonizer::state to tactic_state
...
It was being stored in the environment before. This was very hackish,
and it was producing a series of unnecessary environment updates, and
thread local caches invalidations.
The new test tests/lean/run/heap.lean is 5x-6x faster after this commit.
2017-01-07 10:17:51 -08:00
Leonardo de Moura
da945e34de
perf(library/equations_compiler/util, library/local_context): preserve instance fingerprint and avoid flushing the cache
2017-01-07 00:17:09 -08:00
Leonardo de Moura
ff455d3ec9
chore(library/vm/vm): warning
2017-01-06 21:22:27 -08:00
Leonardo de Moura
8c652600dd
feat(library/tactic/smt/smt_state): ematch tactics fail if no instance is produced
...
The goal is to avoid nontermination of (repeat {ematch}) when the goal
is not provable. Of course, if there is a matching loop, it will still loop.
2017-01-06 21:20:01 -08:00
Leonardo de Moura
9026b1c57b
chore(tests/lean): fix tests output
2017-01-06 20:30:11 -08:00