|
|
|
@ -635,9 +635,9 @@ let check_disequal tenv prop e1 e2 =
|
|
|
|
|
| Exp.Lvar pv0, Exp.Lvar pv1 ->
|
|
|
|
|
(* Addresses of any two local vars must be different *)
|
|
|
|
|
not (Pvar.equal pv0 pv1)
|
|
|
|
|
| Exp.Lvar _, Exp.Var id | Exp.Var id, Exp.Lvar _ ->
|
|
|
|
|
(* Address of any local var must be different from the value of any footprint var *)
|
|
|
|
|
Ident.is_footprint id
|
|
|
|
|
| Exp.Lvar pv, Exp.Var id | Exp.Var id, Exp.Lvar pv ->
|
|
|
|
|
(* Address of any non-global var must be different from the value of any footprint var *)
|
|
|
|
|
(not (Pvar.is_global pv)) && Ident.is_footprint id
|
|
|
|
|
| _, _ -> false in
|
|
|
|
|
let ineq = lazy (Inequalities.from_prop tenv prop) in
|
|
|
|
|
let check_pi_implies_disequal e1 e2 =
|
|
|
|
|