Commit graph

4392 commits

Author SHA1 Message Date
Leonardo de Moura
df05edf333 feat(frontends/lean): generate warning when 'exit' is used
closes #553
2015-04-20 14:45:39 -07:00
Leonardo de Moura
6f6d106a10 feat(library/tactic): add "check_expr" tactic
closes #486
2015-04-19 19:00:05 -07:00
Leonardo de Moura
60e320fd79 feat(frontends/lean): protected constants and axioms
fixes #527
2015-04-19 17:45:58 -07:00
Leonardo de Moura
b7ca2a0ec9 fix(library/tactic/exact_tactic): exact and or_else
fixes #543
2015-04-19 17:23:09 -07:00
Soonho Kong
3d79f89f5e fix(emacs/lean-mode): lean-execute
shell-quote-argument also escapes '~' into '\~' which causes a problem.
This fix first calls 'f-full' to get a absolute path, then call
shell-quote-argument.

close #544
2015-04-16 19:27:42 -04:00
Soonho Kong
20b594e1cd fix(emacs/lean-mode.el): use 'shell-quote-argument' in lean-execute
close #544
2015-04-13 14:19:39 +01:00
Leonardo de Moura
5d95cb0979 feat(library/tactic): add 'refine' tactic
closes #482
2015-04-06 18:36:56 -07:00
Leonardo de Moura
412f03b08b feat(library/tactic/exact_tactic): generate error if 'exact' tactic produces a term containing metavariables 2015-04-06 13:38:53 -07:00
Leonardo de Moura
2bc13f6bfd feat(library/tactic/exact): enforce goal type during elaboration when executing 'exact' tactic
Remark: this was the behavior of the 'sexact' tactic.

This commit also adds the 'rexact' (relaxed exact) tactic which does not
enforce the goal type.

closes #495
2015-04-06 13:23:38 -07:00
Leonardo de Moura
754276a660 feat(frontends/lean): round parenthesis for [tactic1 | tactic2]
This commit also replaces the notation for divides
     `(` a `|` b `)`
with
      a `∣` b

The character `∣` is entered by typing \|

closes #516
2015-04-06 09:24:09 -07:00
Leonardo de Moura
969d17fd12 fix(frontends/lean/elaborator): class inference in tactic mode with trunc
closes #477
2015-04-05 17:47:14 -07:00
Leonardo de Moura
d731a4ab13 feat(library/normalize): add '[unfold-f]' hint
closes #497
2015-04-05 03:00:13 -07:00
Leonardo de Moura
d591c63840 feat(frontends/lean/decl_cmds): allow local coercions in contexts
closes #525
2015-04-04 15:25:07 -07:00
Leonardo de Moura
8c59f17605 feat(frontends/lean): 'using' expression without 'show' or 'have'
closes #536
2015-04-04 15:25:07 -07:00
Leonardo de Moura
4ec0e1b07c feat(frontends/lean): improve calc mode
Now, it automatically supports transitivity of the form
    (R a b) -> (b = c) -> R a c
    (a = b) -> (R b c) -> R a c

closes #507
2015-04-04 08:58:35 -07:00
Leonardo de Moura
1150b19598 perf(frontends/lean/elaborator): do not invoke recursive equation compiler when equations still contain metavariables 2015-04-02 23:37:33 -07:00
Soonho Kong
1f20fb6e9e feat(emacs/lean-input): add not(¬) and iff(↔)
close leanprover/tutorial#81
2015-04-02 22:13:01 -04:00
Leonardo de Moura
ed1acd9fb0 feat(library/init): move propext to init/quot, add Jeremy's funext theorem 2015-04-01 12:36:33 -07:00
Leonardo de Moura
b960e123b1 feat(kernel): add experimental support for quotient types 2015-03-31 22:04:16 -07:00
Leonardo de Moura
4eb270a572 fix(frontends/lean/pp): extra space 2015-03-31 15:07:32 -07:00
Leonardo de Moura
26c914173c feat(frontends/lean): add --profile option 2015-03-31 11:53:55 -07:00
Leonardo de Moura
46777fdd1d fix(frontends/lean/migrate_cmd): bug when using migrate command with option --to_axiom 2015-03-30 16:22:06 -07:00
Leonardo de Moura
8c76419c60 fix(frontends/lean/decl_cmds): error localization problem for recursive equations 2015-03-30 13:30:29 -07:00
Leonardo de Moura
cb2a5eeb3c feat(frontends/lean/inductive_cmd): local notation in inductive decls 2015-03-30 02:14:26 -07:00
Leonardo de Moura
033f3b630d feat(frontends/lean/scanner): allow upper-case greek letters in identifiers but Pi and Sigma 2015-03-30 02:14:26 -07:00
Soonho Kong
3ac29fae43 fix(util/lua.cpp): 'implicit conversion of nullptr constant to bool' warning
clang-3.6.0 generated the following warning:

/Users/soonhok/work/lean/src/util/lua.cpp:49:12: warning: implicit conversion of nullptr constant to 'bool' [-Wnull-conversion]
    return nullptr;
    ~~~~~~ ^~~~~~~
           false
2015-03-29 23:06:22 -04:00
Soonho Kong
8243ed6339 fix(test*.sh): allow spaces in filename
fix #515
2015-03-28 23:29:52 -04:00
Soonho Kong
7c5339d64e fix(CMakeLists.txt): quote CMake variables
close #513
2015-03-28 22:38:11 -04:00
Leonardo de Moura
ea3407d06d fix(library/tactic): valgrind warnings for still reachable memory 2015-03-28 12:32:57 -07:00
Leonardo de Moura
88495f9d59 fix(*): remove unnecessary null pointer checks
closes #514
2015-03-28 12:16:39 -07:00
Leonardo de Moura
1b15036dba feat(library/definitional): automatically add attribute [unfold-c] to cases_on, brec_on and rec_on
see #496
2015-03-27 19:12:17 -07:00
Leonardo de Moura
75621df52b feat(frontends/lean): uniform notation for lists in tactics
closes #504
2015-03-27 17:54:48 -07:00
Leonardo de Moura
242f8ba048 feat(frontends/lean/elaborator): include number of unsolved goals
See #509
2015-03-27 14:54:41 -07:00
Leonardo de Moura
223ef58db9 fix(kernel/equiv_manager): typo 2015-03-27 10:44:09 -07:00
Leonardo de Moura
f33ad9d6f4 feat(kernel): add equivalence manager for speeding up is_def_eq 2015-03-27 10:34:54 -07:00
Soonho Kong
7c9b364957 fix(emacs/lean-info): lean-info-list-parse
close #302
2015-03-27 11:37:47 -04:00
Soonho Kong
5c1d7458b5 fix(emacs/lean-input): fix input-method.js format
[skip ci]
2015-03-26 14:41:45 -04:00
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