let add_assigns env assigns wp =
let pid, a_desc = assigns in
let label = a_desc.WpPropId.a_label in
let kind = a_desc.WpPropId.a_kind in
let assigned = a_desc.WpPropId.a_assigns in
match assigned with
WritesAny ->
on_context env "add_assigns" wp Keep_opened
(Goal_assigns (ref NoAssigns))
(fun _ _ _ -> F.p_true)
| Writes assigns ->
match assigns_method () with
| Mcfg.NoAssigns ->
Wp_parameters.abort "Unsupported assigns with the model"
| Mcfg.NormalAssigns ->
add_normal_assigns env pid label kind assigns wp
| Mcfg.EffectAssigns ->
add_effect_assigns env pid label kind assigns wp