let compare a b =
match a,b with
| Cv a, Cv b -> Cil_datatype.Varinfo.compare a b
| Cv _ , _ -> (-1)
| _ , Cv _ -> (1)
| Lv a, Lv b -> Cil_datatype.Logic_var.compare a b
| Prop , Prop -> 0
| Lv _ , _ -> (-1)
| _ , Lv _ -> (1)