let userdef_signature frame _tused _pused =
List.fold_left
(fun s (clabel, mem) -> match clabel with
| Clabels.LabelParam label ->
Varinfo.Hashtbl.fold (collect_signature label) mem.variables s
| _ ->
Wp_parameters.fatal
"Non-logic label in user-defined function or predicate")
([], [])
frame.states