Commit graph

3670 commits

Author SHA1 Message Date
Sebastian Ullrich
f8cfc4ea1b feat(kernel/error_msgs,frontends/lean/elaborator): add more context to 'type/function expected' errors 2017-07-21 01:46:31 -07:00
Sebastian Ullrich
ae5bc52d97 fix(frontends/lean/elaborator): pass expected type through visit_function 2017-07-20 01:58:29 -07:00
Sebastian Ullrich
a1066525ca feat(init/meta/interactive): auto-generalize inductive major premise args
Like Isabelle
2017-07-20 01:51:00 -07:00
Sebastian Ullrich
9ed72acabe fix(frontends/lean/builtin_exprs): allow constant patterns in do notation 2017-07-20 01:51:00 -07:00
Sebastian Ullrich
7d39b3e948 refactor(init/meta/interactive): merge generalize and generalize2 and introduce nicer syntax 2017-07-20 01:51:00 -07:00
Gabriel Ebner
e94095cdf3 chore(library/tactic/cases_tactic): add a bit more information to error message 2017-07-18 09:07:09 +01:00
Sebastian Ullrich
9c2d42b269 fix(frontends/lean/parser): to_pattern_fn: replace invalid choice pattern with sorry
Fixes #1749
2017-07-17 14:59:07 +02:00
Gabriel Ebner
246d71f3ff feat(library/equations_compiler): error recovery 2017-07-16 05:17:38 -07:00
Gabriel Ebner
9367e94900 fix(frontends/lean/pp): hide proof terms in non-proofs by default
This is mainly to reduce clutter.  Proof term printing can still be
forced using the `pp.proofs` option.
2017-07-15 22:21:22 +01:00
Gabriel Ebner
37d9e03cc1 feat(frontends/lean/pp): show substituted expressions for delayed abstractions
@leodemoura I tried to look up the unique names in the local context,
but this pretty much always fails.  AFAICT we never remember the local
context when pretty-printing expression texts.
2017-07-15 21:34:05 +01:00
Gabriel Ebner
9dcd95df2f chore(tests/lean/anc1): fix tests 2017-07-15 21:13:33 +01:00
Gabriel Ebner
68ee9396c6 fix(frontends/lean/parser): support backtracking from empty expressions
Fixes #1745.
2017-07-15 11:12:09 +01:00
Gabriel Ebner
3392aa90b5 fix(frontends/lean/definition_cmds): support parameters in mutual defs 2017-07-13 15:14:46 +01:00
Gabriel Ebner
ecf7e3d2d8 feat(tests): test overriden VM functions on small values 2017-07-11 23:00:09 +01:00
Gabriel Ebner
8f31cff99b chore(tests): move 1723 test to the expected output tests 2017-07-09 08:05:05 +02:00
Josh Pollock
ee55a03205 fix(src/library/vm,tests/lean): fixes #1723 2017-07-09 08:05:05 +02:00
Leonardo de Moura
8dcccd3bfc fix(frontends/lean/parser): make sure imax and max level arguments are parsed using the same precendence we use to parse application arguments
This commit addresses an issue raised by @digama0 on the Lean slack channel.
2017-07-07 12:43:07 -07:00
Leonardo de Moura
9555a104d6 feat(library/init/meta/tactic): simplify ‹p› notation
@jroesch See the new test :)
2017-07-07 12:05:02 -07:00
Sebastian Ullrich
ac8de2472e feat(library/tactic/induction_tactic): clear hypothesis before introducing new ones 2017-07-07 10:06:30 -07:00
Leonardo de Moura
91f4fd9507 fix(library/equations_compiler/elim_match): undo bcf44f7
See issue #1739

Main problem with this commit: the counter-examples for non-exhaustive matches will be
cryptic when using nested inductive types.
2017-07-07 09:16:07 -07:00
Sebastian Ullrich
2bfdcc9069 chore(tests/lean/interactive/info_tactic): make independent of stdlib tactics 2017-07-07 11:22:12 +02:00
Sebastian Ullrich
99a87a9d01 chore(tests/lean/interactive/complete_field): remove. Not supported with new field notation anyway. 2017-07-07 11:22:10 +02:00
Leonardo de Moura
ced4b6a54d fix(library/init/meta/interactive): fixes #1733 2017-07-06 22:34:24 -07:00
Leonardo de Moura
38c2c7dae8 feat(library/equations_compiler/elim_match): extend is_value_transition trick to other infinite types 2017-07-06 22:10:23 -07:00
Gabriel Ebner
bcf44f7020 fix(library/equations_compiler): do not unfold generalized inductives 2017-07-06 22:04:58 -07:00
Gabriel Ebner
de587f938c fix(library/equations_compiler): always use ite for string literals 2017-07-06 22:04:58 -07:00
Gabriel Ebner
50821c9fac feat(library/equations_compiler): unpack counter-examples in wf recursion 2017-07-06 22:04:58 -07:00
Gabriel Ebner
4286adf868 feat(library/equations_compiler): use underscores for variables in missing cases 2017-07-06 22:04:58 -07:00
Gabriel Ebner
4fee7eaa70 feat(library/equations_compiler/elim_match): provide counter-examples for non-exhaustive matches 2017-07-06 22:04:58 -07:00
Leonardo de Moura
0cfb48c095 fix(library/equations_compiler/util): PR #1731 2017-07-06 21:29:23 -07:00
Sebastian Ullrich
c209cdc8be fix(kernel/inductive/inductive): identify indices modulo whnf 2017-07-06 20:59:58 -07:00
Sebastian Ullrich
d386e65775 fix(library/equations_compiler/util): noequation: guess arity modulo whnf 2017-07-06 20:59:58 -07:00
Gabriel Ebner
d610709a53 fix(frontends/lean/print_cmd): report error on unknown identifier 2017-07-06 19:58:30 +02:00
Gabriel Ebner
f55d10bb50 chore(tests/lean/interactive): fix tests 2017-07-06 16:32:50 +02:00
Leonardo de Moura
514c1e30c9 fix(library/tactic/dsimplify): issue reported by @semorrison at gitter
`dsimp` option `unfold_reducible` was not working correctly.
2017-07-05 21:48:44 -07:00
Leonardo de Moura
cfab344bcc fix(library/delayed_abstraction): fixes #1728 2017-07-05 17:10:18 -07:00
Jeremy Avigad
5fd113f50f feat(library/init/logic): add simp rule for 'true implies p' 2017-07-05 14:26:04 -07:00
Leonardo de Moura
1bc9af53f2 fix(library/init/meta/simp_tactic): fixes #1724 2017-07-05 11:59:23 -07:00
Leonardo de Moura
bb9e3ddae2 feat(library/init/meta/interactive): rw [-h] ==> rw [← h]
@Armael: this change may affect your project.

The file `doc/changes.md` explains the motivation for the change.
2017-07-05 11:42:55 -07:00
Leonardo de Moura
a76e839e5a chore(tests/lean/keyword_tactics): fix test output 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
8ac1ea6b18 feat(frontends/lean/tactic_notation): ignore by keyword in interactive tactic mode 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
30f4b2f2dd refactor(library): list.taken/dropn ~> list.take/drop 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
c8d6b40991 refactor(frontends/lean/builtin_exprs,library): suppose ~> assume : 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
f024ccd75d refactor(frontends/lean/token_table,library): take ~> assume 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
f95f70fe56 feat(frontends/lean/builtin_exprs): support have ... := ... in term mode 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
2b35a9b1f0 fix(frontends/lean/notation_cmd): notation: default binding power for leading tokens to max 2017-07-05 17:30:38 +02:00
Sebastian Ullrich
ad97607307 fix(frontends/lean/tactic_notation): always use quote_scope for parsing interactive parameters
Replace now redundant `qexpr` parser with `parser.pexpr`
2017-07-04 12:20:38 -07:00
Sebastian Ullrich
c3d4c468e6 fix(init/meta/interactive): whnf in assume tactic 2017-07-04 12:20:38 -07:00
Leonardo de Moura
b68fe0d645 chore(tests/lean/interactive): fix test 2017-07-04 11:57:16 -07:00
Leonardo de Moura
dd3616dd16 feat(library/init/meta/interactive): simp_all ==> simp * at *
cc @Kha
2017-07-04 11:57:16 -07:00