Leonardo de Moura
b1c1d2dfa4
feat(library/init/meta): improve dsimp tactic notation
2017-01-09 17:31:35 -08:00
Leonardo de Moura
0c4c41ae54
feat(library/init/meta): produce nicer error message for overloaded simp/ematch lemma
2017-01-07 14:13:46 -08:00
Leonardo de Moura
13a11b4374
feat(library/init/meta/interactive): add get_eqn_lemmas_for tactic, allow user to provide definition name as an argument to simp
2017-01-06 11:45:09 -08:00
Leonardo de Moura
7ba889b5cf
feat(frontends/lean/tactic_notation): try/repeat for smt_tactic in interactive mode
2017-01-05 18:31:57 -08:00
Leonardo de Moura
384e8bc795
refactor(library/init/meta/smt): move ematch stuff to new file, and remove priority from hinst_lemma
2017-01-04 17:23:06 -08:00
Leonardo de Moura
3a62ca0581
refactor(library/init/meta): move smt tactics to library/init/meta/smt, and add interactive definitions
2017-01-04 09:36:50 -08:00
Scott Morrison
548ca37c47
fix(library/init/meta/interactive): correcting a typo in a comment
2017-01-01 09:34:32 -08:00
Leonardo de Moura
5d825483c4
refactor(library/init/meta/interactive): tactic.interactive.types ==> interactive.types
...
Motivation: we will use auto-quotation for other tactic monads
2016-12-30 18:06:41 -08:00
Leonardo de Moura
b86494f0d4
feat(library/tactic): add destruct tactic that is similar to cases, but does not use revert/intro/clear
...
This tactic is useful for building more complex tactics using ematch and
cc because it does not invalidate cc_state nor ematch_state.
2016-12-30 17:05:24 -08:00
Leonardo de Moura
cc6d4a6ef8
chore(library/init/meta/interactive): typo
2016-12-30 09:04:27 -08:00
Leonardo de Moura
d573704657
feat(library/init/meta): add ac_refl tactic
...
It is basically cc without taking the hypotheses into account.
2016-12-29 19:22:40 -08:00
Leonardo de Moura
b65c774f5b
chore(library/init/meta): opened_namespaces ==> open_namespaces
2016-12-18 23:55:45 -08:00
Leonardo de Moura
d41c403442
feat(library/init/meta/simp_tactic, library/init/meta/interactive): add simp_using_hs
2016-12-17 12:54:04 -08:00
Leonardo de Moura
9f6e71b374
feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
...
If this parameter is set to true, then approximate unification is
used.
closes #1208
2016-12-10 10:24:05 -08:00
Jeremy Avigad
0950b7a49f
feat(library/init/meta/interactive): allow cases on an arbitrary expression
2016-12-10 09:54:03 -08:00
Jeremy Avigad
1dd91c6e6a
feat(library/init/meta/interactive): add fapply
2016-12-10 09:53:53 -08:00
Jeremy Avigad
1ba55e5cda
feat(library/init/meta/interactive): allow metavariable in change tactic
2016-12-10 09:53:36 -08:00
Leonardo de Moura
692701c5ef
feat(library/init/meta): use cheap "reflexivity" after simp and rewrite
...
The idea is to make sure lean doesn't timeout (at reflexivity) when we apply simp or
rewrite in goals such as
(x y : nat) |- x + y + 10000000000 = x + y + 200000000000000
This commit also addresses an issue raised at #1218
2016-12-08 14:41:26 -08:00
Leonardo de Moura
25639f0b72
feat(library/init/meta): add 'pose' tactic
2016-11-24 13:48:16 -08:00
Leonardo de Moura
0554fd5997
fix(frontends/lean): name resolution at tactic execution time
...
This commit also adds a new tactic: tactic.resolve_name
closes #1201
2016-11-24 10:55:39 -08:00
Leonardo de Moura
a4f491a3ad
feat(library/init/meta/interactive): add rename tactic to interactive mode
2016-11-24 09:54:55 -08:00
Leonardo de Moura
3b09865684
feat(library/init/meta/simp_tactic): add tactics for validating simp lemmas
2016-11-23 17:43:55 -08:00
Leonardo de Moura
11ef0b14fd
feat(library/data): add decidable_eq instances for bitvec and tuple
2016-11-23 11:09:24 -08:00
Leonardo de Moura
edaf03ae98
feat(library/init): add more lemmas and define ordered_ring
2016-11-22 20:50:21 -08:00
Leonardo de Moura
88b2af3b65
feat(library/init/meta/interactive): add 'exfalso'
2016-11-21 11:41:11 -08:00
Leonardo de Moura
1e14e27cd0
feat(library/init/meta/interactive): add try/solve1 tactics to interactive mode
2016-11-18 16:17:37 -08:00
Leonardo de Moura
6b466114a4
fix(library/init/meta/interactive): resolve name at interactive unfold tactics
2016-11-18 16:14:03 -08:00
Leonardo de Moura
bfae8f347b
feat(library/init/meta/interactive): cases tactic takes arbitrary expressions
2016-11-18 12:51:53 -08:00
Leonardo de Moura
e5d69fef35
fix(library/init/meta/interactive): bug at mk_simp_set
2016-11-16 17:42:16 -08:00
Leonardo de Moura
40fca8efd4
feat(frontends/lean): add tactic.save_type_info, preserve pos info at translate
2016-11-10 11:51:05 -08:00
Leonardo de Moura
205d524409
refactor(library/tactic/simplify): delete old simplifier
2016-10-19 14:03:14 -07:00
Leonardo de Moura
ef23c591fc
feat(library/init/meta): implement unfold tactics in Lean using new building blocks
2016-10-12 17:25:56 -07:00
Leonardo de Moura
d655310ecf
feat(library/init/meta): rename rsimp* back to dsimp*
2016-10-11 16:37:08 -07:00
Leonardo de Moura
231c124be8
feat(library/init/meta): rename dsimp => rsimp, and add primitive tactic that takes an arbitrary simp_lemmas
2016-10-09 10:02:26 -07:00
Leonardo de Moura
a78e8fb11a
refactor(library/tactic/simp_lemmas_tactics): consistent naming
2016-10-09 09:37:20 -07:00
Leonardo de Moura
0d74ad97a7
chore(library/init): definition => def
2016-10-06 16:04:12 -07:00
Leonardo de Moura
d549044d27
feat(library/init/meta,library/tactic/simplifier): user defined simp attributes
2016-10-03 21:39:17 -07:00
Leonardo de Moura
e2f70371cc
feat(library/init/meta/interactive): add erewrite
2016-10-03 09:21:53 -07:00
Leonardo de Moura
c0022253a7
feat(frontends/lean/tactic_notation): allow lemmas to be removed
2016-09-30 19:53:51 -07:00
Leonardo de Moura
fd6dc8154a
feat(library/init/meta/interactive): add interactive tactics
2016-09-30 19:02:45 -07:00
Leonardo de Moura
9ea858e6fe
feat(frontends/lean/tactic_notation): nested interactive tactics
2016-09-30 14:53:07 -07:00
Leonardo de Moura
23ce2b0587
feat(frontends/lean/tactic_notation, library/init/meta/interactive): add "interactive" versions of define/assert/definev/assertv/note tactics
2016-09-29 18:48:32 -07:00
Leonardo de Moura
cb248bddb5
feat(library/init/meta/interactive): improve rewrite tactic interface in "interactive" mode
2016-09-28 21:56:11 -07:00
Leonardo de Moura
09bf8921fe
chore(library/init/meta/interactive): improve error message
2016-09-27 14:55:10 -07:00
Leonardo de Moura
c6ec659bf5
feat(frontends/lean): improve 'begin...end' blocks
2016-09-27 13:34:11 -07:00
Leonardo de Moura
bbf21b4e65
feat(frontends/lean/begin_end_block): auto-quote identifiers
2016-09-25 17:25:21 -07:00
Leonardo de Moura
8b132c758a
feat(frontends/lean/begin_end_block): add basic auto-quotation
2016-09-25 17:03:12 -07:00
Leonardo de Moura
97261fcc48
feat(frontends/lean): add very basic 'begin ... end' block support
2016-09-24 21:27:27 -07:00