diff --git a/src/frontends/lean/builtin_exprs.cpp b/src/frontends/lean/builtin_exprs.cpp index 8290d2f17..706667023 100644 --- a/src/frontends/lean/builtin_exprs.cpp +++ b/src/frontends/lean/builtin_exprs.cpp @@ -18,6 +18,7 @@ Author: Leonardo de Moura #include "library/typed_expr.h" #include "library/choice.h" #include "library/let.h" +#include "library/definitional/equations.h" #include "frontends/lean/builtin_exprs.h" #include "frontends/lean/token_table.h" #include "frontends/lean/calc.h" @@ -507,7 +508,8 @@ parse_table init_nud_table() { parse_table init_led_table() { parse_table r(false); - r = r.add({transition("->", mk_expr_action(get_arrow_prec()-1))}, mk_arrow(Var(1), Var(1))); + r = r.add({transition("->", mk_expr_action(get_arrow_prec()-1))}, mk_arrow(Var(1), Var(1))); + r = r.add({transition(" builtin[] = @@ -76,8 +79,8 @@ void init_token_table(token_table & t) { {"using", 0}, {"|", 0}, {"!", g_max_prec}, {"with", 0}, {"...", 0}, {",", 0}, {".", 0}, {":", 0}, {"::", 0}, {"calc", 0}, {":=", 0}, {"--", 0}, {"#", 0}, {"(*", 0}, {"/-", 0}, {"begin", g_max_prec}, {"proof", g_max_prec}, {"qed", 0}, {"@", g_max_prec}, - {"sorry", g_max_prec}, {"+", g_plus_prec}, {g_cup, g_cup_prec}, {"->", g_arrow_prec}, {"local", 0}, - {"renaming", 0}, {"extends", 0}, {nullptr, 0}}; + {"sorry", g_max_prec}, {"+", g_plus_prec}, {g_cup, g_cup_prec}, {"->", g_arrow_prec}, + {"", get_arrow_prec()); + t = add_token(t, g_decreasing_unicode, "first) { diff --git a/src/frontends/lean/token_table.h b/src/frontends/lean/token_table.h index 2fef36766..10f0beb3c 100644 --- a/src/frontends/lean/token_table.h +++ b/src/frontends/lean/token_table.h @@ -18,6 +18,7 @@ Author: Leonardo de Moura namespace lean { unsigned get_max_prec(); unsigned get_arrow_prec(); +unsigned get_decreasing_prec(); class token_info { bool m_command; name m_token;