let mk_assign_pre kf ki bhv nth inputs =
let get_init lv n =
let linfo = get_init_linfo kf ki bhv nth n lv.term_type in
Logic_const.term (Tapp (linfo, [], [(*Logic_const.tinteger n*)])) lv.term_type
in
let add_in (n, acc) input =
let lv = input.it_content in
let _name = lv.term_name in (* TODO process name *)
let init = get_init lv n in
let pre = Logic_const.prel (Req, lv, init) in
n+1, pre::acc
in
let _, pres = List.fold_left add_in (1, []) inputs in
Logic_const.new_predicate (Logic_const.pands pres)