Commit graph

4355 commits

Author SHA1 Message Date
Soonho Kong
c8e1ed9551 feat(emacs/lean-input): add lean-input-export-translations-to-stdout 2015-03-26 12:55:01 -04:00
Leonardo de Moura
a1c1fcb2f0 fix(frontends/lean/pp): bug in pretty printer new feature 2015-03-25 21:16:21 -07:00
Leonardo de Moura
d69f829337 perf(kernel/justification): avoid redundant justification objects 2015-03-25 19:09:01 -07:00
Leonardo de Moura
0c3fd7427e feat(frontends/lean): add syntax-sugar for fold
closes #503
2015-03-25 18:25:48 -07:00
Leonardo de Moura
f2b1752807 fix(frontends/lean/parser): add workaround for #461 2015-03-25 18:09:43 -07:00
Leonardo de Moura
b9e3c474c9 feat(library/tactic): add all_goals tactic
closes #501
2015-03-25 17:42:34 -07:00
Leonardo de Moura
49bc56ec07 feat(frontends/lean/pp): improve pretty printer for prefix and postfix notation
closes #491
2015-03-25 16:45:58 -07:00
Leonardo de Moura
a1f933886f fix(frontends/lean/structure_cmd): explicit universe levels for structures
closes #490
2015-03-25 16:10:30 -07:00
Leonardo de Moura
5f1d827b26 fix(frontends/lean/decl_cmds): assertion violation
closes #506
2015-03-25 13:46:23 -07:00
Soonho Kong
4c434f4c02 fix(emacs/lean-info): extract proofstate info by using pos of ","
fix #302
2015-03-25 12:36:15 -04:00
Soonho Kong
ca81e9bee2 fix(emacs/lean-mode): add 'display-buffer' at the end of lean-exec-at-pos 2015-03-25 08:35:02 -04:00
Leonardo de Moura
9119c3f9fb fix(shell/lean): uninitialized variable 2015-03-24 18:36:14 -07:00
Leonardo de Moura
1e13f383f6 feat(shell/lean): add --line, --col and --goal options for testing Emacs interface 2015-03-24 12:29:31 -07:00
Soonho Kong
69d1cfdd52 feat(emacs/lean-mode): add lean-exec-at-pos and lean-define-key-binding
Example Usage: add the following in your emacs configuration

(add-hook 'lean-mode-hook '(lambda ()
    (lean-define-key-binding "\C-c\C-g"
                             '(lean-exec-at-pos "lean-goal" "*Lean Goal*" "--goal"))))

close #499
2015-03-24 14:57:49 -04:00
Leonardo de Moura
38a63a8a58 fix(library/tactic/exact_tactic): segfault when accessing head of empty list
closes #485
2015-03-23 19:00:01 -07:00
Leonardo de Moura
ac30052a29 fix(library/tactic/rewrite_tactic): apply substitution before trying to rewrite
closes #487
2015-03-23 18:32:52 -07:00
Leonardo de Moura
5bf46d1226 fix(library/tactic/inversion_tactic): improve 'cases' tactic for HoTT mode
closes #481
2015-03-23 18:06:11 -07:00
Leonardo de Moura
98cc325695 refactor(library/tactic/inversion_tactic): cleanup 2015-03-23 17:15:47 -07:00
Leonardo de Moura
76157ba392 fix(frontends/lean/pp): abbreviations with too much arguments
closes #480
2015-03-23 12:16:25 -07:00
Leonardo de Moura
0814e76298 fix(library/tactic/clear_tactic): unexpected failure
This commit also improves the error message produced by the 'clear' tactic.

fixes #488
2015-03-23 12:08:15 -07:00
Leonardo de Moura
b5acbb2228 fix(frontends/lean/pp): missing parenthesis around abbreviations
fixes #476
2015-03-16 17:12:03 -07:00
Leonardo de Moura
9b577a7b3e feat(frontends/lean): add 'migrate' command 2015-03-14 21:48:00 -07:00
Leonardo de Moura
fc3a7bac59 feat(frontends/lean): improve error handling inside match-with expressions 2015-03-13 23:25:46 -07:00
Leonardo de Moura
bed0d6df6b fix(frontends/lean/elaborator): inaccessible over coercion 2015-03-13 23:04:45 -07:00
Leonardo de Moura
f6f2c499ae fix(library/tactic/rewrite_tactic): rewrite macros did not implement operator==
This problem was affecting the cache
2015-03-13 19:24:09 -07:00
Leonardo de Moura
cfeb426cd7 fix(frontends/lean): pretty print numeral notation from algebra 2015-03-13 18:58:34 -07:00
Leonardo de Moura
9438366e37 feat(frontends/lean/builtin_exprs): better error synchronization for 'begin...end' blocks 2015-03-13 15:22:57 -07:00
Leonardo de Moura
aba158dbd4 feat(library/tactic/inversion_tactic): improve error message for unknown hypothesis 2015-03-13 15:19:19 -07:00
Leonardo de Moura
b88b98ac22 feat(frontends/lean): try to add definition/theorem as axiom when it fails to be processed
The idea is to avoid a "tsunami" of error messages when a heavily used
theorem breaks in the beginning of the file
2015-03-13 14:47:21 -07:00
Leonardo de Moura
f5811d6092 feat(frontends/lean): hide subterms that do not contain metavariables
when generating "unresolved metavariables" error message

closes #473
2015-03-13 12:42:57 -07:00
Leonardo de Moura
cda19f5aa6 feat(library/tactic/rewrite_tactic): improve rewrite tactic error messages
closes #471
2015-03-12 20:49:53 -07:00
Leonardo de Moura
7accd0f1e6 feat(library/tactic/rewrite_tactic): allow rewrite with terms that contains binders
see discussion at #470
2015-03-12 18:07:55 -07:00
Leonardo de Moura
7ca882d69a fix(frontends/lean/parse_rewrite_tactic): esimp error message position information 2015-03-12 17:05:41 -07:00
Leonardo de Moura
026622a790 refactor(src/kernel/replace_fn): remove stack-less replace_fn it is slower than the simple one 2015-03-12 16:22:49 -07:00
Leonardo de Moura
9fe2d5c74c refactor(library/unifier): use new assign method in the unifier 2015-03-12 15:01:40 -07:00
Leonardo de Moura
4ea323a2b2 refactor(library/tactic): cleanup common pattern 2015-03-12 14:52:41 -07:00
Leonardo de Moura
8f004671a2 fix(library/unifier): typo 2015-03-12 13:15:23 -07:00
Leonardo de Moura
3e4d849a4a refactor(kernel/metavar.h): simplify API 2015-03-12 12:50:53 -07:00
Leonardo de Moura
6a78ae7b46 fix(library/tactic/class_instance_synth): enforce consistent behavior in type class resolution
Auxiliary procedure mk_class_instance was not discarding partial solutions.
This procedure is used by the apply and inversion (aka cases) tactics
2015-03-12 10:27:05 -07:00
Leonardo de Moura
b38c943086 fix(library/tactic/class_instance_synth): discard partial solutions even when option class.unique_instances = true is used 2015-03-12 10:13:16 -07:00
Leonardo de Moura
47a350d888 fix(library/tactic/inversion_tactic): missing condition for applying optimization 2015-03-12 09:11:36 -07:00
Leonardo de Moura
7de3d5771d feat(library/tactic/rewrite_tactic): add eta-reduction support at esimp
closes #469
2015-03-12 00:32:31 -07:00
Leonardo de Moura
a9fa0fead9 feat(library/match): match modulo eta 2015-03-12 00:30:44 -07:00
Leonardo de Moura
a7af8e7c71 feat(library/tactic/inversion_tactic): remove dummy hypotheses of the form (H : a = a)
closes #468
2015-03-11 20:50:06 -07:00
Leonardo de Moura
b5fb7c734e feat(library/tactic/inversion_tactic): remove hypothesis being destructed
addresses second issue in #468
2015-03-11 20:42:50 -07:00
Leonardo de Moura
0a5340aa22 feat(library/tactic/goal): add auxiliary method 2015-03-11 20:39:41 -07:00
Leonardo de Moura
ebdda67812 fix(library/tactic/inversion_tactic.cpp): remove unnecessary hypothesis in HoTT mode
partial solution for #468
2015-03-11 19:30:34 -07:00
Leonardo de Moura
737faecc65 feat(library/tactic/inversion_tactic): fail if is_hset type class synthesis produced term containing meta-variables, improve error messages
fixes #467
2015-03-11 15:54:50 -07:00
Leonardo de Moura
71ce207080 fix(frontends/lean/elaborator): potential memory access violation
Before this commit, the modified method would crash if caching in the
whnf procedure was disabled.
2015-03-11 15:54:50 -07:00
Leonardo de Moura
1c55e2f389 fix(util/memory): memory allocation problem when using clang++ 3.5 on Ubuntu 14.04 2015-03-11 10:06:13 -07:00