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
Leonardo de Moura
83b9769225
fix(library/blast): init_classical_flag
...
The procedure get_namespaces does not return the set of opened
namespaces. I added a comment there to clarify that.
2015-12-04 08:13:19 -08:00