fix(frontends/lean/definition_cmds): support parameters in mutual defs

This commit is contained in:
Gabriel Ebner 2017-07-13 15:14:46 +01:00
parent ecf7e3d2d8
commit 3392aa90b5
2 changed files with 18 additions and 0 deletions

View file

@ -510,6 +510,7 @@ static environment mutual_definition_cmd_core(parser & p, def_cmd_kind kind, cmd
name c_real_name;
std::tie(env, c_real_name) = declare_definition(p, env, kind, lp_names, c_name,
curr_type, some_expr(curr), {}, meta, header_pos);
env = add_local_ref(p, env, c_name, c_real_name, lp_names, params);
new_d_names.push_back(c_real_name);
elab.set_env(env);
}

View file

@ -0,0 +1,17 @@
section
parameter (k : )
mutual def foo, bar
with foo :
| 0 := k
| (n+1) := bar n
with bar :
| 0 := k+10
| (n+1) := foo n
def baz : := foo 3
def foo' (n : ) := k+n
def baz' : := foo' 3
end