let rec is_security_predicate p = match p.content with
| Pand(p1, p2) -> is_security_predicate p1 || is_security_predicate p2
| (* [state(lval) op term] *)
Prel(_,
{ term_node = Tapp(f1, _ , ([ _ ])) },
{ term_node = Tapp(_, _, _) })
when f1.l_var_info.lv_name = Model.state_name ->
true
| (* [state(lval) op term] *)
Prel(_,
{ term_node = Tapp(f1, _, [ _ ]) },
{ term_node = _ })
when f1.l_var_info.lv_name = Model.state_name ->
assert false
| _ ->
false