Leonardo de Moura
cb74ef1670
chore(library/init/meta/interactive): fix docstring
2017-12-11 16:27:04 -08:00
Leonardo de Moura
533ddc0279
fix(library/init/meta/interactive): remove buggy generalizing param from with_cases
2017-12-11 16:27:04 -08:00
Leonardo de Moura
b778d77c0c
chore(doc/changes): with_cases and cases changes, - ==> *
2017-12-11 16:27:04 -08:00
Leonardo de Moura
5217ae735d
feat(library/init/meta/interactive): do not make tag longer when constructor/apply create a single subgoal
2017-12-11 16:27:03 -08:00
Leonardo de Moura
f0231f17bc
feat(library/init/meta): propagate tags in constructor-like tactics
2017-12-11 16:27:03 -08:00
Leonardo de Moura
f18aa1d413
chore(tests/lean): fix tests
2017-12-11 16:27:03 -08:00
Leonardo de Moura
5fa857dc69
fix(library/tactic/tactic_state): do not diplay case for empty tag
2017-12-11 16:27:03 -08:00
Leonardo de Moura
ebeb5f713a
feat(library/init/meta/interactive): do not make tag longer when induction/cases create a single subgoal
2017-12-11 16:27:03 -08:00
Leonardo de Moura
53961b12cb
chore(library/data/rbtree/insert): use new case tactic to cleanup proofs
2017-12-11 16:27:03 -08:00
Leonardo de Moura
8bda71af6f
feat(library/init/meta/interactive): new case tactic with support for with_cases and tagging
2017-12-11 16:27:03 -08:00
Leonardo de Moura
bf8fa50481
feat(library/init/data/list/basic): add is_prefix_of and is_suffix_of
2017-12-11 16:27:03 -08:00
Leonardo de Moura
ddfcc2cb0b
feat(library/init/data/list/basic): define decidable_eq (list A) instance manually
...
Motivation: make sure we can use it before we define the tactic `mk_dec_eq_instance`.
2017-12-11 16:27:03 -08:00
Sebastian Ullrich
205fbd8136
chore(.gitattributes): use union merge strategy for doc/changes.md
...
No more changelog merge conflicts \o/
2017-12-11 12:49:10 +01:00
Leonardo de Moura
f1510a82c7
chore(tests/lean): fix tests
2017-12-10 19:30:43 -08:00
Leonardo de Moura
d44996e034
feat(library/init/meta): propagate tag information
2017-12-10 19:15:41 -08:00
Leonardo de Moura
e23db3970a
feat(library/init/meta/tactic): apply tactic return parameter name associated with new metavars
2017-12-10 12:11:58 -08:00
Leonardo de Moura
41cfa1bf63
feat(library/init/meta/tactic): induction tactic returns constructor/param names
2017-12-10 09:46:39 -08:00
Leonardo de Moura
c65376d71c
chore(library/constructions/brec_on): suffix _1 is not needed when naming brec_on functional param
...
Reason: we removed support for mutually inductive datatypes from the
kernel.
This change is relevant for the new goal tagging feature.
2017-12-10 09:37:12 -08:00
Leonardo de Moura
8577fe6984
fix(library/init/meta/interactive): induction ... generalizing ... bug
2017-12-10 08:57:25 -08:00
Leonardo de Moura
f288205cce
feat(library/tactic): goal tagging
2017-12-09 16:29:03 -08:00
Leonardo de Moura
24d5a1592d
fix(library/init): add simp lemmas for auto_param and opt_param
2017-12-09 09:59:00 -08:00
Leonardo de Moura
ef784ce7b8
fix(library/tactic/simp_lemmas): auto_params when adding simp lemmas
2017-12-09 09:47:39 -08:00
Leonardo de Moura
623ff2454b
chore(library/init/meta/interactive): remove TODO
...
We now have `whnf_ginductive`
2017-12-08 11:47:20 -08:00
Leonardo de Moura
49e7a642c3
feat(library/init/meta/interactive): merge ginduction and induction
...
This commit is based on 638b34b16de6443.
The changes were applied manually to make sure all changes are
compatible with our plans to `induction`.
2017-12-07 19:10:10 -08:00
Leonardo de Moura
103598bbe0
chore(library/data/rbtree/insert): use weak_trichotomous as an eliminator
2017-12-07 17:40:52 -08:00
Leonardo de Moura
9fff5ff710
chore(tests/lean/run): fix tests
2017-12-06 16:04:24 -08:00
Leonardo de Moura
c5ed881c59
chore(library/data/rbtree/insert): reduce number of cases using custom elimination principle for balance1/balance2
2017-12-06 15:57:44 -08:00
Leonardo de Moura
5ddab48b1e
chore(library/data/rbtree/basic): cleanup
2017-12-06 13:25:07 -08:00
Leonardo de Moura
84db9e9e43
feat(library/init/meta/interactive): add constructor_matching tactic
2017-12-06 13:17:06 -08:00
Leonardo de Moura
c89e2457bb
feat(library/init/meta/interactive): add cases_type tactic
...
see doc/changes.md
2017-12-06 12:55:10 -08:00
Leonardo de Moura
4f1f15a425
refactor(library/init/meta/match_tactic): cleanup match_tactic interface
2017-12-06 12:52:41 -08:00
Leonardo de Moura
1b34160396
feat(library/tactic/tactic_state): display number of goals
2017-12-06 11:20:09 -08:00
Leonardo de Moura
1ad5a978a1
chore(library/data/rbtree/insert): cleanup
2017-12-06 10:45:58 -08:00
Leonardo de Moura
e00c0de12e
chore(library/data/rbtree, changes.md): cleanup
2017-12-06 09:55:06 -08:00
Leonardo de Moura
a056e87350
fix(library/init/meta/injection_tactic): add support for ginductive datatypes
2017-12-06 09:39:20 -08:00
Leonardo de Moura
03eda2ecc0
feat(library/init/meta/interactive): add cases_matching p tactic
2017-12-05 18:17:44 -08:00
Sebastian Ullrich
14b2c343d0
chore(util/debug): show current task in assertion message
2017-12-05 17:15:55 -08:00
Leonardo de Moura
b06549bc05
feat(library/init/meta): add guard_names { t } tactical
2017-12-05 16:29:46 -08:00
Leonardo de Moura
bc89ebc19c
feat(kernel/inductive): improve how induction hypotheses are named
...
See doc/changes.md
2017-12-05 15:58:09 -08:00
Leonardo de Moura
9dd382f649
chore(tests/lean): fix tests
2017-12-05 15:36:58 -08:00
Leonardo de Moura
a2f55e5d7b
feat(library/tactic/induction_tactic): new name generator for induction and cases tactics
2017-12-05 14:57:36 -08:00
Leonardo de Moura
458958b9fc
feat(kernel/inductive): use ih to name induction hypothesis (instead of ih_1) when there is only one
2017-12-05 13:50:24 -08:00
Leonardo de Moura
0c5ecf6441
feat(library/init/meta/interactive): add iterate n { t }
2017-12-05 12:52:18 -08:00
Leonardo de Moura
52d939b885
chore(library/data/rbtree): use cases h : t to avoid generalize
2017-12-05 12:32:51 -08:00
Leonardo de Moura
6f943d77a2
feat(library/init/meta/interactive): add match_target pat interactive tactic
2017-12-05 12:25:17 -08:00
Leonardo de Moura
b1e8270172
chore(library/init/meta/match_tactic): fix typo
2017-12-05 12:11:04 -08:00
Leonardo de Moura
b5358b1b3e
chore(library/init/meta/interactive): add comment to avoid confusion
2017-12-05 12:07:17 -08:00
Leonardo de Moura
54004d4972
fix(library/tactic/cases_tactic): try to clear input hypothesis when performing dependent elimination
...
The `induction h` tactic tries to clear hypothesis `h` after it is
applied. But, before this commit, `cases h` would only try to clear `h`
when performing non-dependent elimination. This was problematic when
writing tactic scripts for automating proofs.
2017-12-05 11:03:46 -08:00
Leonardo de Moura
6d96741010
feat(library): provide names for constructor arguments
...
Motivation: `cases` and `induction` tactics use these names when the
user does not provide them.
2017-12-04 16:25:16 -08:00
Leonardo de Moura
51a87212fa
chore(frontends/lean/inductive_cmds): remove copy&paste code
2017-12-04 15:56:04 -08:00