Commit graph

36 commits

Author SHA1 Message Date
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