Commit graph

633 commits

Author SHA1 Message Date
Leonardo de Moura
afffd31a7b feat(library/tactic): add match_pattern tactic 2016-06-27 14:26:31 +01: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
72606479ec feat(library/tactic/tactic_state): add get_tactic_vm_state 2016-06-24 15:56:19 -07:00
Daniel Selsam
3915af9592 fix(library/tactic/simplifier): freset cache when adding to context 2016-06-24 15:29:28 -07:00
Leonardo de Moura
77fb7dfd1c chore(library/tactic/simplifier): move tactic_simp to simplifier module 2016-06-24 15:28:05 -07:00
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
Leonardo de Moura
490a116baa refactor(library): remove abstract_expr and abstract_expr_manager modules 2016-06-24 15:16:57 -07:00
Leonardo de Moura
3912da372a feat(library/tactic/defeq_simplifier): invoke defeq_canonize from defeq_simp 2016-06-24 14:46:43 -07:00
Leonardo de Moura
085c52938e feat(library/tactic/defeq_simplifier): add transparency parameter to defeq_simp 2016-06-24 13:31:32 -07:00
Leonardo de Moura
2be8fa646c refactor(library/tactic/defeq_simplifier): move VM binding for defeq_simp 2016-06-24 13:24:11 -07:00
Leonardo de Moura
c8c23adb4d feat(library/abstract_expr): add abstract_eq 2016-06-23 15:17:25 -07:00
Leonardo de Moura
3974a72a73 feat(library/abstract_expr): add abstract_weight 2016-06-23 14:50:23 -07:00
Leonardo de Moura
facdf99e86 feat(library): add abstract_hash 2016-06-23 14:25:29 -07:00
Leonardo de Moura
2b43f591c9 fix(library/type_context): remove m_cache_owner field
This idiom creates problem if we use (even accidentally) the copy constructor.
2016-06-23 14:03:46 -07:00
Leonardo de Moura
8b53e8000a reactor(library/init/meta/congr_lemma): add core tactics for congr_lemmas 2016-06-22 19:34:32 -07:00
Leonardo de Moura
7c1d603cdb refactor(library/init/meta/fun_info): add core tactics for fun_info 2016-06-22 19:26:35 -07:00
Leonardo de Moura
120c48b1b2 feat(library/tactic): expose congr_lemmas
This commit also adds several helper code, and fixes bugs in congr_lemma.cpp
2016-06-22 19:17:08 -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
7390e8afda refactor(library/app_builder): simplify app_builder API 2016-06-22 16:57:49 -07:00
Leonardo de Moura
a29e1b76d3 refactor(library/tactic/revert_tactic): revert take a local instead of a name 2016-06-22 15:20:02 -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
6bda901093 refactor(library/tactic/clear_tactic): clear take a local instead of a name 2016-06-22 15:00:00 -07:00
Leonardo de Moura
61de427699 feat(library/init/meta/fun_info): expose fun_info 2016-06-22 14:00:00 -07:00
Leonardo de Moura
677b40f4b7 feat(tactic/init/meta/tactic): normalize assert, define tactic names 2016-06-21 17:50:30 -07:00
Leonardo de Moura
195512e125 fix(library/type_context, library/tactic/revert_tactic): result must contain also reverted let-decls 2016-06-21 16:32:02 -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
6fa6554b4d fix(library/tactic/intro_tactic): fix 'intron' tactic 2016-06-21 16:30:26 -07:00
Leonardo de Moura
2a2d7530b2 fix(library/tactic/intro_tactic): typo 2016-06-21 16:14:28 -07:00
Leonardo de Moura
d912c31f60 feat(library/tactic/app_builder_tactics): add transparency param to mk_app and mk_mapp tactics 2016-06-21 09:55:18 -07:00
Leonardo de Moura
d03dc18096 chore(library/tactic/tactic_state): add helper methods 2016-06-20 10:47:48 -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
32f382991a feat(library/init/meta/tactic): intro returns new free_var 2016-06-20 09:37:06 -07:00
Leonardo de Moura
05eafa08eb chore(library/tactic/tactic_state): style 2016-06-18 14:55:47 -07:00
Leonardo de Moura
90d07a7360 feat(library/tactic/clear_tactic): add 'clear_fv' tactic 2016-06-18 14:43:57 -07:00
Leonardo de Moura
dc180dcd15 feat(library/tactic/assert_tactic): add 'pose' tactic 2016-06-18 14:28:28 -07:00
Leonardo de Moura
b546167a64 feat(library/tactic/tactic_state): add tactic mk_fresh_name 2016-06-18 13:02:45 -07:00
Leonardo de Moura
5021b02043 feat(library/init/meta/tactic,library/tactic/tactic_state): add tactics for setting options 2016-06-18 12:05:58 -07:00
Leonardo de Moura
5846dc1812 feat(library/tactic/tactic_state): add get_assignment and get_univ_assignment 2016-06-18 11:34:00 -07:00
Leonardo de Moura
6a0f11f705 feat(library/tactic/tactic_state,library/init/meta/tactic): add mk_meta_univ, mk_meta_var, mk_const
This commit also changes the semantics of the unify tactic.
It fails if the arguments are not unifiable.
2016-06-18 11:12:51 -07:00
Leonardo de Moura
f05e0cfa5a fix(library/tactic/apply_tactic): instantiate metavariables before type class resolution 2016-06-18 10:38:54 -07:00
Leonardo de Moura
9cc3fb90ff chore(library/tactic/apply_tactic): remove trace msg 2016-06-18 10:35:12 -07:00
Leonardo de Moura
00717318f0 feat(library/tactic/apply_tactic): add option to disable type class resolution to apply_core 2016-06-18 10:03:38 -07:00
Leonardo de Moura
735aa4ebfa feat(library/tactic/tactic_state): add 'is_class' and 'apply_instance' tactics 2016-06-18 09:51:02 -07:00
Leonardo de Moura
66c6d3b87a feat(library/tactic/apply_tactic): add remove_redundant_goals 2016-06-17 20:21:17 -07:00
Leonardo de Moura
61a845c005 feat(library/tactic): add 'apply' tactic 2016-06-17 20:11:52 -07:00
Leonardo de Moura
ded1fe74c5 refactor(library/init/meta/tactic): implement num_goals in Lean 2016-06-17 16:18:15 -07:00
Leonardo de Moura
b21a3376e0 feat(library/init/meta/tactic): add 'focus' and 'all_goals' tacticals 2016-06-17 16:11:40 -07:00
Leonardo de Moura
6371a8db38 fix(library/tactic/tactic_state): consume solved goals 2016-06-17 15:19:50 -07:00
Leonardo de Moura
0b2ed21561 feat(library/init/meta/tactic): add rotate_left and rotate_right tactics 2016-06-17 15:11:08 -07:00
Leonardo de Moura
c5f92f08b8 feat(library/tactic): add 'assert' tactic
Remark: the new assert tactic does have the problem described in issue #621
2016-06-17 14:42:28 -07:00