Commit graph

100 commits

Author SHA1 Message Date
Leonardo de Moura
182a8a542e feat(library/tactic/rewrite_tactic): store exception "what" message in rewrite trace 2015-04-29 12:46:41 -07:00
Leonardo de Moura
b790ca9806 fix(library/tactic/rewrite_tactic): type check rewriting steps
closes #550
2015-04-29 12:16:37 -07:00
Leonardo de Moura
28404fe16d fix(library/tactic/rewrite_tactic): second problem reported at issue #548
closes #548
2015-04-24 16:49:32 -07:00
Leonardo de Moura
4148d6b8cc fix(library/tactic/rewrite_tactic): first two problems at issue #548 2015-04-24 16:07:00 -07:00
Leonardo de Moura
ea3407d06d fix(library/tactic): valgrind warnings for still reachable memory 2015-03-28 12:32:57 -07:00
Leonardo de Moura
ac30052a29 fix(library/tactic/rewrite_tactic): apply substitution before trying to rewrite
closes #487
2015-03-23 18:32:52 -07:00
Leonardo de Moura
f6f2c499ae fix(library/tactic/rewrite_tactic): rewrite macros did not implement operator==
This problem was affecting the cache
2015-03-13 19:24:09 -07:00
Leonardo de Moura
cda19f5aa6 feat(library/tactic/rewrite_tactic): improve rewrite tactic error messages
closes #471
2015-03-12 20:49:53 -07:00
Leonardo de Moura
7accd0f1e6 feat(library/tactic/rewrite_tactic): allow rewrite with terms that contains binders
see discussion at #470
2015-03-12 18:07:55 -07:00
Leonardo de Moura
4ea323a2b2 refactor(library/tactic): cleanup common pattern 2015-03-12 14:52:41 -07:00
Leonardo de Moura
7de3d5771d feat(library/tactic/rewrite_tactic): add eta-reduction support at esimp
closes #469
2015-03-12 00:32:31 -07:00
Leonardo de Moura
1490bdad49 feat(frontends/lean): add version of 'exact' tactic (sexact) that enforces goal type during term elaboration 2015-03-06 17:34:45 -08:00
Leonardo de Moura
abd238aef0 feat(*): add [quasireducible] attribute 2015-03-04 22:12:49 -08:00
Leonardo de Moura
7d35d18cad fix(library/tactic/rewrite_tactic): bug when matching terms that expanded into projections 2015-02-22 18:23:10 -08:00
Leonardo de Moura
7fc216183e feat(library/tactic): produce better error message when a tactic fails
closes #348
2015-02-16 18:42:15 -08:00
Leonardo de Moura
5cbdd77ad0 feat(library/tactic/rewrite_tactic): improve matcher in rewrite_tactic
closes #433
2015-02-13 12:40:55 -08:00
Leonardo de Moura
98960cbeda fix(library/tactic/rewrite_tactic): bug in HoTT mode 2015-02-13 10:09:18 -08:00
Leonardo de Moura
058377c8c6 feat(library/tactic/rewrite_tactic): treat iff.refl as trivial step in the rewrite tactic 2015-02-08 17:27:59 -08:00
Leonardo de Moura
e04250f0d8 refactor(library/tactic/rewrite_tactic): use default_converter 2015-02-07 16:44:51 -08:00
Leonardo de Moura
18808d133e refactor(library/tactic/goal): move goal => local_context conversion to goal class 2015-02-06 16:09:59 -08:00
Leonardo de Moura
f10424d729 fix(library/tactic/rewrite_tactic): memory leak 2015-02-06 15:24:09 -08:00
Leonardo de Moura
aa70334f8d feat(library/tactic/rewrite_tactic): add "fold" step 2015-02-06 15:21:49 -08:00
Leonardo de Moura
47bd5e53e2 fix(library/tactic/rewrite_tactic): memory leak 2015-02-06 14:24:10 -08:00
Leonardo de Moura
7aac9f1fdb feat(library/tactic/rewrite_tactic): use expensive convertability checker at reduce_to steps and trivial goal 2015-02-06 13:53:03 -08:00
Leonardo de Moura
5b2a9dacc2 fix(library/tactic/rewrite_tactic): matcher should unfold only reducible constants 2015-02-06 13:44:04 -08:00
Leonardo de Moura
b4139627e5 feat(library/tactic/rewrite_tactic): add option to prevent any kind of constant unfolding when perfoming pattern matching in the rewrite tactic 2015-02-06 13:27:33 -08:00
Leonardo de Moura
ba9557bb94 fix(library/tactic/rewrite_tactic): incorrect assertion 2015-02-06 13:02:50 -08:00
Leonardo de Moura
2e626b29fb feat(library/tactic/rewrite_tactic): allow many constants to be provided in a single rewrite unfold step 2015-02-06 11:03:36 -08:00
Leonardo de Moura
264cedb3a6 fix(frontends/lean/rewrite_tactic): incorrect assertion 2015-02-05 20:02:49 -08:00
Leonardo de Moura
e17ba27596 fix(library/tactic/rewrite_tactic): adjust the behavior of class resolution in rewriter
The solution is not very satisfactory. I should investigate it more.
2015-02-05 19:08:47 -08:00
Leonardo de Moura
ffe0d1186e feat(library/tactic/rewrite_tactic): add "reduce_to" step at rewrite tactic 2015-02-05 13:59:55 -08:00
Leonardo de Moura
116c65bff5 feat(library/tactic/rewrite_tactic): add reduction step to rewrite tactic 2015-02-05 13:42:50 -08:00
Leonardo de Moura
7cdc88701d feat(library/tactic/rewrite_tactic): add "reduction" step to rewrite tactic 2015-02-05 13:16:05 -08:00
Leonardo de Moura
808521223b feat(library/tactic/rewrite_tactic): support constant unfolding in rewrite tactic 2015-02-05 12:58:30 -08:00
Leonardo de Moura
941b493835 chore(library/tactic/rewrite_tactic): modify param name 2015-02-05 10:04:03 -08:00
Leonardo de Moura
0abfa30ead fix(library/tactic/rewrite_tactic): elaboration bug in the rewrite tactic steps/elements 2015-02-05 10:01:18 -08:00
Leonardo de Moura
14c72e82f6 feat(library/tactic/rewrite_tactic): add support for rewriting hypotheses 2015-02-04 20:04:19 -08:00
Leonardo de Moura
42c2f7eb11 fix(library/tactic/rewrite_tactic): memory leak 2015-02-04 18:40:11 -08:00
Leonardo de Moura
89fde9d829 feat(library/tactic/rewrite_tactic): add maximum number of iterations threshold to rewrite tactic
The idea is to avoid nontermination.
2015-02-04 16:13:15 -08:00
Leonardo de Moura
dc297865d4 chore(library/tactic/rewrite_tactic): fix compilation warnings 2015-02-04 15:34:02 -08:00
Leonardo de Moura
ee079d12f4 feat(library/tactic/rewrite_tactic): remove trivial goal in rewrite_tactic 2015-02-04 15:29:52 -08:00
Leonardo de Moura
e5381679d6 feat(library/tactic/rewrite_tactic): rewrite goal 2015-02-04 15:17:58 -08:00
Leonardo de Moura
09818adf90 feat(library/tactic/rewrite_tactic): elaborate rewrite rule using unifier 2015-02-04 13:51:32 -08:00
Leonardo de Moura
ccae014ef9 feat(library/tactic/rewrite_tactic): ignore inst_implicit arguments when matching applications of declarations which contain them 2015-02-04 12:14:47 -08:00
Leonardo de Moura
0e05c239a5 feat(library/tactic/rewrite_tactic): add custom matcher pluging for rewriter 2015-02-04 11:51:39 -08:00
Leonardo de Moura
d6a7ec4621 chore(library/tactic/rewrite_tactic): fix style 2015-02-04 11:51:39 -08:00
Leonardo de Moura
b4dd2cc729 refactor(library/tactic/rewrite_tactic): more general rewrite step
The rule can be an arbitrary expression.
Allow user to provide a pattern that restricts the application of the rule.
2015-02-04 11:51:39 -08:00
Leonardo de Moura
461fd45efc feat(frontends/lean): allow a different location for each rewrite element 2015-02-04 11:51:39 -08:00
Leonardo de Moura
c845e44777 feat(frontends/lean): parse rewrite tactic 2015-02-04 11:51:39 -08:00
Leonardo de Moura
180cda304e feat(library/tactic): add rewrite tactic skeleton
The tactic has not been implemented yet, but this commit adds all the
support for storing arguments, serializing and deserializing them.
2015-02-04 11:51:39 -08:00