Leonardo de Moura
d16a3df7a3
feat(library/tactic/congruence): initialization and pretty printing
2016-12-22 15:18:52 -08:00
Leonardo de Moura
6bc0952dbc
feat(library/tactic/congruence/congruence_closure): generate lazy eq_true proofs
2016-12-22 14:44:38 -08:00
Leonardo de Moura
f7dce940b6
feat(library/tactic/congruence/congruence_closure): proof generation
2016-12-22 14:23:33 -08:00
Daniel Selsam
49de5313fa
chore(library/tactic/change_tactic.cpp): better formatting for error message
2016-12-22 11:13:54 -08:00
Leonardo de Moura
60d3255577
fix(library/type_context): issue #1258 again
...
This is yet another fix.
2016-12-22 10:51:16 -08:00
Leonardo de Moura
49e296dee2
fix(library/type_context, library/tactic/induction_tactic): fix for issue #1258 was incorrect
...
The fix was incorrect because it could produce an invalid local context.
Actually, the regression tests/lean/run/1258.lean was producing an
assertion violation.
2016-12-21 21:13:29 -08:00
Leonardo de Moura
48cd421852
feat(library/tactic/congruence): add congruence closure basics
2016-12-21 20:46:25 -08:00
Leonardo de Moura
cc077554b5
fix(library/tactic/change_tactic): use id_locked in the change tactic to create checkpoint
...
closes #1260
2016-12-21 11:29:03 -08:00
Leonardo de Moura
fe3ed3d383
fix(library/constructions/induction_on): induction_on was not being marked as aux_recursor
2016-12-20 22:41:50 -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
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
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
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
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
060a554db1
feat(library/tactic): add norm_num_tactic
2016-12-17 16:48:40 -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
8683ea4f60
feat(library/tactic/simp_lemmas): add simp_lemmas.pp
2016-12-17 11:53:02 -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
Gabriel Ebner
6ed538a705
fix(library/module_mgr): finally fix invalidation
2016-12-16 18:18:00 -08:00
Leonardo de Moura
b0d27d6d92
feat(library/tactic/simplify): simplify_core calls itself to discharge hypothese
2016-12-16 10:26:44 -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
384cf04efd
refactor(library/aliases,frontends/lean/local_ref_info): merge aliases and local_ref_info modules
2016-12-15 13:24:30 -08:00
Gabriel Ebner
d89512b6fc
fix(util/task_queue): fix undefined behavior with null references
2016-12-15 09:48:57 -08:00
Leonardo de Moura
e248577e1c
feat(library/vm): allow vm bytecode to invoke native closures
2016-12-14 19:16:55 -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
b0ce461fcd
feat(library/vm): native closures that do not depend on vm_state
...
Remark: native_closures are used in the C++ code generator.
2016-12-14 18:51:24 -08:00
Daniel Selsam
317989bf9e
feat(tactic/exact_tactic): exact_core that takes transparency
2016-12-13 08:27:21 -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
Daniel Selsam
fc7410633f
feat(library/type_context): cache failures at is_def_eq
2016-12-13 07:01:12 -08:00
Gabriel Ebner
0c8c41bd07
fix(library/module_mgr): make more robust
2016-12-12 12:40:40 -08:00
Gabriel Ebner
67e3c383ac
fix(library/module_mgr): fix invalidation
2016-12-12 12:40:40 -08:00
Gabriel Ebner
902df5d134
feat(shell/server,emacs): show list of currently running tasks
2016-12-12 12:40:40 -08:00
Leonardo de Moura
6e3959de2f
feat(library/compiler): create declarations for nested values
2016-12-12 10:37:58 -08:00
Leonardo de Moura
fe3396e1ae
perf(library/vm/vm): cache the result of 0-ary vm_decls
2016-12-12 09:12:06 -08:00