refactor(kernel/instantiate): rename instantiate_params to instantiate_univ_params
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
2510d5722a
commit
a8f9594046
8 changed files with 15 additions and 15 deletions
|
@ -167,7 +167,7 @@ struct default_converter : public converter {
|
||||||
if (is_constant(e)) {
|
if (is_constant(e)) {
|
||||||
if (auto d = m_env.find(const_name(e))) {
|
if (auto d = m_env.find(const_name(e))) {
|
||||||
if (d->is_definition() && !is_opaque(*d) && d->get_weight() >= w)
|
if (d->is_definition() && !is_opaque(*d) && d->get_weight() >= w)
|
||||||
return unfold_name_core(instantiate_params(d->get_value(), d->get_univ_params(), const_levels(e)), w);
|
return unfold_name_core(instantiate_univ_params(d->get_value(), d->get_univ_params(), const_levels(e)), w);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return e;
|
return e;
|
||||||
|
|
|
@ -799,7 +799,7 @@ optional<expr> inductive_normalizer_extension::operator()(expr const & e, extens
|
||||||
ACebu.push_back(intro_args[it1->m_num_params + i]);
|
ACebu.push_back(intro_args[it1->m_num_params + i]);
|
||||||
std::reverse(ACebu.begin(), ACebu.end());
|
std::reverse(ACebu.begin(), ACebu.end());
|
||||||
expr r = instantiate(it2->m_comp_rhs_body, ACebu.size(), ACebu.data());
|
expr r = instantiate(it2->m_comp_rhs_body, ACebu.size(), ACebu.data());
|
||||||
r = instantiate_params(r, it1->m_level_names, const_levels(elim_fn));
|
r = instantiate_univ_params(r, it1->m_level_names, const_levels(elim_fn));
|
||||||
return some_expr(r);
|
return some_expr(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ expr beta_reduce(expr t) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
expr instantiate_params(expr const & e, level_param_names const & ps, levels const & ls) {
|
expr instantiate_univ_params(expr const & e, level_param_names const & ps, levels const & ls) {
|
||||||
if (!has_param_univ(e))
|
if (!has_param_univ(e))
|
||||||
return e;
|
return e;
|
||||||
return replace(e, [&](expr const & e, unsigned) -> optional<expr> {
|
return replace(e, [&](expr const & e, unsigned) -> optional<expr> {
|
||||||
|
|
|
@ -31,5 +31,5 @@ expr beta_reduce(expr t);
|
||||||
|
|
||||||
\pre length(ps) == length(ls)
|
\pre length(ps) == length(ls)
|
||||||
*/
|
*/
|
||||||
expr instantiate_params(expr const & e, level_param_names const & ps, levels const & ls);
|
expr instantiate_univ_params(expr const & e, level_param_names const & ps, levels const & ls);
|
||||||
}
|
}
|
||||||
|
|
|
@ -260,7 +260,7 @@ expr type_checker::infer_type_core(expr const & e, bool infer_only) {
|
||||||
for (level const & l : ls)
|
for (level const & l : ls)
|
||||||
check_level(l, e);
|
check_level(l, e);
|
||||||
}
|
}
|
||||||
r = instantiate_params(d.get_type(), ps, ls);
|
r = instantiate_univ_params(d.get_type(), ps, ls);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case expr_kind::Macro: {
|
case expr_kind::Macro: {
|
||||||
|
|
|
@ -177,12 +177,12 @@ struct add_coercion_fn {
|
||||||
if (length(const_levels(D_cnst)) != length(g_level_params))
|
if (length(const_levels(D_cnst)) != length(g_level_params))
|
||||||
return;
|
return;
|
||||||
// C >-> D >-> E
|
// C >-> D >-> E
|
||||||
g = instantiate_params(g, g_level_params, const_levels(D_cnst));
|
g = instantiate_univ_params(g, g_level_params, const_levels(D_cnst));
|
||||||
expr gf = apply_beta(g, gf_args.size(), gf_args.data());
|
expr gf = apply_beta(g, gf_args.size(), gf_args.data());
|
||||||
expr gf_type = g_type;
|
expr gf_type = g_type;
|
||||||
while (is_pi(gf_type))
|
while (is_pi(gf_type))
|
||||||
gf_type = binding_body(gf_type);
|
gf_type = binding_body(gf_type);
|
||||||
gf_type = instantiate(instantiate_params(gf_type, g_level_params, const_levels(D_cnst)), gf_args.size(), gf_args.data());
|
gf_type = instantiate(instantiate_univ_params(gf_type, g_level_params, const_levels(D_cnst)), gf_args.size(), gf_args.data());
|
||||||
unsigned i = f_arg_types.size();
|
unsigned i = f_arg_types.size();
|
||||||
while (i > 0) {
|
while (i > 0) {
|
||||||
--i;
|
--i;
|
||||||
|
@ -380,7 +380,7 @@ optional<expr> get_coercion(environment const & env, expr const & C, coercion_cl
|
||||||
return none_expr();
|
return none_expr();
|
||||||
for (coercion_info const & info : *it) {
|
for (coercion_info const & info : *it) {
|
||||||
if (info.m_to == D && info.m_num_args == args.size() && length(info.m_level_params) == length(const_levels(C_fn))) {
|
if (info.m_to == D && info.m_num_args == args.size() && length(info.m_level_params) == length(const_levels(C_fn))) {
|
||||||
expr f = instantiate_params(info.m_fun, info.m_level_params, const_levels(C_fn));
|
expr f = instantiate_univ_params(info.m_fun, info.m_level_params, const_levels(C_fn));
|
||||||
return some_expr(apply_beta(f, args.size(), args.data()));
|
return some_expr(apply_beta(f, args.size(), args.data()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -413,9 +413,9 @@ bool get_user_coercions(environment const & env, expr const & C, buffer<std::tup
|
||||||
if (info.m_to.kind() == coercion_class_kind::User &&
|
if (info.m_to.kind() == coercion_class_kind::User &&
|
||||||
info.m_num_args == args.size() &&
|
info.m_num_args == args.size() &&
|
||||||
length(info.m_level_params) == length(const_levels(C_fn))) {
|
length(info.m_level_params) == length(const_levels(C_fn))) {
|
||||||
expr f = instantiate_params(info.m_fun, info.m_level_params, const_levels(C_fn));
|
expr f = instantiate_univ_params(info.m_fun, info.m_level_params, const_levels(C_fn));
|
||||||
expr c = apply_beta(f, args.size(), args.data());
|
expr c = apply_beta(f, args.size(), args.data());
|
||||||
expr t = instantiate_params(info.m_fun_type, info.m_level_params, const_levels(C_fn));
|
expr t = instantiate_univ_params(info.m_fun_type, info.m_level_params, const_levels(C_fn));
|
||||||
for (unsigned i = 0; i < args.size(); i++) t = binding_body(t);
|
for (unsigned i = 0; i < args.size(); i++) t = binding_body(t);
|
||||||
t = instantiate(t, args.size(), args.data());
|
t = instantiate(t, args.size(), args.data());
|
||||||
result.emplace_back(info.m_to.get_name(), c, t);
|
result.emplace_back(info.m_to.get_name(), c, t);
|
||||||
|
|
|
@ -646,8 +646,8 @@ static int expr_instantiate(lua_State * L) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int expr_instantiate_level_params(lua_State * L) {
|
static int expr_instantiate_univ_params(lua_State * L) {
|
||||||
return push_expr(L, instantiate_params(to_expr(L, 1), to_level_param_names(L, 2), to_list_level_ext(L, 3)));
|
return push_expr(L, instantiate_univ_params(to_expr(L, 1), to_level_param_names(L, 2), to_list_level_ext(L, 3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int expr_abstract(lua_State * L) {
|
static int expr_abstract(lua_State * L) {
|
||||||
|
@ -732,7 +732,7 @@ static const struct luaL_Reg expr_m[] = {
|
||||||
{"lift_free_vars", safe_function<expr_lift_free_vars>},
|
{"lift_free_vars", safe_function<expr_lift_free_vars>},
|
||||||
{"lower_free_vars", safe_function<expr_lower_free_vars>},
|
{"lower_free_vars", safe_function<expr_lower_free_vars>},
|
||||||
{"instantiate", safe_function<expr_instantiate>},
|
{"instantiate", safe_function<expr_instantiate>},
|
||||||
{"instantiate_levels", safe_function<expr_instantiate_level_params>},
|
{"instantiate_univs", safe_function<expr_instantiate_univ_params>},
|
||||||
{"abstract", safe_function<expr_abstract>},
|
{"abstract", safe_function<expr_abstract>},
|
||||||
{"occurs", safe_function<expr_occurs>},
|
{"occurs", safe_function<expr_occurs>},
|
||||||
{"is_eqp", safe_function<expr_is_eqp>},
|
{"is_eqp", safe_function<expr_is_eqp>},
|
||||||
|
|
|
@ -328,7 +328,7 @@ protected:
|
||||||
virtual expr visit_constant(expr const & c) {
|
virtual expr visit_constant(expr const & c) {
|
||||||
if (const_name(c) == m_name) {
|
if (const_name(c) == m_name) {
|
||||||
m_unfolded = true;
|
m_unfolded = true;
|
||||||
return instantiate_params(m_def, m_ps, const_levels(c));
|
return instantiate_univ_params(m_def, m_ps, const_levels(c));
|
||||||
} else {
|
} else {
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
@ -346,7 +346,7 @@ protected:
|
||||||
optional<declaration> d = m_env.find(const_name(c));
|
optional<declaration> d = m_env.find(const_name(c));
|
||||||
if (d && d->is_definition() && (!d->is_opaque() || d->get_module_idx() == 0)) {
|
if (d && d->is_definition() && (!d->is_opaque() || d->get_module_idx() == 0)) {
|
||||||
m_unfolded = true;
|
m_unfolded = true;
|
||||||
return instantiate_params(d->get_value(), d->get_univ_params(), const_levels(c));
|
return instantiate_univ_params(d->get_value(), d->get_univ_params(), const_levels(c));
|
||||||
} else {
|
} else {
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue