Commit graph

74 commits

Author SHA1 Message Date
Daniel Selsam
c3d44249bc feat(simplifier): take list of lemmas and tactic as args to simplify 2016-07-09 10:10:59 -07:00
Leonardo de Moura
9e1c4b5c99 feat(library/init/meta): add helper functions, improve contradiction tactic 2016-07-05 18:34:48 -07:00
Leonardo de Moura
7bbd43ba5e chore(library/init/meta/tactic): cleanup mk_eq_simp_ext 2016-07-04 17:32:16 -07:00
Daniel Selsam
ba756eec4b chore(library/meta/tactic): remove duplicate todo 2016-07-04 17:14:14 -07:00
Daniel Selsam
ac57795871 feat(init/meta/tactic): mk_eq_simp_ext helper 2016-07-04 17:13:41 -07:00
Leonardo de Moura
3b6b487e43 feat(library/init/meta/tactic): add 'focus', 'first', 'solve' and LCF-style AND_THEN tactical 2016-06-29 01:07:41 +01:00
Daniel Selsam
f273ccb077 feat(meta/lean/tactic): dsimp_at 2016-06-28 23:52:45 +01:00
Leonardo de Moura
f64db53751 refactor(library/init/meta/tactic): simplify 'simp' tactic 2016-06-28 17:51:22 +01:00
Leonardo de Moura
f1986b57e9 feat(library/init/meta/tactic): 'revert' tactic returns the number of actually reverted hypothesis 2016-06-28 15:36:50 +01:00
Leonardo de Moura
48d6319c1c feat(library/init/meta/tactic): add 'when_tracing' tactical 2016-06-28 11:29:39 +01:00
Leonardo de Moura
dbeb0fec16 feat(library/init/meta): export reducible and semireducible to tactic namespace 2016-06-28 10:31:01 +01:00
Leonardo de Moura
d524ab013f refactor(library/init/meta): make sure 'transparency' is the first argument 2016-06-28 10:25:38 +01:00
Leonardo de Moura
669f8fc9df feat(library/init/meta/tactic): make sure to_format ==> to_tactic_format has higher priority 2016-06-27 14:34:55 +01:00
Leonardo de Moura
dea0374055 feat(library/init/meta/tactic): add has_to_tactic_format instance for list 2016-06-27 14:06:18 +01:00
Leonardo de Moura
583a55c7c3 refactor(library): move 'none', 'some', 'tt', 'ff' to top-level 2016-06-25 12:39:19 -07:00
Leonardo de Moura
9e60d553e0 feat(library/init/meta): add match_eq and match_heq 2016-06-25 08:07:48 -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
085c52938e feat(library/tactic/defeq_simplifier): add transparency parameter to defeq_simp 2016-06-24 13:31:32 -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
8e68b1b34f refactor(library/init/meta/tactic): merge trace, trace_fmt and trace_expr 2016-06-23 09:29:42 -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
f0ec88c1d3 refactor(library/init/meta): free_var ==> local_const
Use the same names used in the C++ version
2016-06-22 14:48:09 -07:00
Leonardo de Moura
1e005e185a feat(library/init/meta/tactic): more general trace_fmt 2016-06-22 14:14:33 -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
8ad6e5a042 feat(library/init/meta/tactic): implement 'note' using 'assert' instead of 'pose' 2016-06-21 09:59:39 -07:00
Leonardo de Moura
b1413c525c chore(library/init/meta/tactic): add small comment 2016-06-21 09:57:21 -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
0663733d27 fix(library/init/meta/tactic): typo 2016-06-21 08:19:39 -07:00
Leonardo de Moura
1dd427cdeb feat(library/init/meta/tactic): add 'note' tactic 2016-06-20 11:05:01 -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
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
724d356c42 feat(library/init/meta/tactic): add 'get_arity' 2016-06-18 13:03:21 -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
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
61a845c005 feat(library/tactic): add 'apply' tactic 2016-06-17 20:11:52 -07:00
Leonardo de Moura
154f02ca32 feat(library/init/meta/contradiction_tactic): add 'exfalso' tactic 2016-06-17 17:35:53 -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
ee888e9872 feat(library/init/meta/tactic): add 'now' tactic 2016-06-17 16:15:32 -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
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