let subst_havoc m a =
    let addr = zone_of_assignable (assignable m a) in
    let v = L.fresh "v" (Formula.Model(ADT("data",[]))) in
    let km sigma =
      let m0 = L.apply sigma m.store in
      F.wrap(model_update_havoc m0 addr (F.var v))
    in
    [F.Fresh v;F.Update(m.x_store,km)]