let equal v1 v2 = match v1, v2 with | VarT(x,c,_,_) , VarT(y,d,_,_) -> c=d && x=y | VarL (v1, _), VarL (v2, _) -> Logic_var.equal v1 v2 | _ -> false