let get_linfo name sgn =
let ptype = mk_linfo_type sgn in
let info_ok info = Logic_utils.is_same_type info.l_var_info.lv_type ptype in
match Logic_env.find_all_logic_functions name with
| [] ->
let linfo = make_logic_info name sgn in
Logic_utils.add_logic_function linfo;
linfo
| info::[] when info_ok info -> info
| _ -> Wp_parameters.fatal "several function named %s ???" name