Commit graph

123 commits

Author SHA1 Message Date
Daniel Selsam
e1bc0a68e6 refactor(simplifier): port skeleton to new tactic framework
Conflicts:
	library/init/meta/tactic.lean
	src/library/tactic/tactic_state.cpp
2016-06-24 15:20:40 -07:00
Daniel Selsam
9327d85f6c chore(library/defeq_simplifier): move to new module inside library/tactic 2016-06-22 17:18:57 -07:00
Leonardo de Moura
e7f1f409c4 refactor(kernel): simplify kernel type_checker
TODO: cleanup, move justification/metavar/constraints to library
2016-03-18 16:28:42 -07:00
Leonardo de Moura
05f58547c5 chore(library/type_context): rename type_context to old_type_context
We are going to implement a new type_context object.
2016-03-04 10:51:04 -08:00
Leonardo de Moura
d54a67cf2e fix(library): compilation warnings on OSX 2016-03-03 10:02:00 -08:00
Leonardo de Moura
4e67a35179 feat(library/blast/blast): add missing Let case, and comment to indicate
performance problem
2016-03-01 13:47:43 -08:00
Daniel Selsam
c23528b5d8 feat(library/blast/blast): use defeq_simplifier to normalize 2016-03-01 13:44:33 -08:00
Leonardo de Moura
f3648e2ac8 refactor(library/blast/blast): remove old hack 2016-03-01 12:24:24 -08:00
Leonardo de Moura
56d7fc4c23 refactor(*): cleanup replace_visitor subclasses, and make sure let-expressions are handled 2016-02-29 16:55:19 -08:00
Leonardo de Moura
2fd5347901 refactor(library/blast): ppb is not necessary anymore 2016-02-26 15:51:46 -08:00
Leonardo de Moura
eee74ef1b4 refactor(frontends/lean/pp): use abstract_type_context instead of type_checker 2016-02-26 15:35:29 -08:00
Leonardo de Moura
7d61f640f6 refactor(*): add abstract_type_context class 2016-02-26 14:17:34 -08:00
Leonardo de Moura
5a4dd3f237 feat(library/reducible): remove [quasireducible] annotation 2016-02-25 17:42:44 -08:00
Leonardo de Moura
146edde5b3 feat(library/class): mark instances as quasireducible by default
quasireducible are also known as lazyreducible.

There is a lot of work to be done.
We still need to revise blast, and add a normalizer for type class
instances. This commit worksaround that by eagerly unfolding
quasireducible.
2016-02-25 12:11:29 -08:00
Leonardo de Moura
c9e9fee76a refactor(*): remove name_generator and use simpler mk_fresh_name 2016-02-11 18:05:57 -08:00
Leonardo de Moura
668758c44e fix(library/blast/blast): compilation warning on OSX 2016-02-05 13:02:02 -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
a713ca9686 feat(library/type_context): add helper method get_num_choice_points 2016-01-26 22:02:25 -08:00
Daniel Selsam
58d41e486c feat(library/trace): register debug trace class 2016-01-13 15:15:15 -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
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
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
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
ba392f504f feat(kernel/expr,library/blast/blast,frontends/lean/decl_cmds): add workaround for allowing users to use blast inside of recursive equations 2016-01-03 21:53:31 -08:00
Leonardo de Moura
9935cbc3d7 feat(library/blast/blast): communicate assigned metavariables back to tactic framework
We need this feature to be able to solve (input) goals containing
metavariables using blast.
See new test for example.
2016-01-02 20:05:44 -08:00
Leonardo de Moura
56d9b6b0d3 fix(library/blast/blast): convert uref and mref back into tactic metavariables 2016-01-02 19:23:04 -08:00
Leonardo de Moura
d85b4300b1 fix(library/blast/blast): bug at visit_meta_app 2016-01-02 19:08:56 -08:00
Leonardo de Moura
23836f53bb feat(library/blast): do not display inactive hypotheses when displaying failure states 2015-12-30 12:08:33 -08:00
Leonardo de Moura
86a5379a96 feat(library/blast): include strategies failure states in the tactic_exception
Reason: better flycheck error messages
2015-12-29 17:14:55 -08:00
Leonardo de Moura
b117a10f82 refactor(library/blast/simplifier): use priority_queue to store simp/congr lemmas, use name convention used at forward/backward lemmas, normalize lemmas when blast starts, cache get_simp_lemmas 2015-12-28 17:52:57 -08:00
Leonardo de Moura
73b28c91a6 fix(library/type_context): local constant management bug 2015-12-15 18:49:26 -08:00
Leonardo de Moura
34e85be970 feat(library/blast): add 'blast.deadend' tracing option 2015-12-09 17:45:36 -08:00
Leonardo de Moura
6abf2fd975 feat(library/blast/congruence_closure): avoid unnecessary propagations in the congruence closure module 2015-12-09 12:17:51 -08:00
Leonardo de Moura
36f3549c44 fix(library/blast/blast): make sure blast uses the given ios options for tracing
They might have been updated using the with_options tactic
2015-12-09 07:21:18 -08:00
Leonardo de Moura
08052c1988 feat(library/blast): improve tracing 2015-12-08 19:53:25 -08:00
Leonardo de Moura
429527eb72 refactor(library/blast): move to new tracing infrastructure 2015-12-08 19:37:06 -08:00
Leonardo de Moura
78533cde0a chore(library/blast/blast): reorg blast tracing 2015-12-08 15:57:25 -08:00
Leonardo de Moura
b145a7332a feat(library/blast/congruence_closure): use new tracing infrastructure 2015-12-08 15:18:21 -08:00
Leonardo de Moura
7da64a768f refactor(library/type_context): with the new tracing infrastructure, type_context doesn't need an io_state 2015-12-08 14:58:08 -08:00
Leonardo de Moura
9b69ccd2f8 feat(library/app_builder): add trace messages to app_builder 2015-12-08 13:43:15 -08:00
Leonardo de Moura
11400edd4a refactor(library/blast): blast strategy framework 2015-12-05 16:55:23 -08:00
Leonardo de Moura
3b40b09a36 refactor(library/blast): rename strategy to strategy_fn 2015-12-05 13:25:20 -08:00
Leonardo de Moura
2682fe9525 feat(library/blast/blast): force 'ne' to be always transparent 2015-12-04 18:24:36 -08:00
Leonardo de Moura
af01e7fea8 chore(library/blast): remove "leftover" file used in the old blast architecture 2015-12-04 17:34:56 -08:00
Leonardo de Moura
4bf9fc2cf5 refactor(library/blast): move simple_strategy to strategies folder
We will add more strategies in the future.
2015-12-04 11:46:56 -08:00
Daniel Selsam
25a3cff54e refactor(library/abstract_expr_manager): remove fun_info_manager 2015-12-04 08:31:38 -08:00
Daniel Selsam
7854158751 fix(library/abstract_expr_manager): only squash Cast subsingletons 2015-12-04 08:31:38 -08:00
Leonardo de Moura
61db311227 chore(library/blast/imp_extension): style 2015-12-04 08:26:03 -08:00
Daniel Selsam
606e28ca99 refactor(library/blast/imp_extension): buffer instead of list 2015-12-04 08:22:46 -08:00
Daniel Selsam
601dc544b6 feat(library/blast/imp_extension): imperative branch extensions 2015-12-04 08:22:46 -08:00