Leonardo de Moura
8e7aac1eb4
fix(frontends/lean): add 'eval' command
2014-09-26 20:16:03 -07:00
Leonardo de Moura
345b65a91b
fix(.travis.yml): trying to fix failure at travis
2014-09-26 18:00:55 -07:00
Leonardo de Moura
23960da532
feat(emacs/lean-input): shortcut for long arrow
2014-09-26 17:50:33 -07:00
Floris van Doorn
3a95734fae
feat(library): changes in eq.lean sigma.lean and category.lean
...
in eq.lean, make rec_on depend on the proof, and add congruence theorems for n-ary functions with n between 2 and 5
in sigma.lean, finish proving equality of triples
in category.lean, define the functor category, and make the proofs of the arrow and slice categories easier for the elaborator
2014-09-26 19:45:23 -04:00
Floris van Doorn
05fb3aa060
feat(library/data/int): remove duplicate theorem, fix one sorry
2014-09-26 19:45:23 -04:00
Floris van Doorn
5396e422d2
feat(library): add constructions of categories, some changes in eq, sigma and path
...
in eq, add theorem for proof irrelevance and congruence for binary functions
in sigma, add some support for triplets
in path, comment out two unneccesary definitions
in category, add Cat, slice, coslice, product and arrow categories, also add fully bundled approach
2014-09-26 19:45:23 -04:00
Leonardo de Moura
ab7d2b1751
fix(.travis.yml): trying old configuration for TESTCOV
2014-09-26 16:41:18 -07:00
Leonardo de Moura
adc0cef974
doc(README.md): group build instructions by system
2014-09-26 16:31:27 -07:00
Leonardo de Moura
fff0c2f84a
doc(make/msys2): instructions for building native windows Lean binary
2014-09-26 16:26:32 -07:00
Leonardo de Moura
69f50adb2e
fix(frontends/lean/server): must save the starting environment/options when reprocessing file, fixes #209
2014-09-26 15:36:47 -07:00
Leonardo de Moura
a3e38dc8a0
feat(frontends/lean): allow users to define "numeral notation"
2014-09-26 14:55:23 -07:00
Leonardo de Moura
9928390605
fix(library/match): memory leak that only happens with compiling with clang++
2014-09-26 10:24:38 -07:00
Leonardo de Moura
631ebc6c4b
fix(tests/lean/uni_bug1): make sure test does not produce a 'used sorry' warning.
...
Thus, the output behavior is the same when we compile lean with/without IGNORE_SORRY=ON
2014-09-26 09:42:31 -07:00
Leonardo de Moura
6bf905aea8
fix(frontends/lean/pp): do not invoke type checker on expressions
...
containing free variables.
This could happened when the pretty printer was used from Lua to print
nested subterms
2014-09-26 09:38:36 -07:00
Leonardo de Moura
8143b51c7e
feat(build): add 'CROSS_COMPILE' cmake option
...
When CROSS_COMPILE=ON, the Lean standard library will not be compiled.
2014-09-26 09:26:40 -07:00
Leonardo de Moura
f49a610995
fix(.travis.yml): (try to fix) random build failures at travis
...
At https://bitcointalk.org/index.php?topic=304389.0 , people suggest
that the failure
g++-4.8: internal compiler error: Killed (program cc1plus)
usually happens when the system does not have enough free memory.
A possible workaround is to disable parallel build, and compile file by
file. I added the option `-j1` to Ninja.
2014-09-26 09:05:30 -07:00
Leonardo de Moura
480bc639ea
feat(build): add IGNORE_SORRY cmake option
...
It allows us to perform nightly builds and avoid distracting warning
messages on CDASH.
2014-09-26 08:55:54 -07:00
Leonardo de Moura
f05bb9daeb
fix(util/memory): warning when compiling with clang++
2014-09-26 08:42:47 -07:00
Soonho Kong
4b60499f7d
fix(emacs/lean-company): take out '@' from prefix for findp
...
fix #207
2014-09-26 08:53:48 +02:00
Leonardo de Moura
d02ab15c88
fix(frontends/lean/proof_qed_elaborator): must also create
...
metavar_closure before solving nested proof_qed
The bug was exposed by the new policy for handling class-instance
resolution. In the new policy, we reject partial solutions.
The bug fixed in this commit was being masked by a partial solution that
was being "completed" later.
2014-09-25 20:07:51 -07:00
Leonardo de Moura
c775da16ec
feat(frontends/lean/elaborator): discard partial solution during
...
class-instance resolution, use only tactic_hints associated with
classes, enforce is_strict
2014-09-25 19:46:08 -07:00
Leonardo de Moura
318fec43a4
feat(frontends/lean/elaborator): use tactic_hints for unsolved placeholders
2014-09-25 17:54:10 -07:00
Leonardo de Moura
bb1c6d44ac
fix(frontends/lean/elaborator): missing register_meta
2014-09-25 17:52:36 -07:00
Leonardo de Moura
bcb30f6232
fix(frontends/lean/placeholder_elaborator): missing 'return'
2014-09-25 15:00:06 -07:00
Leonardo de Moura
03f71c73dc
perf(kernel/instantiate): cache result of instantiate_type_univ_params
...
and instantiate_value_univ_params
2014-09-25 13:24:43 -07:00
Leonardo de Moura
23ddacad19
perf(frontends/lean/class): improve is_ext_class procedure
2014-09-25 12:26:09 -07:00
Leonardo de Moura
28796593e3
fix(kernel/type_checker): bug in new is_opaque method
2014-09-25 12:24:14 -07:00
Leonardo de Moura
1d92097781
refactor(kernel/declaration): return reference to type/value/name
2014-09-25 12:17:04 -07:00
Leonardo de Moura
d4236e40b4
feat(kernel/type_checker): expose is_opaque
2014-09-25 11:19:54 -07:00
Leonardo de Moura
8747f12118
refactor(frontends/lean/elaborator): remove unnecessary
...
set_local_context_for method
2014-09-25 10:21:31 -07:00
Leonardo de Moura
b8eb65aac2
perf(frontends/lean/placeholder_elaborator): reuse local_context, this
...
is possible now because local_context is a mainly "functional object"
2014-09-25 10:11:41 -07:00
Leonardo de Moura
2e2d2d21f1
refactor(local_context): local_context::scope auxiliary object is not
...
needed anymore
2014-09-25 09:59:27 -07:00
Leonardo de Moura
cd87539de5
fix(library/unifier): bug in the new next_delta_unfold_case_split
2014-09-25 09:56:32 -07:00
Leonardo de Moura
09162e5fea
refactor(frontends/lean/local_context): remove name_generator from local_context
2014-09-25 09:44:34 -07:00
Leonardo de Moura
354c456639
refactor(frontends/lean/local_context): move mvar2meta mapping to elaborator
2014-09-25 09:31:03 -07:00
Leonardo de Moura
fce1113b80
refactor(frontends/lean/coercion_elaborator): simplify
...
coercion_elaborator interface
2014-09-25 08:48:31 -07:00
Leonardo de Moura
a61b95a87e
refactor(frontends/lean/proof_qed_elaborator): simplify
...
proof_qed_elaborator interface
2014-09-25 08:38:02 -07:00
Leonardo de Moura
18cfce60b9
refactor(frontends/lean/local_context): simplify local_context representation
2014-09-25 08:13:27 -07:00
Leonardo de Moura
0488ee4ee2
perf(library/unifier): process delta expansion case split lazily
2014-09-24 19:16:12 -07:00
Leonardo de Moura
d4c0c01e0b
fix(build): add missing file
2014-09-24 12:54:17 -07:00
Leonardo de Moura
516c0c73b9
refactor(*): remove dependency to thread_local C++11 keyword, the
...
current compilers have several bugs associated with it
We use the simpler __thread (gcc and clang) and
__declspec(thread) (visual studio).
2014-09-24 12:51:04 -07:00
Leonardo de Moura
ca1b8ca80f
refactor(util/memory_pool): simplify memory_pool, it is not a template anymore
2014-09-24 10:48:32 -07:00
Leonardo de Moura
41433a4002
refactor(util/rb_tree): remove optimization that creates problems for
...
some compilers
2014-09-24 10:33:25 -07:00
Leonardo de Moura
9b61b18eaa
perf(kernel/replace_visitor): use more expensive/precise cache
...
It does not use pointer equality, but structural equality
2014-09-24 10:12:29 -07:00
Leonardo de Moura
5489e46ce5
refactor(util/numerics): explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
4205368718
fix(util/sexpr): missing explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
7e84d5df3d
refactor(util): explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
8466115665
fix(frontends/lean/class): missing explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
dbe1763b1a
refactor(frontends/lean/server): explicit initialization/finalization
2014-09-24 10:12:29 -07:00
Leonardo de Moura
358074ae3d
refactor(kernel/record): remove kernel extension for records, we will
...
implement it outside of the kernel on top of the inductive datatypes
2014-09-24 10:12:28 -07:00