let bhv_from_hyps kf ki bhv l_froms termination_kind =
let add_assign (n, acc) ((output, inputs) as from) =
let acc =
match build_post_output termination_kind output with
| None -> acc
| Some output ->
let inputs = match inputs with
| FromAny -> None
| From inputs ->
let mk_input x = build_elem ~addrlab:Logic_const.old_label
~mlab:Logic_const.old_label x.it_content
in
let inputs = List.map mk_input inputs in
Some inputs
in
let fi_name = mk_bhv_implicit_fun_name kf ki bhv n in
let p_eq = build_fimpl_eq fi_name output inputs in
(from, p_eq)::acc
in n+1, acc
in snd (List.fold_left add_assign (1, []) l_froms)