Commit graph

2342 commits

Author SHA1 Message Date
Daniel Selsam
abbffc7436 feat(library/blast/forward/ematch): more tracing 2016-01-13 22:04:12 -08:00
Leonardo de Moura
8d49e42ec2 fix(library/blast/congruence_closure): user-defined congruence lemmas for equality and relation congruences 2016-01-13 21:59:38 -08:00
Leonardo de Moura
3f7122ce07 feat(library/blast/congruence_closure): more general congruence lemmas 2016-01-13 21:44:32 -08:00
Leonardo de Moura
f0cc98ebb5 chore(library/blast/recursor/recursor_action): disable spurious warning 2016-01-13 17:28:13 -08:00
Leonardo de Moura
b1d32bbaf6 chore(library/blast/forward/ematch): more tracing 2016-01-13 16:28:09 -08:00
Daniel Selsam
ba16d188e6 feat(library/blast/forward/ematch): basic debug tracing 2016-01-13 15:15:15 -08:00
Daniel Selsam
58d41e486c feat(library/trace): register debug trace class 2016-01-13 15:15:15 -08:00
Leonardo de Moura
599ec08c70 feat(library/blast/congruence_closure): add support for eq.rec and cast in the congruence closure module 2016-01-13 14:18:38 -08:00
Leonardo de Moura
c19be9d9e7 feat(library/util): add is_app_of helper function 2016-01-13 13:33:30 -08:00
Leonardo de Moura
8fded5224b chore(library/blast/congruence_closure): improve comment 2016-01-13 13:06:09 -08:00
Leonardo de Moura
3643e79cb3 feat(library/blast/congruence_closure): improve the suppoer for subsingletons in the ematching procedure 2016-01-13 11:17:42 -08:00
Leonardo de Moura
8f7b533ca1 refactor(library): move 'cast' to init folder 2016-01-13 11:17:42 -08:00
Leonardo de Moura
12876ccc20 fix(library/blast/forward/ematch): ematch + subsingleton 2016-01-12 22:31:09 -08:00
Leonardo de Moura
c2b6e3c29c fix(library/blast/recursor/recursor_strategy): deactivate hypotheses before invoking nested strategy 2016-01-12 18:41:14 -08:00
Leonardo de Moura
b40f0ffe8b fix(library/blast/forward/ematch): keep using ematching on implicit arguments
Ematching module should only ignore type classes (i.e., instance
implicit) and subsingletons (which includes propositions).
2016-01-11 15:40:51 -08:00
Leonardo de Moura
bb759b1a90 feat(library/blast/congruence_closure): use blast.cc.heq by default 2016-01-11 11:59:54 -08:00
Leonardo de Moura
5edcccaeb0 feat(library/blast/forward/ematch): add support for the new hcongr lemmas in the ematching module 2016-01-11 11:56:36 -08:00
Leonardo de Moura
32268b71d2 feat(library/app_builder): avoid redundant heq_of_eq(eq_of_heq(H)) proofs 2016-01-10 19:29:34 -08:00
Leonardo de Moura
ddff37dd0f fix(library/blast/congruence_closure): bug when using blast.cc.heq and handling relation congruences 2016-01-10 19:28:55 -08:00
Leonardo de Moura
2b38d0fe9b chore(library/app_builder): improve trace message 2016-01-10 18:31:54 -08:00
Leonardo de Moura
f22ba4e641 feat(library/type_context): cache mk_subsingleton_instance 2016-01-10 18:26:40 -08:00
Leonardo de Moura
799317c43e fix(library/blast/congruence_closure): add missing eq => heq lifting 2016-01-10 18:03:35 -08:00
Leonardo de Moura
cf8307ee20 feat(library/app_builder): use types in app_builder trace messages 2016-01-10 17:29:11 -08:00
Leonardo de Moura
3a846a28a3 feat(library/blast/congruence_closure): support for subsingleton propagation 2016-01-10 17:24:12 -08:00
Leonardo de Moura
c646c3cacc feat(library/init/logic): add subsingleton.helim with heterogeneous equality 2016-01-10 16:47:45 -08:00
Leonardo de Moura
6c015a4954 feat(library/blast/blast): use blast tmp_type_context to generate type class instances 2016-01-10 16:30:51 -08:00
Leonardo de Moura
912bccb3f9 fix(library/blast/congruence_closure): do not adjust proofs when blast.cc.heq == false 2016-01-10 15:28:16 -08:00
Leonardo de Moura
e9d24ec152 feat(library/blast/congruence_closure): create simpler congruence proofs when using blast.cc.heq 2016-01-10 15:11:31 -08:00
Leonardo de Moura
ea7da31bba feat(library/blast/congruence_closure): support for congruence lemmas that use heterogeneous equality 2016-01-10 13:45:40 -08:00
Leonardo de Moura
934f3b67ff feat(library/blast/congruence_closure): basic support for heterogeneous equality
We still have to process the general congruence lemmas.
2016-01-10 12:53:05 -08:00
Leonardo de Moura
22a6b7f1c3 feat(library/blast/congruence_closure): add blast.cc.heq option 2016-01-10 00:15:52 -08:00
Leonardo de Moura
437b0fb4ee feat(library/congr_lemma_manager): cache hcongr lemmas 2016-01-09 15:48:17 -08:00
Leonardo de Moura
42cdda227a feat(library/congr_lemma_manager): add heterogeneous equality congruence lemmas 2016-01-09 15:41:08 -08:00
Leonardo de Moura
403966792d feat(library/app_builder): add helper heq methods 2016-01-09 12:46:14 -08:00
Leonardo de Moura
d3242a2068 refactor(library): rename heq.of_eq heq.to_eq auxiliary lemmas 2016-01-09 12:32:18 -08:00
Leonardo de Moura
27eea05da9 fix(library/blast/discr_tree): bug in the discrimination tree module 2016-01-06 17:30:44 -08:00
Leonardo de Moura
3c22a9d4e1 feat(library/blast/recursor/recursor_strategy): add new options to control recursor/recursion strategy 2016-01-06 17:30:38 -08:00
Leonardo de Moura
76cebb45f9 feat(library/blast/congruence_closure): add support for 'no_confusion' in the congruence closure module 2016-01-06 17:30:25 -08:00
Leonardo de Moura
cb02d1deae feat(library/blast/congruence_closure): add support for specialized congr lemmas in the congruence closure module 2016-01-06 17:30:20 -08:00
Leonardo de Moura
ef691d6cf5 fix(library/abstract_expr_manager): bug introduced today 2016-01-06 17:30:14 -08:00
Leonardo de Moura
c9930d0a29 feat(library/blast/simplifier/simplifier): subsingleton normalization for application arguments and lambdas 2016-01-06 17:30:08 -08:00
Leonardo de Moura
e7bcb89314 fix(library/simplifier/simplifier): bug in cache_lookup 2016-01-06 17:30:01 -08:00
Leonardo de Moura
14d4ae7e97 chore(library/blast/simplifier/simplifier): remove dead variable 2016-01-06 17:29:54 -08:00
Leonardo de Moura
9fa1a7a01c refactor(abstract_expr_manager): use get_specialization_prefix_size to improve performance of abstract_expr_manager 2016-01-06 17:29:48 -08:00
Leonardo de Moura
d4a5aa6db0 refactor(library/fun_info_manager): improve performance and add get_prefix method 2016-01-06 17:29:41 -08:00
Leonardo de Moura
f3b8aef24c feat(library/fun_info_manager,library/congr_lemma_manager,blast/simplifier): specialized congruence lemmas
We still need a lot of polishing.
2016-01-06 17:29:35 -08:00
Leonardo de Moura
9a1a9f3b5a refactor(library/fun_info_manager): use expr_unsigned_map 2016-01-06 17:29:22 -08:00
Leonardo de Moura
7312dd77b8 refactor(library/congr_lemma_manager): move expr_unsigned_map to separate module 2016-01-06 17:29:16 -08:00
Leonardo de Moura
43c5cbd1bf feat(library/fun_info_manager): more general fun_info_manager 2016-01-06 17:29:10 -08:00
Leonardo de Moura
3ca785b0e7 refactor(library/fun_info_manager): remove dead code 2016-01-06 17:29:02 -08:00