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
Leonardo de Moura
d41c403442
feat(library/init/meta/simp_tactic, library/init/meta/interactive): add simp_using_hs
2016-12-17 12:54:04 -08:00
Leonardo de Moura
eda7870b38
fix(library/tactic/simp_lemmas): missing case
2016-12-17 12:53:39 -08:00
Leonardo de Moura
ac1af2dfda
feat(library/tactic/simplify): trace prove failures
2016-12-17 11:53:44 -08:00
Leonardo de Moura
7d5b866503
feat(library/init/meta/tactic): add is_prop and is_proof tactics
2016-12-17 11:53:21 -08:00
Leonardo de Moura
8683ea4f60
feat(library/tactic/simp_lemmas): add simp_lemmas.pp
2016-12-17 11:53:02 -08:00
Leonardo de Moura
1320c16e3d
chore(library/init/algebra/field): avoid '.'
2016-12-17 11:02:18 -08:00
Leonardo de Moura
305838bece
refactor(library/debugger): move debugger to tools
2016-12-17 10:50:13 -08:00
Leonardo de Moura
63ec7cd6cf
chore(library/tools/super): replace ↣ with ^.
...
The plan is to delete the funny arrow ↣ notation and keep only ^.
2016-12-16 19:14:05 -08:00
Leonardo de Moura
85ae8ce307
chore(tools/super): add copyright
2016-12-16 19:06:50 -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
5572d7f3ec
perf(kernel,library/module): enable expr caching when deserializing .olean files
2016-12-16 18:33:46 -08:00