Commit graph

2566 commits

Author SHA1 Message Date
Leonardo de Moura
f9ad1dbfc0 fix(frontends/lean/definition_cmds): bug at inline_new_defs
closes #1253
2016-12-15 20:32:06 -08:00
Leonardo de Moura
e362745c4c chore(tests/lean): fix tests 2016-12-15 17:04:21 -08:00
Leonardo de Moura
6e57e70d04 fix(frontends/lean/pp): pretty print issue, and fix broken tests output
Remark: we do not allow user to access abstracted version anymore inside
of a section.
2016-12-15 15:42:54 -08:00
Leonardo de Moura
8bce559330 fix(frontends/lean/elaborator): another issue at resolve_names
see #1251
2016-12-15 15:11:24 -08:00
Leonardo de Moura
8b43314e23 feat(library/aliases,frontends/lean/parser): take local_ref's into account when defining new aliases; use get_local_ref at id_to_expr; use get_local_ref at resolve_local_name
see #1251
2016-12-15 14:10:44 -08:00
Leonardo de Moura
bd2f9bce05 fix(library/compiler/erase_irrelevant): issue created by elim_unused_lets optimization 2016-12-14 18:51:53 -08:00
Leonardo de Moura
b2c1ea6fdb fix(library/type_context): failure cache
The new regression test exposes the problem being fixed.
2016-12-13 07:50:03 -08:00
Leonardo de Moura
3de3532a3e chore(tests/lean/run/even): remove duplicate 2016-12-12 10:48:10 -08:00
Leonardo de Moura
7794ecfb69 test(tests/lean/run): add test for performance issue reported in the lean group 2016-12-12 10:38:23 -08:00
Leonardo de Moura
fbc1bb4d89 perf(library/compiler): add common subexpression elimination
It addresses a performance problem reported by Brian (huffman@galois.com).
2016-12-11 14:43:51 -08:00
Leonardo de Moura
aba6f8b8a8 feat(frontends/lean/parser): add support for anonymous parameters
Example:

check λ _, 0
2016-12-10 11:07:58 -08:00
Leonardo de Moura
9f6e71b374 feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
If this parameter is set to true, then approximate unification is
used.

closes #1208
2016-12-10 10:24:05 -08:00
Leonardo de Moura
55401a95ec fix(frontends/lean/parser): scope in tactic mode 2016-12-10 09:39:13 -08:00
Leonardo de Moura
b5dc88ee37 fix(library/equations_compiler/elim_match): see #1216
Fixes the problem described at #1216.
This is an alternative fix that prevents the m_var_stack from being in
an inconsistent state.
2016-12-08 15:38:14 -08:00
Leonardo de Moura
692701c5ef feat(library/init/meta): use cheap "reflexivity" after simp and rewrite
The idea is to make sure lean doesn't timeout (at reflexivity) when we apply simp or
rewrite in goals such as

    (x y : nat) |- x + y + 10000000000 = x + y + 200000000000000

This commit also addresses an issue raised at #1218
2016-12-08 14:41:26 -08:00
Leonardo de Moura
0818b02eb3 test(tests/lean/run): add test for @1218 2016-12-08 14:10:47 -08:00
Daniel Selsam
aed6d8fea0 fix(tactic/dsimplify.cpp): must whnf in post to be idempotent 2016-12-08 13:34:32 -08:00
Jeremy Avigad
6f64244f2a refactor(library/init/meta/tactic): switch 'pose' and 'note' 2016-12-08 13:17:42 -08:00
Leonardo de Moura
6577cc87a3 feat(library): add pre_monad
closes #1235
2016-12-08 12:48:55 -08:00
Leonardo de Moura
9222c89198 chore(tests/lean/dunfold_constant): fix test output 2016-12-08 11:34:08 -08:00
Leonardo de Moura
eb0b158ad1 chore(tests/lean/test_single): remove tmp files 2016-12-08 11:33:54 -08:00
Daniel Selsam
f952dbc78e fix(init/meta/expr.lean): is_app_of can return true for constants as well 2016-12-08 11:23:53 -08:00
Leonardo de Moura
be3cff0c46 feat(library/type_context): move offset constraint resolution to lazy delta loop 2016-12-08 11:00:15 -08:00
Leonardo de Moura
e13bac41c3 fix(frontends/lean): 'sorry' axiom auto generation 2016-12-08 10:31:52 -08:00
Jeremy Avigad
814da88858 refactor(library/init/data/nat/basic,lemmas): alternative name, and rename le.elim to le.dest 2016-12-08 07:20:02 -08:00
Gabriel Ebner
45d0525e52 feat(shell,emacs): new lean server protocol 2016-12-06 17:14:29 -08:00
Leonardo de Moura
278e960a6b feat(library/type_context): add support for offset constraints in the unifier
see discussion at #1226
2016-12-06 16:51:00 -08:00
Jared Roesch
e65d90ac79 feat(*): C++ code generator
in progress move of Lean.native to init
2016-12-05 16:11:41 -08:00
Gabriel Ebner
3b2bb854be fix(tests/lean/interactive/test_single): do not use deprecated realpath command
The realpath executable is not installed by default on ubuntu.  Also
contains a fix for macOS where the default readlink executable does not
understand -f.  The ./readlinkf.sh script does not work for directories
either.
2016-12-02 17:01:58 -08:00
Leonardo de Moura
ecd6f8cad6 chore(tests/lean/run/1089): fix test 2016-12-02 16:47:24 -08:00
Leonardo de Moura
40d3bc9b43 feat(tests/lean/1207): add the other example used in the issue #1207 2016-12-01 17:18:41 -08:00
Leonardo de Moura
e1a90fbe89 fix(frontends/lean/tactic_notation): fixes #1207 2016-12-01 17:16:22 -08:00
Leonardo de Moura
ffcb9f240e fix(tests/lean/interactive/test_single): MSYS2 compatibility 2016-12-01 11:55:55 -08:00
Leonardo de Moura
a9daf9390a fix(tests/lean/test_single): MSYS2 compatibility 2016-12-01 11:28:35 -08:00
Leonardo de Moura
89d8afbc2b fix(test_single.sh): OSX compatibility 2016-12-01 11:03:11 -08:00
Gabriel Ebner
d542e95d20 chore(tests): update tests to new position information for by tac 2016-11-30 11:27:02 -05:00
Gabriel Ebner
14f8093181 chore(tests/lean): get tests working again 2016-11-29 11:12:44 -08:00
Leonardo de Moura
78608a37e9 fix(frontends/lean/definition_cmds): implicit universe theorem parameters bug
See discussion at #1178
2016-11-29 11:12:43 -08:00
Gabriel Ebner
385ea13688 feat(kernel/declaration,*): all theorems are delayed, and are revealed on delta-reduction 2016-11-29 11:12:43 -08:00
Gabriel Ebner
a8df381d20 feat(*): parallel compilation 2016-11-29 11:12:40 -08:00
Leonardo de Moura
398af80584 feat(shell/leandoc): add support for "brief" description
This feature is similar to the one available in doxygen.
2016-11-27 21:42:05 -08:00
Leonardo de Moura
002c62b49c feat(frontends/lean): basic leandoc tool 2016-11-27 14:31:31 -08:00
Leonardo de Moura
94c882f4d5 feat(library/documentation, frontends/lean): add /-! -/ doc string module block 2016-11-27 12:23:53 -08:00
Leonardo de Moura
6978906a78 chore(frontends/lean): remove namespace documentation
We will add module level doc strings /-! -/
2016-11-27 11:57:03 -08:00
Leonardo de Moura
338a46c225 fix(library/documentation): do not store doc strings for namespaces and declarations in the same name_map 2016-11-26 09:41:07 -08:00
Leonardo de Moura
b38810ffc3 feat(library/documentation): postprocess doc strings 2016-11-26 09:18:38 -08:00
Leonardo de Moura
e9f8f9e5d7 refactor(library/nat): rename nat.le to nat.less_than
Motivation: avoid overload when we use `open nat`.

Unfortunately, we currently do not allow users to mark inductive datatype
declarations as protected.
2016-11-25 18:53:03 -08:00
Leonardo de Moura
97dd2f34d5 feat(library,frontends/lean): add basic doc string support 2016-11-25 18:52:56 -08:00
Leonardo de Moura
a009541b6e test(tests/lean/run): add test for issue #1089
See #1089
2016-11-24 14:51:45 -08:00
Leonardo de Moura
0554fd5997 fix(frontends/lean): name resolution at tactic execution time
This commit also adds a new tactic: tactic.resolve_name

closes #1201
2016-11-24 10:55:39 -08:00