Commit graph

11891 commits

Author SHA1 Message Date
Leonardo de Moura
9065cf0350 feat(library/tactic/congruence/theory_ac): add internalization, interface with congruence closure module, and trivial/simp/orient transitions
Still missing: superpose, collapse and compose transitions.
2016-12-28 21:35:16 -08:00
Leonardo de Moura
bb37b33237 fix(library/tactic/ac_tactics): binary.left_comm ==> left_comm 2016-12-28 21:23:07 -08:00
Leonardo de Moura
7f86ad64eb chore(library/unfold_macros): add definition for disabling optimization 2016-12-28 21:23:07 -08:00
Leonardo de Moura
5b6e81ddb9 chore(tests/lean/run/cc1): remove trace option 2016-12-28 09:03:54 -08:00
Leonardo de Moura
caf92bbcc0 feat(kernel/expr): compress expr_macro representation 2016-12-28 09:01:21 -08:00
Leonardo de Moura
80670abb8f fix(library/tactic/congruence/congruence_closure): assertion violation 2016-12-28 08:55:24 -08:00
Sebastian Ullrich
2b0d458094 chore(emacs/lean-util): delete old code 2016-12-27 21:41:02 -08:00
Sebastian Ullrich
98398b16f3 feat(frontends/lean,shell): implement completing options 2016-12-27 21:41:02 -08:00
Sebastian Ullrich
4552fc13f2 chore(tests): add tests for goal at pos 2016-12-27 21:41:02 -08:00
Sebastian Ullrich
3e2d1de21a perf(shell/server,emacs): do not actually compute completions during preliminary 'complete' requests 2016-12-27 21:41:02 -08:00
Sebastian Ullrich
d228c24c81 feat(shell/server,emacs): autocompletion based on server-side parsing 2016-12-27 21:41:02 -08:00
Leonardo de Moura
1d519e4c7b feat(library/tactic/congruence): add theory AC skeleton 2016-12-27 21:38:03 -08:00
Leonardo de Moura
4d0404bd6d chore(library): define rb_expr_tree and rb_expr_map 2016-12-27 20:29:31 -08:00
Leonardo de Moura
b5c1b429e7 feat(library/tactic/ac_tactics): add ac_manager helper class 2016-12-27 17:57:56 -08:00
Leonardo de Moura
aa23ba8714 chore(library/init/algebra): remove unnecessary generality
We can add it back if we find a compelling use case.
2016-12-27 17:40:34 -08:00
Leonardo de Moura
7c06306154 chore(library/type_context): reduce redundancy 2016-12-27 17:19:19 -08:00
Leonardo de Moura
8fcfe0bbd4 feat(library/init/algebra/ac): add helper classes for AC 2016-12-27 16:54:00 -08:00
Leonardo de Moura
d3795b20dd feat(library/defeq_canonizer): remove thread local cache
The goal is to avoid hard to debug behavior because any tactic (e.g., simp/dsimp/cc) using
defeq_canonize was breaking referential transparency.
2016-12-27 12:56:39 -08:00
Leonardo de Moura
244e115412 chore(library/init/data): add more "short-circuit" instances for int/nat 2016-12-27 11:51:42 -08:00
Daniel Selsam
1af202f816 feat(library/tactic/simp_lemmas.cpp): tracing for invalid simp_lemmas 2016-12-27 11:45:07 -08:00
Gabriel Ebner
f8331a0dfe fix(library/tools/super/prover_state): correctly detect sos lemmas 2016-12-27 11:21:52 -08:00
Leonardo de Moura
fb54126d08 fix(library/tactic/congruence/congruence_closure): do not assume instances have been canonized. 2016-12-27 11:19:45 -08:00
Leonardo de Moura
773389f9df feat(library/init/meta/congruence_tactics): add cc_state.gmt and cc_state.inc_gmt 2016-12-27 10:49:20 -08:00
Sebastian Ullrich
daf839e0d5 feat(frontends/lean,shell/server): report current goal anywhere within begin-end/by 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
b10ebade8c chore(tests/lean/interactive/test_single): ignore progress responses 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
33ec940604 perf(shell/server): cancel previous 'info' task before starting a new one 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
88adce1ec3 fix(shell/server): ignore exceptions during reparsing 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
47264ef6fd fix(shell/server,emacs/lean-flycheck): do not report tiny tasks as current 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
fa44dc60cb fix(shell/server): don't send out messages from reparsing 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
5cb06ea912 perf(frontends/lean/parser): break at break_at_pos even if not on an interesting token 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
47e7df9b27 perf(frontends/lean/definition_cmds): skip definition elaboration during reparsing 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
0b5e488954 fix(emacs/lean-server): do not invoke error callback when nil 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
8ccf28abf3 chore(*): remove old code 2016-12-27 10:07:34 -08:00
Sebastian Ullrich
c9a8c02fdc feat(emacs,frontends/lean/parser,shell/server): more accurate info command using server-side parsing 2016-12-27 10:07:34 -08:00
Leonardo de Moura
f719991c71 feat(library/tactic/congruence/congruence_closure): propagate projection over constructor equality 2016-12-26 19:47:29 -08:00
Leonardo de Moura
941bbd3e96 fix(library/tactic/congruence/congruence_closure): crash when processing partially applied constructors 2016-12-26 18:51:03 -08:00
Leonardo de Moura
7a2ae8d40b test(tests/lean/run/ematch1): add ematching example 2016-12-26 18:26:57 -08:00
Leonardo de Moura
15f1c6bab2 chore(library/tactic/congruence/ematch): style 2016-12-26 18:23:57 -08:00
Leonardo de Moura
f3f1ec268b chore(library/init/meta/tactic): make all arguments in id_locked explicit. 2016-12-26 18:22:37 -08:00
Leonardo de Moura
6661faf3da fix(library/tactic/congruence/congruence_closure): but at add_occurrence 2016-12-26 18:13:06 -08:00
Leonardo de Moura
8419219ca6 feat(library/tactic/congruence/congruence_closure): add trace.debug.cc option 2016-12-26 18:13:02 -08:00
Leonardo de Moura
148d34b3bf feat(library/tactic/congruence/congruence_closure): merge annotated term with term being annotated 2016-12-26 16:30:18 -08:00
Leonardo de Moura
cf32e25f68 fix(frontends/lean/pp): pretty print pattern hints 2016-12-26 16:13:41 -08:00
Leonardo de Moura
9e46818563 feat(library/tactic/congruence): ematching 2016-12-26 15:52:18 -08:00
Leonardo de Moura
6a5f6a84cd feat(library/tactic/congruence/hinst_lemma): add heuristic instantiation lemmas 2016-12-25 20:11:58 -08:00
Leonardo de Moura
7d1c48e673 fix(frontends/lean/definition_cmds): "elaboration time" for lemmas was not being reported when using profiler 2016-12-25 16:49:58 -08:00
Leonardo de Moura
61d007892b feat(library/data/stream): add stream module 2016-12-25 16:40:52 -08:00
Leonardo de Moura
9b35adfc8c feat(library/tactic/congruence/congruence_closure): add support for constructor equalities 2016-12-25 12:47:17 -08:00
Leonardo de Moura
7f4160bb4b feat(library/constructions): add helper procedures for building injection and inconsistency proofs for constructor equalities 2016-12-25 12:44:33 -08:00
Leonardo de Moura
a30081a715 feat(library/tactic/congruence/congruence_closure): interpreted values in the same equivalence class 2016-12-25 11:09:55 -08:00