Leonardo de Moura
b1848efbc4
chore(library/init/meta): add head prefix to head reduction tactics, and add zeta tactic (that applies zeta reduction to all subterms)
2017-03-02 10:55:38 -08:00
Sebastian Ullrich
b9dc1c251e
fix(library/inductive_compiler/ginductive_decl): assertion
2017-03-02 08:02:55 -08:00
Sebastian Ullrich
852df8872b
fix(library/constructions/drec): assertion
2017-03-02 08:01:38 -08:00
Leonardo de Moura
d8371a4b0d
feat(library/data/hash_map): avoid read' and write' operations that require an extra test
2017-03-01 22:06:48 -08:00
Daniel Selsam
1f6306d068
perf(library/inductive_compiler): simplification with sizeof lemmas
2017-03-01 21:13:20 -08:00
Jeremy Avigad
4108e5c98b
feat(library/init/classical): replace strong indefinite description with indefinite description
2017-03-01 21:13:03 -08:00
Johannes Hölzl
f44cbb896c
fix(src/library/equations_compiler/elim_match): handle mixing of inaccessible terms and variables
2017-03-01 21:12:42 -08:00
Leonardo de Moura
04991692bf
feat(library/init/data/nat/lemmas): aux lemmas
2017-03-01 20:28:27 -08:00
Leonardo de Moura
1542cd750f
feat(library/tactic/induction_tactic): use drec in the induction tactic
...
The new test failed before this change.
2017-03-01 18:34:24 -08:00
Leonardo de Moura
e9f18502a7
chore(library/user_recursors): add drec_on and dcases_on
2017-03-01 15:56:06 -08:00
Leonardo de Moura
1ded3b70b8
feat(library/constructions/drec): add dcases_on
2017-03-01 15:46:19 -08:00
Leonardo de Moura
2fb5f6a49e
feat(library/init/meta): add subst_vars tactic
2017-03-01 15:11:17 -08:00
Leonardo de Moura
132a629eb7
fix(library/tactic/induction_tactic): use whnf when inferring C.rec name
2017-03-01 14:29:26 -08:00
Leonardo de Moura
7b0a18167b
feat(library/constructions/drec): add drec_on and refactor
2017-03-01 14:12:10 -08:00
Leonardo de Moura
5fa7d765ac
chore(emacs/lean-server): remove leftover from experiment
2017-02-28 22:57:20 -08:00
Leonardo de Moura
17556758cb
feat(library/constructions,library/inductive_compiler): automatically generate dependent eliminator for inductive predicates
...
The dependent eliminator for an inductive predicate C is called C.drec
TODO: construct dcases_on and drec_on using C.drec
We need this recursor for implementing dependent elimination for
inductive predicates.
We don't need to define acc.drec and eq.drec in the standard library anymore.
2017-02-28 20:58:04 -08:00
Leonardo de Moura
cad379333d
feat(util/memory_pool): put limit on the size of memory_pool free_lists
...
See #1405
Memory consumption is still high, but I didn't manage to cross the 2Gb
limit anymore with this commit even after hundreds of modifications.
@gebner I'm not seeing a big difference betwee Lean without memory_pool,
with bounded memory_pool and unbounded memory_pool. We may even consider
removing it in the future after a more careful benchmarking.
In the benchmark (https://gist.github.com/leodemoura/b27fb4203a13a67274b388a602149303 ),
I'm getting the following numbers:
- No memory_pool: runtimes between 3.532s - 3.556s
- With memory_pool bounded by 8192: runtimes between 3.32s - 3.44s
- With memory_pool (with no limit): runtimes between 3.32s - 3.44s
On the other hand, the small object allocator makes a big difference.
I used your list_rev.lean example.
- with: 2.62s
- without: 3.75s
2017-02-28 15:16:43 -08:00
Leonardo de Moura
1fa1312c57
chore(CMakeLists,frontends/lean): add SAVE_SNAPSHOT=OFF SAVE_INFO=OFF compilation options
2017-02-28 12:09:19 -08:00
Gabriel Ebner
f5ae60e667
feat(init/init): write allocation stats to stderr
2017-02-28 11:56:52 -08:00
diakopter
cbaf060a80
chore(library): override warning
2017-02-28 11:24:21 -08:00
Leonardo de Moura
db5b709d9c
feat(CMakeLists,util): add CUSTOM_ALLOCATORS=OFF compilation option
2017-02-28 11:13:54 -08:00
Leonardo de Moura
544d5c67f4
feat(CMakeLists,kernel): add TRACK_LIVE_EXPRS=ON compilation option
2017-02-28 10:56:14 -08:00
Leonardo de Moura
ba641ce29f
feat(CMakeLists,util): add TRACK_CUSTOM_ALLOCATORS=ON compilation option
2017-02-28 10:38:09 -08:00
Leonardo de Moura
28938090c1
feat(library/data): add hash_map's
2017-02-27 23:17:10 -08:00
Leonardo de Moura
1da93c4d28
feat(CMakeLists, shell/lean): add -D ALPHA=ON cmake option for enabling alpha features (i.e., wip)
...
@jroesch This commit also marks --compile as an alpha feature.
2017-02-26 23:06:45 -08:00
Leonardo de Moura
2386c18ee5
fix(library/tactic/eval): make sure old position information nested in the expression being evaluated is not used in type error messages
...
see #1401
2017-02-26 22:38:24 -08:00
Leonardo de Moura
184d505d51
fix(library/compiler/preprocess): do not unfold noncomputable definitions in the compiler
...
see #1401
2017-02-26 22:05:16 -08:00
Leonardo de Moura
d7674dd060
chore(CMakeLists): bumped master branch to 3.1.1
2017-02-25 18:12:04 -08:00
Gabriel Ebner
fcc0f30b84
fix(frontends/lean/definition_cmds): set scope_pos_info when checking examples
2017-02-25 12:56:46 -08:00
Leonardo de Moura
04e27eb96f
feat(library/init/meta/tactic): add applyc tactic
2017-02-25 12:55:28 -08:00
Leonardo de Moura
7ec0505e94
chore(library/init/meta/vm): style
2017-02-25 12:47:58 -08:00
Leonardo de Moura
35acad642c
feat(library/init/meta/tactic): add to_string instance
2017-02-25 12:47:46 -08:00
Leonardo de Moura
5a924699d0
feat(library/tools/mini_crush): add nano crush
2017-02-24 23:14:05 -08:00
Leonardo de Moura
52221cdbd1
fix(frontends/lean/elaborator): {} elaboration issue
2017-02-24 21:20:39 -08:00
Leonardo de Moura
57c125c60e
chore(library/init/meta/expr): unsigned ==> nat
2017-02-24 19:34:11 -08:00
Leonardo de Moura
921d72b6c4
feat(library/init/meta): add helper tactics
2017-02-24 16:26:47 -08:00
Gabriel Ebner
7e3be51a52
chore(*): remove last remnants of mpfr
2017-02-24 21:42:58 +01:00
Gabriel Ebner
38b8814356
chore(travis,appveyor): remove mpfr
2017-02-24 21:41:59 +01:00
Gabriel Ebner
decbd81dde
chore(README.md): remove obsolete mpfr dependency
2017-02-24 21:39:30 +01:00
Gabriel Ebner
b7f8debd0f
chore(README.md): don't mention disabled-by-default tcmalloc dependency
2017-02-24 21:38:35 +01:00
Gabriel Ebner
9e54b9d58b
refactor(README.md): clean up readme header
2017-02-24 21:37:21 +01:00
Gabriel Ebner
e2147598ec
refactor(README.md): provide only one set of build instructions
2017-02-24 21:32:39 +01:00
Gabriel Ebner
9bcfc06bd0
fix(library/module): has_sorry: check examples
2017-02-24 21:08:49 +01:00
Gabriel Ebner
c6ccda0f98
chore(library/tools/super/factoring): use modern syntactic sugar
2017-02-24 21:08:46 +01:00
Gabriel Ebner
d27ff2e68b
refactor(library/tools/super/prover_state): derived_clause.update_proof
2017-02-24 20:21:52 +01:00
Gabriel Ebner
79afaa7421
feat(library/init/meta/tactic): add timetac combinator
2017-02-24 20:17:19 +01:00
Leonardo de Moura
b5276a1c6f
chore(README): add gitter badge
2017-02-24 09:11:04 -08:00
Leonardo de Moura
552a185e6a
feat(frontends/lean): 'let' in 'do' blocks
2017-02-24 09:10:36 -08:00
Leonardo de Moura
5c7ade4ee4
chore(library/init/meta/vm): indentation
2017-02-23 09:32:20 -08:00
Jared Roesch
9b80e3bb62
feat(library/init/meta/vm): add decidable_eq for vm_obj_kind
2017-02-23 09:31:57 -08:00