method vpredicate_named p = match p.content with
| Pold p ->
let l = (LogicLabel "Old") in
let old_label = self#change_label l in
let new_p = {p with content = Pnot p} in
Cil.ChangeDoChildrenPost (new_p, self#restore_pred old_label)
| Pat (p, l) ->
let old_label = self#change_label l in
let new_p = {p with content = Pnot p} in
Cil.ChangeDoChildrenPost (new_p, self#restore_pred old_label)
| _ -> Cil.DoChildren