Commit graph

27 commits

Author SHA1 Message Date
Leonardo de Moura
94f16d1e44 refactor(library/tactic): move defeq_canonizer::state to tactic_state
It was being stored in the environment before. This was very hackish,
and it was producing a series of unnecessary environment updates, and
thread local caches invalidations.

The new test tests/lean/run/heap.lean is 5x-6x faster after this commit.
2017-01-07 10:17:51 -08:00
Leonardo de Moura
5f87ec3356 feat(library/tactic): allow user to write their own pretty printer for tactic states 2016-12-30 18:58:50 -08:00
Leonardo de Moura
78f81034c6 feat(library): add helper methods 2016-08-29 08:31:33 -07:00
Leonardo de Moura
b317d4bc58 refactor(library/tactic): add hsubstitution module 2016-08-29 08:19:05 -07:00
Leonardo de Moura
206bf613d5 feat(library/tactic/subst_tactic): use substitutions instead of name_map<name> in the subst_tactic (low level) API 2016-08-28 13:29:44 -07:00
Leonardo de Moura
c032505023 chore(library/tactic/subst_tactic): missing '\n' in trace msg 2016-08-25 13:45:04 -07:00
Leonardo de Moura
8e63769413 chore(library/tactic/subst_tactic): remove 'static' to avoid warning in release mode 2016-08-22 09:23:18 -07:00
Leonardo de Moura
1ea3bc1683 fix(library/tactic/cases_tactic): lowlevel interface that gives access to renamed/introduced hypotheses 2016-08-21 15:55:56 -07:00
Leonardo de Moura
f7b9702438 fix(library/tactic/subst_tactic): typo 2016-08-21 15:55:56 -07:00
Leonardo de Moura
0f224ff437 fix(library/tactic/subst_tactic): incorrect depends_on 2016-08-16 11:19:06 -07:00
Leonardo de Moura
2ac7b5afca fix(library/tactic/subst_tactic): typo 2016-07-15 13:52:55 -04:00
Leonardo de Moura
de0ae18dd1 feat(library/tactic/subst_tactic): add low-level subst tactic for internal use 2016-07-14 18:00:29 -04:00
Leonardo de Moura
59f2b9e8c2 refactor(library/type_context): "metavar_context & m_mctx" ==> "metavar_context m_mctx" 2016-06-25 13:08:03 -07:00
Leonardo de Moura
7390e8afda refactor(library/app_builder): simplify app_builder API 2016-06-22 16:57:49 -07:00
Leonardo de Moura
38810ad4c1 refactor(library/tactic/subst_tactic): subst take a local instead of a name 2016-06-22 15:13:49 -07:00
Leonardo de Moura
359b566088 feat(library/tactic/subst_tactic): add tracing for subst tactic 2016-06-21 16:31:53 -07:00
Leonardo de Moura
397ea25e24 fix(library/tactic/subst_tactic): use intermediate state for errors 2016-06-20 10:22:36 -07:00
Leonardo de Moura
73b21b9e48 fix(library): assertion violations 2016-06-17 13:16:17 -07:00
Leonardo de Moura
cb9b5650b7 feat(library/tactic): add 'subst' tactic 2016-06-14 21:01:57 -07:00
Leonardo de Moura
aeee79da2b chore(library): library/tactic => library/old_tactic 2016-06-06 16:38:27 -07:00
Leonardo de Moura
d8079aa16a refactor(library): create copy of the kernel type_checker in library
Motivation: it will allow us to simplify the kernel type_checker and
make sure it implements the same API provided by type_context
2016-03-18 14:34:10 -07: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
69be4c720c fix(library/tactic/subst_tactic): bug in 'subst' tactic 2015-06-12 12:11:44 -07:00
Leonardo de Moura
d0d3f9bb41 refactor(kernel,library,frontends/lean): add helper functions, and cleanup collect_locals 2015-06-05 17:29:36 -07:00
Leonardo de Moura
68688ecdf6 fix(library/tactic/subst_tactic): in the standard mode, use dependent elimination in the subst tactic (when needed)
Before this commit, the subst tactic was producing an type incorrect
result when dependent elimination was needed (see new test for an example).
2015-06-03 17:36:04 -07:00
Leonardo de Moura
d0987eb3ac feat(library/tactic): add 'subtvars' tactic 2015-05-25 16:36:44 -07:00
Leonardo de Moura
a3f23d5233 feat(library/tactic): add improved 'subst' tactic 2015-05-25 15:03:59 -07:00