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