let force_condition_to_predicate global_inv restricted_inv =
let pred_l = ref [] in
let treat global restric array_term=
Array.iteri
(fun index value ->
if (not value) && global.(index) then
begin
let n_pred = Prel(Req,(mk_offseted_array array_term index),zero_term())in
pred_l:= n_pred::!pred_l
end
)
restric
in
treat (fst global_inv) (fst restricted_inv) (host_state_term ());
treat (snd global_inv) (snd restricted_inv) (host_trans_term ());
if !pred_l<>[] then
mk_conjunction (List.rev !pred_l)
else
Ptrue