lean2/src/library
Leonardo de Moura edcbe6fe10 feat(frontends/lean): allow multiple coercions from class A to B, closes #187
See new tests (for examples)
tests/lean/run/coe10.lean
tests/lean/run/coe11.lean
tests/lean/run/coe9.lean

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-09-14 12:59:43 -07:00
..
error_handling chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
rewriter chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
simplifier refactor(*): use + for concatenating format objects 2014-08-24 09:35:25 -07:00
tactic refactor(library/unifier): add option m_discard too unifier, if m_discard == false, then unsolved flex-flex constraints are returned, the unifier also does not apply "last resource" techniques that may miss many solutions. 2014-09-11 14:49:35 -07:00
aliases.cpp feat(frontends/lean): add 'export' command 2014-09-03 18:37:01 -07:00
aliases.h feat(frontends/lean): add 'export' command 2014-09-03 18:37:01 -07:00
annotation.cpp feat(frontends/lean): add proof-qed expression 2014-09-11 18:14:49 -07:00
annotation.h feat(frontends/lean): add proof-qed expression 2014-09-11 18:14:49 -07:00
bin_app.cpp feat(library/bin_app): add simpler is_bin_app predicate 2014-05-15 13:53:11 -07:00
bin_app.h feat(library/bin_app): add simpler is_bin_app predicate 2014-05-15 13:53:11 -07:00
choice.cpp fix(library/choice): style 2014-07-21 01:36:53 +01:00
choice.h feat(library): add choice expressions 2014-06-11 14:35:34 -07:00
CMakeLists.txt refactor(frontends/lean): replace collect_metavars with metavar_closure helper class 2014-09-11 14:49:35 -07:00
coercion.cpp feat(frontends/lean): allow multiple coercions from class A to B, closes #187 2014-09-14 12:59:43 -07:00
coercion.h feat(frontends/lean): allow multiple coercions from class A to B, closes #187 2014-09-14 12:59:43 -07:00
decl_macros.h refactor(*): replace LEAN_THREAD_LOCAL with MK_THREAD_LOCAL_GET, the new macro uses the Boost thread_local_ptr instead of 'thread_local' directive 2014-06-07 10:18:36 -07:00
declaration_index.cpp feat(library/declaration_index): add 'a|abbreviation-name|declaration-name' entries in .ilean files 2014-09-04 09:30:25 -07:00
declaration_index.h feat(library/declaration_index): add 'a|abbreviation-name|declaration-name' entries in .ilean files 2014-09-04 09:30:25 -07:00
deep_copy.cpp chore(kernel/replace_fn): add syntax sugar for replace function 2014-07-19 12:53:37 +01:00
deep_copy.h refactor(kernel): move shallow copy function to library 2014-05-17 11:20:24 -07:00
definition_cache.cpp feat(frontends/lean/server): add CLEAR_CACHE command, closes #100 2014-08-27 10:31:01 -07:00
definition_cache.h feat(frontends/lean/server): add CLEAR_CACHE command, closes #100 2014-08-27 10:31:01 -07:00
explicit.cpp fix(frontends/lean/elaborator): bug when elaborating expressions with multiple annotations 2014-09-04 11:23:58 -07:00
explicit.h fix(frontends/lean/elaborator): bug when elaborating expressions with multiple annotations 2014-09-04 11:23:58 -07:00
expr_lt.cpp fix(library/expr_lt): make sure the builtin order is AC-compatible 2014-08-04 15:51:10 -07:00
expr_lt.h feat(library/expr_lt): add expr_quick_cmp functional object 2014-05-29 13:34:16 -07:00
expr_pair.h chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
expr_pair_maps.h refactor(*): uses aliases for unordered_map and unordered_set 2013-12-18 12:30:45 -08:00
head_map.cpp feat(library/head_map): a simple indexing datastructure 2014-07-08 15:08:13 -07:00
head_map.h chore(util/list): add inline functions for commonly used patterns in list processing code 2014-08-03 13:51:38 -07:00
hott_kernel.cpp chore(util/list): add inline functions for commonly used patterns in list processing code 2014-08-03 13:51:38 -07:00
hott_kernel.h refactor(kernel): move standard and hott kernel instantiations to library 2014-07-05 10:31:27 -07:00
inductive_unifier_plugin.cpp refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead 2014-08-20 16:46:19 -07:00
inductive_unifier_plugin.h refactor(library/unifier): move inductive datatype support to inductive_unifier_plugin 2014-07-05 11:00:35 -07:00
io_state.cpp feat(library/io_state): add default constructor to io_state 2014-09-11 14:49:35 -07:00
io_state.h feat(library/io_state): add default constructor to io_state 2014-09-11 14:49:35 -07:00
io_state_stream.cpp feat(frontends/lean): add --flyinfo option 2014-07-31 19:54:21 -07:00
io_state_stream.h feat(frontends/lean): add info_manager 2014-08-06 15:25:28 -07:00
kernel_bindings.cpp refactor(library/simple_formatter): rename simple_formatter to print 2014-08-22 10:32:08 -07:00
kernel_bindings.h refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead 2014-08-20 16:46:19 -07:00
kernel_serializer.cpp refactor(kernel): move annotation to library 2014-08-22 10:38:10 -07:00
kernel_serializer.h feat(library): add definitions_cache datastructure for implementing .clean files 2014-08-10 09:53:13 -07:00
let.cpp fix(frontends/let): let-expression pretty printer 2014-08-29 10:58:27 -07:00
let.h fix(frontends/let): let-expression pretty printer 2014-08-29 10:58:27 -07:00
level_names.cpp chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
level_names.h chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
locals.cpp refactor(frontends/lean): use expr_struct_set when collecting locals 2014-07-14 04:12:58 +01:00
locals.h feat(library/hop_match): port higher-order (pattern) matcher to Lean 0.2, we still have to implement support for universe levels 2014-08-03 16:03:58 -07:00
match.cpp refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead 2014-08-20 16:46:19 -07:00
match.h feat(library/match): add basic match_plugin that just invokes whnf before failing 2014-08-05 08:37:03 -07:00
max_sharing.cpp fix(library/max_sharing): take binder annotations into account 2014-06-28 08:31:09 -07:00
max_sharing.h refactor(kernel): move max_sharing to library 2014-05-17 11:15:08 -07:00
metavar_closure.cpp refactor(frontends/lean): replace collect_metavars with metavar_closure helper class 2014-09-11 14:49:35 -07:00
metavar_closure.h refactor(frontends/lean): replace collect_metavars with metavar_closure helper class 2014-09-11 14:49:35 -07:00
module.cpp chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
module.h feat(library/module): include name of corrupted .olean file 2014-08-14 11:28:44 -07:00
normalize.cpp refactor(kernel/type_checker): remove "global" constraint buffer from type_checker, and use constraint_seq instead 2014-08-20 16:46:19 -07:00
normalize.h feat(library): add simple normalization procedure 2014-05-20 09:40:30 -07:00
num.cpp feat(frontends/lean/inductive_cmd): prefix introduction rules with the name of the inductive datatype 2014-09-04 17:26:36 -07:00
num.h feat(frontends/lean): parse numerals as expressions of type 'num.num' 2014-07-02 08:09:33 -07:00
occurs.cpp refactor(kernel): move files that don't need to be in the kernel 2014-04-25 18:30:40 -07:00
occurs.h refactor(kernel): move files that don't need to be in the kernel 2014-04-25 18:30:40 -07:00
opaque_hints.cpp fix(*): make sure elaborator and type_checker use the same "rules" for treating opaque definitions 2014-07-27 12:12:54 -07:00
opaque_hints.h fix(*): make sure elaborator and type_checker use the same "rules" for treating opaque definitions 2014-07-27 12:12:54 -07:00
parser_nested_exception.h refactor(*): error messages 2014-01-13 16:54:21 -08:00
placeholder.cpp feat(frontends/lean): add synthesis information only for 'explicit' placeholder 2014-08-15 12:48:36 -07:00
placeholder.h feat(frontends/lean): add synthesis information only for 'explicit' placeholder 2014-08-15 12:48:36 -07:00
print.cpp fix(frontends/lean/pp): pretty print 'let-expressions', closes #87 2014-08-28 18:20:58 -07:00
print.h fix(frontends/lean/pp): pretty print 'let-expressions', closes #87 2014-08-28 18:20:58 -07:00
private.cpp chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
private.h chore(*): create alias for std::pair 2014-08-20 16:46:19 -07:00
protected.cpp feat(frontends/lean): add '[protected]' modifier 2014-09-03 15:01:13 -07:00
protected.h feat(frontends/lean): add '[protected]' modifier 2014-09-03 15:01:13 -07:00
register_module.h refactor(library): rename hop_match to match 2014-08-04 18:30:30 -07:00
resolve_macro.cpp refactor(library): add namespaces 'or', 'and' and 'iff' 2014-09-04 21:25:21 -07:00
resolve_macro.h feat(library/resolve_macro.cpp): add macro to encode propositional resolution proofs compactly 2014-05-15 13:53:11 -07:00
scoped_ext.cpp fix(library/scoped_ext): section/context should not affect namespace 2014-09-07 19:59:34 -07:00
scoped_ext.h feat(frontends/lean): persistent notation in sections 2014-09-06 11:14:20 -07:00
shared_environment.cpp chore(*): replace unique_lock with lock_guard when we do not need to use conditional variables 2014-06-07 20:55:25 -07:00
shared_environment.h perf(library/shared_environment): replace shared_mutex with simple mutex, the shared_mutex is just overhead and impacts negatively on performance tests 2014-05-27 08:34:44 -07:00
sorry.cpp fix(frontends/lean): wrong displayed type in proof with multiple sorry's, fixes #112 2014-08-29 14:32:53 -07:00
sorry.h fix(frontends/lean): wrong displayed type in proof with multiple sorry's, fixes #112 2014-08-29 14:32:53 -07:00
standard_kernel.cpp feat(kernel): add combinator for combining normalizer_extensions 2014-07-29 10:00:40 -07:00
standard_kernel.h refactor(kernel): move standard and hott kernel instantiations to library 2014-07-05 10:31:27 -07:00
string.cpp feat(frontends/lean/inductive_cmd): prefix introduction rules with the name of the inductive datatype 2014-09-04 17:26:36 -07:00
string.h feat(frontends/lean): parse strings as expressions of type 'string.string' 2014-07-02 10:00:55 -07:00
type_util.cpp refactor(library): add type_util module, and move get_expect_num_args to it 2014-09-03 08:40:03 -07:00
type_util.h refactor(library): add type_util module, and move get_expect_num_args to it 2014-09-03 08:40:03 -07:00
typed_expr.cpp feat(library): add typed_expr macro 2014-08-22 11:26:06 -07:00
typed_expr.h feat(library): add typed_expr macro 2014-08-22 11:26:06 -07:00
unifier.cpp feat(frontends/lean/elaborator): constraints associated with 'proof-qed' 2014-09-13 10:21:10 -07:00
unifier.h feat(frontends/lean/elaborator): constraints associated with 'proof-qed' 2014-09-13 10:21:10 -07:00
unifier_plugin.cpp refactor(library/unifier): store the unifier_plugin in the environment 2014-07-05 10:25:58 -07:00
unifier_plugin.h refactor(library/unifier): store the unifier_plugin in the environment 2014-07-05 10:25:58 -07:00
unsolved_metavar_exception.h feat(frontends/lean): improve error message for expressions containing unsolved metavariables 2014-01-13 13:21:44 -08:00
update_declaration.cpp chore(kernel/declaration): rename declaration::get_params to declaration::get_univ_params 2014-06-02 16:20:34 -07:00
update_declaration.h feat(library): add helper functions for 'updating' declarations 2014-06-02 15:13:38 -07:00