let use_assigns env hid a_desc wp =
on_context env "use_assigns" wp Close_context Keep_assigns
(fun env assignsgoal p ->
let kind = a_desc.WpPropId.a_kind in
let assigned = a_desc.WpPropId.a_assigns in
(match hid with
| Some h -> Datalib.Collector.add_depend (WpPropId.property_of_id h)
| None -> ()) ;
let region = assigned_of_assigns env assigned in
let mem = L.mem_at env Clabels.Here in
let p0 = check_assigns mem assignsgoal region p in
havoc_region kind mem region p0)