Daniel Selsam
52f87760d8
feat(src/library/inductive_compiler): support for nested inductive types
2016-09-16 12:50:59 -07:00
Leonardo de Moura
d43764b6fb
refactor(library/tactic/defeq_simplifier): move defeq_simp_lemmas to library
...
This commit also renames them to "rfl_lemmas".
Reason: these lemmas will be used at type_context::is_def_eq and type_context::whnf
2016-09-12 10:36:11 -07:00
Daniel Selsam
b0c5744eea
feat(inductive_compiler): support for mutually inductive types
2016-09-10 14:22:27 -07:00
Leonardo de Moura
1afd81384f
chore(library/let): delete let-macro hack
2016-09-10 13:06:07 -07:00
Leonardo de Moura
9c8e9e07ae
refactor(library): injectivity ==> inverse
2016-09-07 08:16:14 -07:00
Leonardo de Moura
f954ddbdbf
feat(library/injectivity): add injectivity attribute
2016-09-06 18:01:09 -07:00
Leonardo de Moura
2a912c2650
feat(frontends/lean, library): move constructor attribute to frontend
...
Now, it only affects the elaborator.
2016-09-05 09:34:45 -07:00
Leonardo de Moura
a74f02546b
refactor(*): remove abbreviation command
2016-09-03 17:11:29 -07:00
Sebastian Ullrich
ca8be3857c
feat(library/user_attribute): add user-defined attributes and make attribute_manager environment-aware
2016-08-18 12:56:44 -07:00
Leonardo de Moura
5ffa481634
chore(library): remove dead code
2016-08-17 10:45:54 -07:00
Daniel Selsam
53190c38ca
feat(library/inductive): scaffold for inductive type manager
2016-08-11 13:48:54 -07:00
Sebastian Ullrich
661fafc940
refactor(frontends/lean): replace different attribute classes with single scoped_ext
2016-07-29 18:51:23 -04:00
Leonardo de Moura
a64d1a77ea
refactor(library, frontends/lean): remove old coercion management module
2016-07-29 13:51:26 -07:00
Daniel Selsam
e7cee1b2cd
feat(src/library/mpq_macro): numeral macros
2016-07-29 10:44:43 -07:00
Leonardo de Moura
5b0100ef0b
refactor(library/lazy_abstraction): lazy ==> delayed
2016-07-27 13:53:17 -07:00
Leonardo de Moura
579f643d1d
refactor(library): move kabstract to tactic folder
2016-07-18 09:57:02 -04:00
Leonardo de Moura
0213f1970f
feat(library): add kabstract
2016-07-16 15:41:31 -04:00
Daniel Selsam
9327d85f6c
chore(library/defeq_simplifier): move to new module inside library/tactic
2016-06-22 17:18:57 -07:00
Leonardo de Moura
16c050b66c
reactor(library): port fun_info_manager to new type_context (and rename module to fun_info)
2016-06-21 10:42:38 -07:00
Leonardo de Moura
586baa4118
feat(library,frontends/lean): support for quoted expressions in the VM, compiler and frontend
...
TODO: invoke elaborator at tactic.to_expr
2016-06-15 16:06:39 -07:00
Leonardo de Moura
9fad884dd8
feat(library/tactic): add tactic.mk_app for using app_builder
2016-06-14 17:13:10 -07:00
Leonardo de Moura
a16e3343a0
chore(library,frontends/lean): disable modules that need to be refactored
2016-06-14 10:02:11 -07:00
Leonardo de Moura
b0b008d0bd
feat(library): add lazy_abstraction macro
2016-06-10 18:29:40 -07:00
Leonardo de Moura
224203f215
feat(library,frontends/lean/builtin_cmds): store export cmds and replay them
...
see #603
closes #723
2016-06-03 12:51:12 -07:00
Leonardo de Moura
6a9e5079c9
feat(library,frontends/lean/pp): add support for new string encoding
2016-05-24 16:20:43 -07:00
Leonardo de Moura
399b83122c
refactor(library): move vm to a separate directory
2016-05-12 14:45:06 -07:00
Leonardo de Moura
3dd7cd7403
feat(library/vm): implement nat functions in C++
2016-05-10 17:35:53 -07:00
Leonardo de Moura
7cca77c97c
dev(library/type_context): improve is_productive, add better tracing
2016-03-25 15:38:04 -07:00
Leonardo de Moura
f72d06c31e
refactor(library): remove resolve_macro
2016-03-21 18:04:43 -07:00
Leonardo de Moura
384e8bf7bf
refactor(library): remove unifier_plugin
2016-03-21 17:57:53 -07:00
Leonardo de Moura
9cf995fae8
refactor(library/util): move more procedures from old_util to util
2016-03-21 14:25:40 -07:00
Leonardo de Moura
8dde1489f9
refactor(library/util): isolate util procedures that depend on old_type_checker
2016-03-21 13:36:08 -07:00
Leonardo de Moura
d8079aa16a
refactor(library): create copy of the kernel type_checker in library
...
Motivation: it will allow us to simplify the kernel type_checker and
make sure it implements the same API provided by type_context
2016-03-18 14:34:10 -07:00
Leonardo de Moura
4543dc4a7f
feat(library): add metavar_context
2016-03-05 12:53:45 -08:00
Leonardo de Moura
05f58547c5
chore(library/type_context): rename type_context to old_type_context
...
We are going to implement a new type_context object.
2016-03-04 10:51:04 -08:00
Leonardo de Moura
eaac6ba721
chore(library/type_context): rename default_type_context to legacy_type_context and move it to different file
2016-03-04 10:26:50 -08:00
Daniel Selsam
d521063dfb
feat(library/defeq_simplifier): new simplifier that uses only definitional equalities
2016-02-22 11:01:36 -08:00
Daniel Selsam
bb4b8da582
feat(library/unification_hint): basic handling of user-supplied unification hints
2016-02-12 11:48:51 -08:00
Leonardo de Moura
f67181baf3
chore(*): remove support for Lua
2016-02-11 17:17:55 -08:00
Leonardo de Moura
f3b8aef24c
feat(library/fun_info_manager,library/congr_lemma_manager,blast/simplifier): specialized congruence lemmas
...
We still need a lot of polishing.
2016-01-06 17:29:35 -08:00
Leonardo de Moura
155df48665
feat(library): remove decl_stats
...
We are not using (and will not use) this module in the blast proof procedures
2016-01-02 13:00:43 -08:00
Leonardo de Moura
45dbf76df9
refactor(library): add attribute manager
2015-12-17 20:58:15 -08:00
Leonardo de Moura
193a9d8cde
refactor(library/norm_num): avoid manual constant name initialization
...
@rlewis1988 We group all Lean constants used in the C++ code at
src/library/constants.txt
Jeremy and Floris check this file before renaming constants in the
library. So, they can quickly decide whether C++ code will be affected
or not.
We also have a python script for initializing the C++ name objects.
To use the script:
- go to src/library
- execute
python ../../script/gen_constants_cpp.py constants.txt
It will create the boring initialization and finalization code, and
declare a procedure get_<id>_name() for each constant in the file constants.txt.
I also move the norm_num1.lean to the set of unit tests that are
executed whenever we push a commit to the main branch.
I found an assertion violation at line 606. Could you take a look?
Best,
Leo
2015-12-13 21:38:59 -08:00
Leonardo de Moura
9df10a4048
feat(library): add tracing messages to app_builder and congr_lemma_manager
2015-12-08 13:36:11 -08:00
Leonardo de Moura
6b1469264d
feat(library/trace): add new tracing infrastructure
2015-12-08 11:58:03 -08:00
Daniel Selsam
139536896c
feat(library/light_lt_manager): light wrappers for ordered rewriting
2015-12-02 22:56:54 -08:00
Leonardo de Moura
980eb95e0c
fix(library/type_context,library/blast/blast): blast uses multiple type_context objects, this commit makes sure all of them use the same local name generator
2015-11-08 14:05:01 -08:00
Leonardo de Moura
87ec7383dd
fix(library/tmp_type_context): initialization
2015-11-08 14:05:00 -08:00
Leonardo de Moura
27904787fe
refactor(library/type_inference): rename type_inference module to type_context
2015-11-08 14:05:00 -08:00
Leonardo de Moura
0446c43ebf
refactor(library/class_instance_resolution): use new generic type_inference module to implement type class resolution
2015-11-08 14:04:57 -08:00