Commit graph

10791 commits

Author SHA1 Message Date
Leonardo de Moura
7e0612306f fix(util/file_lock): issue on Windows 2016-12-20 14:16:58 -08:00
Leonardo de Moura
a358ea32ac fix(tests/lean/interactive): remove local paths 2016-12-20 12:46:10 -08:00
Leonardo de Moura
c9e0727ac0 fix(tests/lean/interactive/info1): fix test 2016-12-20 12:32:21 -08:00
Leonardo de Moura
98a14ee1c9 chore(tests/lean/run/test_single): use '-j 0' when running tests 2016-12-20 11:45:32 -08:00
Leonardo de Moura
896bc2c75a chore(*): fix style 2016-12-20 11:31:00 -08:00
Gabriel Ebner
8132957391 fix(library/module_mgr): build olean files with mtimes in correct order 2016-12-20 10:55:34 -08:00
Leonardo de Moura
5f72e37501 chore(library/vm): fix warning 2016-12-20 10:19:20 -08:00
Gabriel Ebner
f9a61b2b29 fix(tests/lean/interactive): fix test 2016-12-20 10:15:19 -08:00
Gabriel Ebner
0550d2a6ac refactor(library/module): import all modules in a single call 2016-12-20 10:15:19 -08:00
Gabriel Ebner
99fc13af98 refactor(library/module_mgr): cache olean imports as well 2016-12-20 10:15:19 -08:00
Gabriel Ebner
370d69de3f refactor(library/module): interface to get task dependencies for modifications 2016-12-20 10:15:19 -08:00
Gabriel Ebner
a2bc967fac feat(library/module): reuse pre-imported init module 2016-12-20 10:15:19 -08:00
Gabriel Ebner
a26e2c9108 feat(library/module): intermediary data structure for environment modifications 2016-12-20 10:15:19 -08:00
Gabriel Ebner
23be9bc0c2 fix(shell/CMakeLists): ignore temporary emacs files 2016-12-20 10:13:58 -08:00
Gabriel Ebner
41e8a1712e refactor(library/vm): use global indices for declarations and cases 2016-12-20 10:13:58 -08:00
Leonardo de Moura
4c01cb503c fix(library/native_compiler/native_compiler): memory leak 2016-12-20 10:02:31 -08:00
Leonardo de Moura
127ecff79c fix(attribute_manager): finalization problem
Global variables must be simple types. Reason: the finalization of
global objects in different compilation units is not specified by the
standard. The only exception is the global at src/shared/init.cpp.
It is used to automatically initialize the lean shared library.

Before this commit, attribute_manager used a std::unique_ptr in a global
variable. The test shared_test was crashing in one of my machines
because a different finalization order was being used.
2016-12-20 10:02:31 -08:00
Leonardo de Moura
516f45428d fix(library/tactic/simplify): missing clear cache operation 2016-12-19 21:32:46 -08:00
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
ffc9c75824 fix(frontends/lean/parser): do not clear local universes when switching to tactic mode and/or quoting 2016-12-19 09:21:54 -08:00
Leonardo de Moura
b65c774f5b chore(library/init/meta): opened_namespaces ==> open_namespaces 2016-12-18 23:55:45 -08:00
Sebastian Ullrich
9a30a06321 fix(frontends/lean/elaborator): output full names for overloads 2016-12-18 23:49:11 -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
Sebastian Ullrich
aae15901ac fix(emacs): make sure lean-server-sync is executed in the correct buffer 2016-12-18 23:48:15 -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
d853136b82 chore(frontends/lean/builtin_cmds): leftover 2016-12-18 23:00:51 -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
d2ffa6c476 fix(library/init/data/int/basic): bug in instance definition 2016-12-18 14:45:55 -08:00
Sebastian Ullrich
29ef580e43 fix(emacs/lean-server): try to reduce flickering of error list 2016-12-18 13:44:06 -08:00
Sebastian Ullrich
d95e817a56 refactor(library/data/{bitvec,tuple}): style, conventions, conversions 2016-12-18 13:25:00 -08:00
Leonardo de Moura
1d0d45d890 feat(library/init/data/to_string): mark list.to_string as protected 2016-12-18 13:17:10 -08:00
Sebastian Ullrich
26ead0e7ac feat(library/data/int/basic): has_to_string int 2016-12-18 13:15:41 -08:00
Leonardo de Moura
468211eb9b chore(.gitignore): ignore VSCode config file 2016-12-18 12:35:25 -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
ca2095f2dd feat(library/init/algebra): add discrete_linear_ordered_field 2016-12-17 21:18:59 -08:00
Leonardo de Moura
37209d45a5 feat(library/init/algebra/norm_num): add missing norm_num lemmas 2016-12-17 20:20:55 -08:00
Leonardo de Moura
c99f25dbf5 feat(library/init/algebra/ordered_ring): add linear_ordered_comm_ring 2016-12-17 19:48:21 -08:00
Leonardo de Moura
303696e693 feat(library/init/algebra): add ordered_field 2016-12-17 19:34:10 -08:00
Leonardo de Moura
97fe22b20e feat(library/init/algebra/ordered_ring): ordered semiring/ring lemmas 2016-12-17 17:49:25 -08:00
Leonardo de Moura
060a554db1 feat(library/tactic): add norm_num_tactic 2016-12-17 16:48:40 -08:00
Leonardo de Moura
b84d5811d1 feat(library/init/algebra): add missing min/max/abs lemmas 2016-12-17 15:22:12 -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
1726d37d4e fix(library/algebra/order): decidable_linear_order
Add fields for decidable_eq and decidable_le.
We need this because a concrete instance may have its own
implementation that is not definitionally equal to
the old ones defined at library/algebra/order.lean.
Without this change, types such as nat and int would
have multiple definitions for decidable_eq and decidable_le
which are not definitionally equal.
2016-12-17 14:01:43 -08:00
Leonardo de Moura
626f8db389 feat(library/init/algebra/functions): define min/max/abs 2016-12-17 13:17:55 -08:00
Leonardo de Moura
422d43cf47 fix(library/init/data/nat/basic): issue reported by @kha 2016-12-17 13:17:30 -08:00