Leonardo de Moura
db2e3727a6
feat(library/type_context): add yet another approximation to unifier
...
@avigad I decided to fallback into first-order unification to address
the (a ∉ []) issue.
@dselsam Have you experienced similar problems in the ICML project?
The new comment at type_context.cpp explains the problem and hack to
workaround it. The issue is yet another instance where using "first-order
unification" produces imprecision, but generates the solution we want.
2016-12-19 20:34:07 -08:00
Leonardo de Moura
45efccd53e
fix(library/tactic/tactic_state): goal pp problem reported by Jared
2016-12-19 20:32:44 -08:00
Leonardo de Moura
47e6f8fa9e
fix(library/type_context): do not revert auxiliary local declarations introduced by the recursive equation notation
...
see #1258
2016-12-19 11:06:50 -08:00
Leonardo de Moura
0492436c42
chore(library/scoped_ext,tests/lean): fix issues raised by @kha
2016-12-19 10:03:16 -08:00
Leonardo de Moura
b65c774f5b
chore(library/init/meta): opened_namespaces ==> open_namespaces
2016-12-18 23:55:45 -08:00
Sebastian Ullrich
d3f57c6497
fix(library/tactic/tactic_state): include implicitly opened namespaces in opened_namespaces
2016-12-18 23:49:00 -08:00
Sebastian Ullrich
00b8c2ca81
feat(frontends/lean/elaborator): save info on field of field expression
2016-12-18 23:48:50 -08:00
Leonardo de Moura
1cfef1c6d9
fix(frontends/lean/parser): save next_inst_idx in the parser snapshot
...
This fixes issues with anonymous instances in sections.
In Emacs, we would get spurious error messages such as:
invalid parameter/variable declaration, '_inst_1' has already been declared
This commit also adds a regression test for the problem.
2016-12-18 23:39:28 -08:00
Leonardo de Moura
aa0abd5cef
fix(library/equations_compiler/structural_rec): bug in decoder
2016-12-18 22:51:02 -08:00
Leonardo de Moura
6b416b4618
feat(library/vm): use native representation for int in the VM
2016-12-18 15:04:02 -08:00
Leonardo de Moura
1e76ba64e8
test(tests/lean/run/norm_num_tst): add norm_num tactic tests
2016-12-17 21:19:15 -08:00
Leonardo de Moura
0b9bc383b3
test(tests/lean/run): add regression test
...
This example exposes the problem described by Kha at slack.
2016-12-17 14:08:10 -08:00
Leonardo de Moura
4b97b00536
refactor(library/tools/super): move examples to test folder
2016-12-16 19:05:32 -08:00
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
Gabriel Ebner
e03c31d2f9
refactor(gitignore): remove old ignore entries
2016-12-10 08:42:39 -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