Leonardo de Moura
3d088eea25
fix(library/equations_compiler): avoid name collision when pack_mutual is not used
2017-05-21 15:40:06 -07:00
Leonardo de Moura
9fb7e5c931
feat(library/equations_compiler): generate equational lemmas for auxiliary _main definitions
2017-05-21 15:21:28 -07:00
Leonardo de Moura
4e496b78d5
feat(library/equations_compiler): unpack auxiliary definition
...
We still need to unpack auxiliary lemmas, and propagate information in
the frontend.
2017-05-20 20:34:18 -07:00
Leonardo de Moura
f742d9c9d8
feat(library/equations_compiler/pack_domain): use psigma instead of sigma
2017-05-20 19:14:10 -07:00
Leonardo de Moura
fa863496da
feat(library/equations_compiler): prove equational lemmas for auxiliary definition
2017-05-20 16:38:32 -07:00
Leonardo de Moura
08560acf07
fix(library/equations_compiler): bugs in wf_rec
2017-05-20 13:26:49 -07:00
Leonardo de Moura
ab03a6af16
feat(library/equations_compiler/wf_rec): avoid unnecessary revert/intro's
2017-05-20 08:58:22 -07:00
Daniel Selsam
0bc855149a
feat(inductive_compiler): generate sizeof_spec for nested constructors
2017-05-20 08:30:57 -07:00
Sebastian Ullrich
9507297687
fix(init/meta/expr,library): reflect should accept Props
...
Fixes #1590
2017-05-19 14:17:06 +02:00
Leonardo de Moura
789d4e148f
feat(library/equations_compiler): add pack_mutual
...
This step packs a collection of mutually recursive functions into a
single one. We use `psum` to combine the different domains, and
`psum.cases_on` to combine the codomains.
2017-05-18 15:29:51 -07:00
Leonardo de Moura
22d0dc197c
fix(library/equations_compiler/pack_domain): bug in pack_domain
2017-05-18 14:24:38 -07:00
Leonardo de Moura
b69cf7ef43
fix(library/tactic/rewrite_tactic): instantiate assign metavars before rewriting
...
fixes #1587
2017-05-18 10:57:03 -07:00
Leonardo de Moura
7d937dcfcb
fix(library/tactic/simplify): instantiate assigned metavariables in the simplifier
...
This fixes a problem similar to the one described at #1587
2017-05-18 10:52:11 -07:00
Gabriel Ebner
7353a54aac
fix(library/vm/vm): prevent segfault
2017-05-18 09:41:31 -07:00
Gabriel Ebner
d9f5e0bb1f
fix(library/app_builder): prevent segfault
2017-05-18 09:41:31 -07:00
Gabriel Ebner
4528711efb
fix(library/type_context): prevent segfault
...
Temporary metavariables appeared here when pretty-printing simp_lemmas.
2017-05-18 09:41:31 -07:00
Leonardo de Moura
737136e8fd
feat(library/equations_compiler/wf_rec): apply well_founded.fix
2017-05-17 16:44:53 -07:00
Leonardo de Moura
4982e23dca
feat(library/equations_compiler/wf_rec): eliminate recursive calls using functional
2017-05-17 15:56:53 -07:00
Leonardo de Moura
56823a22b7
feat(library/equations_compiler/wf_rec): use has_well_founded type class to generate default well founded relation when one is not provided
2017-05-17 14:37:21 -07:00
Leonardo de Moura
1c87319b58
feat(library/equations_compiler): add wf_rec skeleton
2017-05-17 12:47:52 -07:00
Leonardo de Moura
dea8a856dc
chore(library/equations_compiler/compiler): generate error when using well founded recursion in meta definitions
2017-05-17 12:24:47 -07:00
Sebastian Ullrich
84997bf4de
refactor(init/meta/expr): unify expr and pexpr
2017-05-17 10:38:12 -07:00
Leonardo de Moura
0091cef9f2
feat(library/tactic): start algebraic normalizer
2017-05-15 21:46:19 -07:00
Leonardo de Moura
eddc5b0869
chore(kernel/environment): rename method
2017-05-15 14:18:16 -07:00
Sebastian Ullrich
808ab73d93
refactor(init): use list for expr.macro args
2017-05-14 19:17:28 -07:00
Sebastian Ullrich
42eb0c680e
feat(kernel/inductive,library/inductive_compiler): do not enforce positivity rule on meta inductives
2017-05-14 19:17:28 -07:00
Gabriel Ebner
b3975c8fc1
chore(library/vm/vm_expr): fix compiler warning
2017-05-11 11:04:11 +02:00
Sebastian Ullrich
4b21b13649
refactor(init): replace has_quote class with reflected
2017-05-09 16:02:42 -07:00
Sebastian Ullrich
ead6318ee0
feat(frontends/lean/elaborator): substitute reflected locals into expr quotes
2017-05-09 16:02:41 -07:00
Sebastian Ullrich
8c0394b294
refactor(library,frontends/lean): separate expr and pexpr macros
2017-05-09 16:02:41 -07:00
Sebastian Ullrich
2825c5fbcc
feat(frontends/lean/elaborator): elaborate ``(e) to type reflected e` if possible and add coercion reflected -> expr
2017-05-09 16:02:41 -07:00
Leonardo de Moura
3f5bbfa0cf
fix(library/parray): missing lock
2017-05-09 13:57:28 -07:00
Leonardo de Moura
a3679a43a1
fix(library/parray): unique_lock ==> lock_guard
2017-05-09 13:57:28 -07:00
Leonardo de Moura
0ef0a7f466
chore(library/parray): more assertions
2017-05-09 13:57:28 -07:00
Leonardo de Moura
8802f7cd19
chore(library/phashtable): unnecessary/incorrect annotations
2017-05-09 13:57:28 -07:00
Leonardo de Moura
00887ba3ec
chore(library/parray): more assertions
2017-05-09 13:57:28 -07:00
Leonardo de Moura
2ddd413bef
fix(library/parray): reroot split optimization is incorrect when ThreadSafe == true
2017-05-09 13:57:28 -07:00
Leonardo de Moura
970529a8e9
fix(library/parray): copy method must create a copy of the mutex too (when ThreadSafe == true)
2017-05-09 13:57:28 -07:00
Leonardo de Moura
afadf2b1e1
feat(library/phash_map): add name_hash_map
2017-05-09 13:57:28 -07:00
Leonardo de Moura
bea122bb22
fix(library/phash_map,library/phashtable): missing const and operator
2017-05-09 13:57:28 -07:00
Gabriel Ebner
b536df3596
feat(library/type_context): add option to unfold lemmas
2017-05-08 10:14:47 -07:00
Gabriel Ebner
b4c73e562e
fix(library/vm/vm_io): use correct memory layout for io.environment
2017-05-08 15:07:48 +02:00
Gabriel Ebner
40bf75cbff
fix(library/equations_compiler/structural_rec): fix indices
2017-05-07 15:52:39 +02:00
Leonardo de Moura
d21945fa86
feat(library/phash_map): add persistent hash_map based on phashtable
2017-05-05 12:36:13 -07:00
Gabriel Ebner
f0d22ed3e5
feat(library/process,system/io): set environment variables for spawned processes
2017-05-04 16:41:11 -07:00
Gabriel Ebner
1b8533130b
feat(system/io): add function to get environment variables
2017-05-04 16:41:11 -07:00
Daniel Selsam
b7d20a333f
chore(src/library/constants): rm unused constants
2017-05-04 16:34:32 -07:00
Daniel Selsam
d727abeefc
chore(library/inductive_compiler/nested.cpp): prove all theorems in C++
2017-05-04 16:34:32 -07:00
Leonardo de Moura
9d5dacd554
test(tests/library/phashtable): add tests
2017-05-04 16:18:03 -07:00
Leonardo de Moura
bdf4d69702
feat(library): add persistent hashtable based on parray
2017-05-04 15:35:25 -07:00