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)