2013-08-16 01:54:01 +00:00
|
|
|
|
/*
|
|
|
|
|
Copyright (c) 2013 Microsoft Corporation. All rights reserved.
|
|
|
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
|
|
|
|
|
|
Author: Leonardo de Moura
|
|
|
|
|
*/
|
2013-09-13 03:04:10 +00:00
|
|
|
|
#include "kernel/builtin.h"
|
|
|
|
|
#include "library/basic_thms.h"
|
2013-09-13 15:55:09 +00:00
|
|
|
|
#include "library/arith/arith.h"
|
2013-09-13 03:09:35 +00:00
|
|
|
|
#include "frontends/lean/frontend.h"
|
2013-08-16 01:54:01 +00:00
|
|
|
|
|
|
|
|
|
namespace lean {
|
|
|
|
|
/**
|
|
|
|
|
\brief Initialize builtin notation.
|
|
|
|
|
*/
|
2013-12-29 10:44:49 +00:00
|
|
|
|
void init_builtin_notation(environment const & env, io_state & ios, bool kernel_only) {
|
2013-12-29 01:31:35 +00:00
|
|
|
|
env->import_builtin(
|
|
|
|
|
"lean_notation",
|
|
|
|
|
[&]() {
|
2013-12-30 05:59:57 +00:00
|
|
|
|
// mark_implicit_arguments(env, mk_if_fn(), 1);
|
2013-08-30 21:26:12 +00:00
|
|
|
|
|
2013-12-29 10:44:49 +00:00
|
|
|
|
if (kernel_only)
|
|
|
|
|
return;
|
|
|
|
|
|
2013-12-30 01:04:06 +00:00
|
|
|
|
add_alias(env, "ℝ", Real);
|
2013-12-29 01:31:35 +00:00
|
|
|
|
add_infixl(env, ios, "+", 65, mk_real_add_fn());
|
|
|
|
|
add_infixl(env, ios, "-", 65, mk_real_sub_fn());
|
|
|
|
|
add_prefix(env, ios, "-", 75, mk_real_neg_fn());
|
|
|
|
|
add_infixl(env, ios, "*", 70, mk_real_mul_fn());
|
|
|
|
|
add_infixl(env, ios, "/", 70, mk_real_div_fn());
|
|
|
|
|
add_mixfixc(env, ios, {"|", "|"}, 55, mk_real_abs_fn());
|
|
|
|
|
add_infix(env, ios, "<=", 50, mk_real_le_fn());
|
|
|
|
|
add_infix(env, ios, "\u2264", 50, mk_real_le_fn()); // ≤
|
|
|
|
|
add_infix(env, ios, ">=", 50, mk_real_ge_fn());
|
|
|
|
|
add_infix(env, ios, "\u2265", 50, mk_real_ge_fn()); // ≥
|
|
|
|
|
add_infix(env, ios, "<", 50, mk_real_lt_fn());
|
|
|
|
|
add_infix(env, ios, ">", 50, mk_real_gt_fn());
|
2013-09-02 20:20:00 +00:00
|
|
|
|
|
2013-12-29 01:31:35 +00:00
|
|
|
|
add_coercion(env, mk_int_to_real_fn());
|
|
|
|
|
add_coercion(env, mk_nat_to_real_fn());
|
|
|
|
|
});
|
2013-08-16 01:54:01 +00:00
|
|
|
|
}
|
|
|
|
|
}
|