Commit graph

9070 commits

Author SHA1 Message Date
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
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
aaa59085b3 fix(emacs/lean-mode): lean-execute: don't clobber compile-command 2017-07-07 17:19:23 +02: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
820286c02c fix(library/equations_compiler/elim_match): check for forward dependencies with string literal matches 2017-07-06 22:04:58 -07:00
Gabriel Ebner
bcf44f7020 fix(library/equations_compiler): do not unfold generalized inductives 2017-07-06 22:04:58 -07:00
Gabriel Ebner
5e94ecc841 chore(library/equations_compiler): style 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
c7928c16b3 fix(shell/server): do not cancel hole commands
Nonterminating hole commands are caught by the timeout anyway.
Fixes #1729.
2017-07-06 16:29:57 +02:00
Gabriel Ebner
adfa713dea fix(shell/server): report interrupted exception 2017-07-06 16:28:41 +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
1da0bb8f79 chore(library/tactic/smt/smt_state): remove unnecessary include 2017-07-05 21:03:49 -07:00
Leonardo de Moura
e7ffdb5125 chore(emacs/lean-syntax): remove old keywords 2017-07-05 17:28:11 -07:00
Leonardo de Moura
cfab344bcc fix(library/delayed_abstraction): fixes #1728 2017-07-05 17:10:18 -07:00
Leonardo de Moura
1bfaf19277 chore(library/delayed_abstraction): clarify delayed_abstraction API 2017-07-05 16:40:45 -07:00
Leonardo de Moura
c631a4cd4a chore(CMakeLists.txt): trying to fix Windows build 2017-07-05 11:48:04 -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
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
2f73a38637 refactor(frontends/lean/builtin_exprs): simplify parse_have 2017-07-05 11:20:10 -07:00
Sebastian Ullrich
2ca44459ba feat(init/meta/interactive): add from synonym for exact 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
Leonardo de Moura
3175cc6923 fix(CMakeLists.txt): increase thread stack space on OSX
closes #1721

On OSX, the default thread stack space is quite small (512Kb), and
each stack frame is quite big in Debug mode.
2017-07-04 18:00:21 -07: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
faf65d2a77 feat(emacs/lean-dev): add lean-diff-test-file command for development 2017-07-04 12:20:38 -07:00
Gabriel Ebner
b0185774a4 fix(library/vm/vm_expr): do not use expr_var as both function and class name 2017-07-04 09:10:35 +02:00
Leonardo de Moura
abef98c772 refactor(library/init/meta/simp_tactic): make sure dunfold tactics use name convention used at simp, dsimp, ... 2017-07-03 21:36:17 -07:00
Leonardo de Moura
6b3e28d30b feat(library/init/meta/simp_tactic): add option for reducing [reducible] definitions at dsimp, and to_unfold : list name similar to the one in the simp tactic
This complete addresses the two pending items at 16711fcdba
2017-07-03 13:28:46 -07:00
Leonardo de Moura
16711fcdba feat(library/tactic/dsimplify): new configuration options for dsimp
TODO for `dsimp`:
- Add an option for reducing [reducible] definitions
- Add (to_unfold : list name) similar to the one in the `simp` tactic
2017-07-02 18:26:03 -07:00
Leonardo de Moura
df091f5c34 feat(library/init/meta/interactive): simp and unfold can unfold projection applications
@Armael: we finally can write `simp [proj]` to unfold the `proj`
projection application.

Remark: we still need to add similar support for `dsimp`.
2017-07-02 16:28:04 -07:00
Leonardo de Moura
76eed7cb41 chore(library/init/meta): add to_unfold parameter to simplify, and remove redundant simp* tactics
Remark: the `to_unfold` has not been implemented yet.
2017-07-02 15:26:06 -07:00
Leonardo de Moura
d73facb8bc feat(library/init/meta/expr): add expr.has_local_in 2017-07-01 20:23:37 -07:00
Leonardo de Moura
4604d7fd5a feat(library/init/meta): allow users to specify tactic for discharging subgoals in the simp tactic family
@dselsam @Armael: this feature may be useful for you.
The doc/changes.md describes many other new features.
2017-07-01 15:35:33 -07:00
Leonardo de Moura
7c35fae9e3 refactor(library/init/meta/simp_tactic): merge simplify_core and simplify 2017-07-01 14:13:49 -07:00
Leonardo de Moura
799f0711d6 refactor(library/init/meta/simp_tactic): cleanup simp_lemmas.rewrite_core and simp_lemmas.drewrite_core 2017-07-01 13:04:26 -07:00
Leonardo de Moura
95c7c697a6 refactor(library/tactic/simp_lemmas): simp set generation should not be affected by transparency setting 2017-07-01 12:54:37 -07:00
Leonardo de Moura
677ffd761d chore(library/tactic/simp_lemmas): do not use whnf when adding simp_lemmas
If the users want to normalize, then should use dsimp (or similar
tactic), before adding lemma to simp set.
2017-07-01 12:31:35 -07:00
Leonardo de Moura
e41c4d384d chore(library/tactic/simp_lemmas): remove unnecessary whnf 2017-07-01 12:17:53 -07:00
Leonardo de Moura
60a14f25df feat(library/init/meta/simp_tactic): add dunfold_expr back
`super` uses it.
2017-07-01 11:00:28 -07:00
Sebastian Ullrich
3cdf502c58 fix(frontends/lean/pp): escape keyword-like identifiers 2017-07-01 10:38:15 -07:00