Leonardo de Moura
|
120d3b5c1a
|
fix(kernel/type_checker): error message
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-17 19:38:20 +01:00 |
|
Leonardo de Moura
|
9289717169
|
perf(kernel/expr): inline get_free_var_range, and cache its value for local and metavars
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-17 08:51:46 +01:00 |
|
Leonardo de Moura
|
9fcb31bd5e
|
perf(kernel/instantiate): add custom instantiate for 'easy' cases
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-17 08:29:04 +01:00 |
|
Leonardo de Moura
|
8798fa4419
|
fix(kernel/replace): make sure 'replace' is reentrant
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-17 04:37:27 +01:00 |
|
Leonardo de Moura
|
aae40f07e2
|
perf(kernel/expr): use thread local deletion buffer
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-16 08:39:03 +01:00 |
|
Leonardo de Moura
|
a748e8f858
|
perf(kernel/type_checker): improve infer_lambda performance
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-16 07:52:53 +01:00 |
|
Leonardo de Moura
|
c97b4c7725
|
perf(kernel/converter): improve is_def_eq_binding
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-16 07:33:45 +01:00 |
|
Leonardo de Moura
|
999782d89d
|
refactor(kernel/replace_fn): use thread local cache
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-15 05:34:45 +01:00 |
|
Leonardo de Moura
|
a18cf94d09
|
perf(library/unifier): minimize the use of instantiate_metavars
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-15 03:55:27 +01:00 |
|
Leonardo de Moura
|
46005b4ffe
|
perf(kernel/metavar): improve occurs_expr method
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-15 01:57:17 +01:00 |
|
Leonardo de Moura
|
ffdb43da02
|
perf(kernel/type_checker): improve infer_pi performance
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-14 22:56:38 +01:00 |
|
Leonardo de Moura
|
b72105efff
|
perf(kernel/type_checker): improve infer_lambda performance
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-14 22:39:45 +01:00 |
|
Leonardo de Moura
|
eac38d43c2
|
refactor(kernel/type_checker): break infer_type_core into smaller methods
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-14 22:15:52 +01:00 |
|
Leonardo de Moura
|
a38dc76b37
|
feat(kernel/metavar): add option to instantiate only expr metavars
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-12 05:54:05 +01:00 |
|
Leonardo de Moura
|
80d1a6b993
|
perf(kernel/converter): do not cache easy cases
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-12 05:39:14 +01:00 |
|
Leonardo de Moura
|
391e5e2bc2
|
perf(library/unifier): use d_instantiate_metavars
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-12 05:12:09 +01:00 |
|
Leonardo de Moura
|
9517f31a71
|
refactor(kernel/metavar): remove unnecessary functionality
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-12 04:45:50 +01:00 |
|
Leonardo de Moura
|
eeedb6fb18
|
fix(kernel/expr_eq_fn): typo
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-10 23:21:24 +01:00 |
|
Leonardo de Moura
|
6af7e7f794
|
fix(kernel/expr_eq_fn): take local pp name into account when annotations are considered in the equality test
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-10 18:56:50 +01:00 |
|
Leonardo de Moura
|
405e57eb2d
|
refactor(kernel/formatter): add formatter_factory, and simplify formatter interface
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-10 18:32:00 +01:00 |
|
Leonardo de Moura
|
1a6d0784f2
|
feat(kernel/level): improve universe level normalization procedure
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-10 13:49:41 +01:00 |
|
Leonardo de Moura
|
12d89ea0b9
|
fix(kernel/level): is_geq predicate
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-10 13:18:41 +01:00 |
|
Leonardo de Moura
|
a3be63af73
|
feat(frontends/lean): add tactic_hint command
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-08 15:08:13 -07:00 |
|
Leonardo de Moura
|
b956ce68d2
|
feat(frontends/lean/elaborator): keep postponing delayed coercions until the type can be inferred
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-07 12:50:43 -07:00 |
|
Leonardo de Moura
|
48b28ad75c
|
fix(library/unifier): missing test in flex_rigid
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-06 21:36:23 -07:00 |
|
Leonardo de Moura
|
dcf7cf00ff
|
fix(*): bugs in the type checker, inductive datatypes, and unifier
The bugs were indentified when performing the tiny change in the file
tests/lean/run/group.lean
|
2014-07-06 18:44:56 -07:00 |
|
Leonardo de Moura
|
9be1a4ab46
|
fix(library/module): module index assignment
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 23:32:18 -07:00 |
|
Leonardo de Moura
|
29981322b9
|
fix(kernel/type_checker): missing check
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 21:50:32 -07:00 |
|
Leonardo de Moura
|
59755289e4
|
feat(library/unifier): case split on constraints of the form (f ...) =?= (f ...), where f can be unfolded, and there are metavariables in the arguments
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 15:52:40 -07:00 |
|
Leonardo de Moura
|
fc4df6a430
|
feat(kernel/expr): add O(1) predicates has_expr_metavar and has_univ_metavar
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 13:11:30 -07:00 |
|
Leonardo de Moura
|
e366aadad0
|
refactor(library/converter): expose is_opaque predicate in the converter interface
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 12:05:23 -07:00 |
|
Leonardo de Moura
|
e445515f2b
|
refactor(kernel): move standard and hott kernel instantiations to library
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 10:31:27 -07:00 |
|
Leonardo de Moura
|
a52c9f4e2b
|
feat(library/unifier): add option 'unifier.unfold_opaque', remove option 'unifier.use_exceptions' (the user should not be able to change this)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-05 09:43:16 -07:00 |
|
Leonardo de Moura
|
d7cb1952ae
|
feat(kernel): simplify choice_fn, and make its interface closer to the unifier_plugin interface
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-04 12:47:33 -07:00 |
|
Leonardo de Moura
|
7fb2b0f6d8
|
feat(kernel): add method 'may_reduce_later' to normalizer_extension, and improve unifier
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-03 22:31:05 -07:00 |
|
Leonardo de Moura
|
aba4534acb
|
feat(library/unifier): 'forget' justifications after finding a solution, the justifications are only needed inside the unifier (for implementing nonchronological backtracking)
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-03 14:14:07 -07:00 |
|
Leonardo de Moura
|
a009225435
|
feat(kernel/metavar): expose destructive assign
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-03 14:07:47 -07:00 |
|
Leonardo de Moura
|
b49902807c
|
refactor(kernel/metavar): separate substitution from their justifications
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-03 14:01:22 -07:00 |
|
Leonardo de Moura
|
a7d660f875
|
feat(frontends/lean): add command for customizing the behavior of proof-qed blocks: we can automatically register tactics to be automatically applied before each component
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-02 20:45:10 -07:00 |
|
Leonardo de Moura
|
6a6ebd5c2d
|
refactor(kernel/metavar): add method instantiate as alias for instantiate_metavars_wo_jst
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-02 15:39:25 -07:00 |
|
Leonardo de Moura
|
a66a08c89e
|
feat(frontends/lean): parse strings as expressions of type 'string.string'
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-02 10:00:55 -07:00 |
|
Leonardo de Moura
|
4cb5f97038
|
refactor(library/tactic): simplify tactic framework, no more proof builders
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-07-01 16:11:19 -07:00 |
|
Leonardo de Moura
|
e3f9b21c30
|
fix(kernel/inductive): bug in inductive datatype computational rule, we *must* first instantiate universe variables, *and then* the arguments
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-30 14:15:16 -07:00 |
|
Leonardo de Moura
|
6e6f778ecf
|
fix(kernel/converter): missing case for local constants
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-30 12:57:25 -07:00 |
|
Leonardo de Moura
|
cb000eda13
|
refactor(kernel): store binder_infor in local constants
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-30 11:37:46 -07:00 |
|
Leonardo de Moura
|
360e9b9486
|
feat(library/tactic): add apply tactic
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-29 18:33:53 -07:00 |
|
Leonardo de Moura
|
a8f9594046
|
refactor(kernel/instantiate): rename instantiate_params to instantiate_univ_params
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-29 12:09:55 -07:00 |
|
Leonardo de Moura
|
193ce35419
|
refactor(frontends/lean/inductive_cmd): redesign inductive datatype elaboration, use the new elaborator, and use simpler algorithm to infer the resulting universe
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-28 15:33:56 -07:00 |
|
Leonardo de Moura
|
0adacb5191
|
feat(kernel): add infer implicit, and use it to infer implicit arguments of inductive datatype eliminators, and tag whether parameters should be implicit or not in introduction rules in the module inductive_cmd
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-28 13:57:36 -07:00 |
|
Leonardo de Moura
|
fa72e7b874
|
refactor(library/tactic): simplify tactic
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
2014-06-27 18:35:59 -07:00 |
|