Leonardo de Moura
dacc4c9cd6
chore(kernel): move abstract_type_context to library
2018-09-08 08:29:51 -07:00
Leonardo de Moura
3e5f59d6df
chore(kernel): remove expr.quote constructor
...
In Lean4, we will reify expressions.
2018-09-07 22:08:08 -07:00
Leonardo de Moura
4ddd915886
chore(kernel): remove dummy file
2018-09-07 21:43:15 -07:00
Leonardo de Moura
aa3292eb36
feat(kernel/type_checker): remove m_memoize
...
It is always `true`
2018-09-07 20:50:53 -07:00
Leonardo de Moura
88d4a1b0cd
feat(kernel/inductive): inductive_reduce_rec should not throw exception when it finds an unknown constant
...
It should just fail to reduce. This is important when using it in the elaborator.
2018-09-07 17:34:54 -07:00
Leonardo de Moura
1b81577d8b
fix(kernel/inductive): remove unnecessary whnf
...
The frontend is responsible for unfolding reducible definitions before
sending inductive declarations to the kernel.
2018-09-07 17:27:08 -07:00
Leonardo de Moura
6b673d1ca9
chore(util,kernel): consistent constructors for object_ref-like wrappers
2018-09-07 17:06:41 -07:00
Leonardo de Moura
2946174c1e
chore(kernel): remove old_type_checker
2018-09-07 08:55:37 -07:00
Leonardo de Moura
a3d886f1e8
chore(kernel/type_checker): remove leftover
2018-09-07 08:51:21 -07:00
Leonardo de Moura
81bf600973
chore(kernel/type_checker): fix style
2018-09-06 18:12:20 -07:00
Leonardo de Moura
58e91559d0
feat(*): use new inductive datatype module
2018-09-06 18:09:22 -07:00
Leonardo de Moura
afb9584a63
feat(kernel): store at inductive_val whether the type is reflexive or not
2018-09-05 14:46:03 -07:00
Leonardo de Moura
9970019f76
fix(kernel/inductive): incorrect assertion
...
It fails on non parametric datatypes with nullary constructors.
2018-09-05 09:52:25 -07:00
Leonardo de Moura
176e0a3ed3
fix(kernel/inductive): typo
2018-09-04 17:32:18 -07:00
Leonardo de Moura
4da40f5d0e
chore(kernel/quot): remove unnecessary include
2018-09-04 17:22:16 -07:00
Leonardo de Moura
10a7eccecd
feat(library/constructions/cases_on): add cases_on for new inductive datatype module
2018-09-04 09:26:16 -07:00
Leonardo de Moura
0285579893
fix(kernel/inductive): bug at inductive_reduce_rec
2018-09-03 17:05:13 -07:00
Leonardo de Moura
d325a4dd1d
feat(library/type_context, kernel/type_checker): use inductive_reduce_rec
2018-09-03 16:52:53 -07:00
Leonardo de Moura
ccfcd8279f
fix(kernel/inductive): bug
2018-09-03 16:41:51 -07:00
Leonardo de Moura
799c133326
feat(kernel/inductive): add inductive_is_stuck
2018-09-03 16:06:29 -07:00
Leonardo de Moura
59fa70616a
feat(kernel/inductive): add reduce
2018-09-03 15:22:15 -07:00
Leonardo de Moura
dd03747d22
chore(kernel): univ_param vs lparam, level_param_names ==> names, and other inconsistencies
2018-09-03 13:05:42 -07:00
Leonardo de Moura
7928dbb239
chore(kernel): get_constructor ==> get_cnstr
2018-09-03 12:30:49 -07:00
Leonardo de Moura
47bc71f4fa
feat(kernel/inductive): postprocess recursors and their rules
2018-09-02 21:06:51 -07:00
Leonardo de Moura
f9d87e7a98
feat(kernel/inductive): add inductive postprocessor
...
We still need to restore recursors and their rules
2018-09-02 17:44:19 -07:00
Leonardo de Moura
41a87f6856
feat(kernel/inductive): normalize parameter names
2018-09-02 16:40:31 -07:00
Leonardo de Moura
7d4097818b
feat(kernel/inductive): add recursor rules
2018-09-02 15:55:29 -07:00
Leonardo de Moura
f30cb0635f
chore(kernel/inductive): cleanup
2018-09-02 09:26:58 -07:00
Leonardo de Moura
98f035088c
chore(kernel/inductive): cleanup
2018-08-31 18:01:26 -07:00
Leonardo de Moura
517923d362
feat(kernel/inductive): generate recursors in the new inductive datatype module
2018-08-31 17:47:22 -07:00
Leonardo de Moura
2fb677f1d0
feat(kernel/inductive): add positivity check to new inductive datatype module
2018-08-31 09:52:38 -07:00
Leonardo de Moura
706d7045c3
feat(kernel/inductive): add nested => mutual preprocessor
2018-08-30 18:05:43 -07:00
Leonardo de Moura
f1105e108a
fix(kernel/inductive): bug at check_inductive_types
2018-08-30 18:05:43 -07:00
Leonardo de Moura
863355c6a0
feat(kernel/inductive): continue new inductive datatype module
...
Add more validation, and create new inductive_val and constant_val objects.
2018-08-29 09:27:06 -07:00
Leonardo de Moura
f765eec626
fix(kernel/type_checker): typo in error message
2018-08-29 09:21:35 -07:00
Leonardo de Moura
d1d56776ad
feat(kernel): invoke add_inductive for inductive datatype declarations
2018-08-28 15:54:46 -07:00
Leonardo de Moura
101886ffae
feat(kernel): proper constant_info and declaration objects for quot type
2018-08-28 13:46:31 -07:00
Leonardo de Moura
161431e995
feat(kernel): implement new mutual_definition declaration object
...
This commit also removes the old `environment::add_meta` hackish method.
2018-08-28 10:30:44 -07:00
Leonardo de Moura
776c977742
refactor(kernel): continue constant_info/declaration refactoring
2018-08-27 17:23:26 -07:00
Leonardo de Moura
96ff6b1718
feat(util/object_ref): add helper functions
2018-08-27 16:28:37 -07:00
Leonardo de Moura
27ef29a50f
refactor(kernel/declaration): continue constant_info/declaration refactoring
2018-08-27 13:22:10 -07:00
Leonardo de Moura
252a017445
chore(library/inductive_compiler): remove nested.cpp
...
We added a temporary hack in the old inductive datatype module: we
accept nested inductive declarations.
2018-08-23 10:49:40 -07:00
Leonardo de Moura
82095cc018
refactor(kernel): split declaration into declaration and constant_info
...
This is just another step towards the design described at commit 16598391a07d4a
2018-08-22 17:53:11 -07:00
Leonardo de Moura
f3e99286bb
chore(kernel): remove certified_declaration
2018-08-22 12:11:34 -07:00
Leonardo de Moura
dc477db71e
chore(kernel/environment): remove environment::is_descendant
...
We will remove certified_declaration since we are adding tasks to the
kernel. We have removed `environment::replace`. We also don't need it
for checking the consistency of thread local caches since they will be
removed.
2018-08-21 13:25:58 -07:00
Leonardo de Moura
f6684b24c6
chore(kernel): cleanup
2018-08-21 13:09:27 -07:00
Leonardo de Moura
d9399924c9
chore(kernel/type_checker): hide aux procedure
2018-08-21 12:59:12 -07:00
Leonardo de Moura
027ce06f89
chore(kernel/environment): remove environment::replace
...
We added tasks to the runtime.
2018-08-21 12:47:08 -07:00
Leonardo de Moura
47d74e1a5a
chore(kernel/declaration): minor cleanup
2018-08-21 10:11:23 -07:00
Leonardo de Moura
9d35d31529
refactor(kernel): merge constant_assumption and axiom
2018-08-01 09:57:47 -07:00