Commit graph

2370 commits

Author SHA1 Message Date
Leonardo de Moura
a7b3dcbc09 perf(library/blast/state): do not add hypotheses that are Pi-expressions into discrimination trees 2016-02-02 18:50:23 -08:00
Leonardo de Moura
c55b10af1b perf(library/type_context): move check_system to strategic places 2016-02-02 16:12:53 -08:00
Leonardo de Moura
b508cf813c perf(library/type_context): small optimization 2016-02-02 15:36:53 -08:00
Leonardo de Moura
bc86e9f179 perf(library/type_context): add caching for type_context::infer 2016-02-02 15:24:57 -08:00
Leonardo de Moura
a7b37d0e09 perf(library/type_context): cache type class resolution failures too 2016-01-29 14:06:47 -08:00
Leonardo de Moura
6b137b7dd3 chore(library/blast/forward/ematch): improve comment 2016-01-29 11:55:51 -08:00
Leonardo de Moura
587c263c28 feat(library/blast/forward/ematch): improve support for casts in the e-matcher 2016-01-29 11:38:43 -08:00
Daniel Selsam
6ed6306c3f fix(library/blast/unit/unit_propagate): use ppb when tracing 2016-01-27 15:23:52 -08:00
Leonardo de Moura
684995640a fix(library/blast/unit/unit_propagate): memory access violation 2016-01-27 15:22:34 -08:00
Leonardo de Moura
fb95b71a5e fix(library/blast/forward/pattern): bug in the pattern inference code 2016-01-27 13:39:19 -08:00
Leonardo de Moura
a713ca9686 feat(library/type_context): add helper method get_num_choice_points 2016-01-26 22:02:25 -08:00
Daniel Selsam
12e148c7b6 feat(library/blast/forward/ematch): even more tracing 2016-01-26 21:40:46 -08:00
Daniel Selsam
2868ec9c43 fix(library/blast/trace): missing pragma 2016-01-26 20:41:01 -08:00
Daniel Selsam
eca079a4fc feat(library/blast/unit/unit_propagate): basic tracing 2016-01-26 20:40:42 -08:00
Leonardo de Moura
810ee9759c fix(library/blast/backward/backward_action): add missing normalize at backward_action, and remove incorrect fix at discrimination tree 2016-01-26 20:35:57 -08:00
Leonardo de Moura
6f6672eaaa fix(library/blast/discr_tree): ignore annotations in discrimination trees 2016-01-26 18:46:40 -08:00
Daniel Selsam
568b3bbeeb feat(library/blast/forward/ematch): trace match-ss 2016-01-24 16:24:24 -08:00
Daniel Selsam
98fb43e991 fix(library/blast/forward/ematch): advance iterator before continuing 2016-01-24 16:23:44 -08:00
Daniel Selsam
753d5d0689 fix(library/blast/grind/intro_elim_lemmas): need to copy expr 2016-01-24 16:23:27 -08:00
Leonardo de Moura
d12067193b fix(library/blast/forward/pattern): residue computation in the ematching module 2016-01-24 16:15:33 -08:00
Leonardo de Moura
38ab1cae9e feat(library/blast/unit/unit_propagate): basic support for "dependent lemmas" at unit propagate
New test contains examples of "dependent lemmas"
2016-01-24 16:02:08 -08:00
Leonardo de Moura
297ef10611 fix(library/blast/congruence_closure): subsingleton propagation in the congruence closure module
We must normalize inferred type.
2016-01-24 14:55:28 -08:00
Leonardo de Moura
3d0ea4c9d1 feat(library/type_context): improve find_unsynth_metavar 2016-01-24 13:39:25 -08:00
Daniel Selsam
b2554dcb8f fix(library/blast/congruence_closure): cannot assume all subterms have been internalized 2016-01-16 20:10:21 -08:00
Leonardo de Moura
19bfbe2df8 fix(library/blast/congruence_closure): uselist initialization (aka add_occurrence)
Make sure it matches the description in the paper.
2016-01-16 19:53:36 -08:00
Leonardo de Moura
1d04160a9b fix(library/blast/congruence_closure): bug at eq_congr_key_cmp::operator()(eq_congr_key const & k1, eq_congr_key const & k2)
It was not implementing the condition described in our paper.
2016-01-16 19:33:24 -08:00
Leonardo de Moura
98319139d9 fix(library/blast/forward/ematch): bug in match_leaf 2016-01-16 10:51:00 -08:00
Daniel Selsam
a883101a3b feat(library/blast/forward/ematch): basic support for heq classes 2016-01-15 21:38:16 -08:00
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