[sledge] fix for `Equality.and_term`

Summary: `r/\true` isn't `true`, it's `r`.

Reviewed By: jberdine

Differential Revision: D20539014

fbshipit-source-id: 7360c1e67
master
Jules Villard 5 years ago committed by Facebook GitHub Bot
parent e99295e0e9
commit 4e9f34efea

@ -617,7 +617,7 @@ let orN us rs =
let rec and_term_ us e r = let rec and_term_ us e r =
let eq_false b r = and_eq us b Term.false_ r in let eq_false b r = and_eq us b Term.false_ r in
match (e : Term.t) with match (e : Term.t) with
| Integer {data} -> if Z.is_false data then false_ else true_ | Integer {data} -> if Z.is_false data then false_ else r
| Ap2 (And, a, b) -> and_term_ us a (and_term_ us b r) | Ap2 (And, a, b) -> and_term_ us a (and_term_ us b r)
| Ap2 (Eq, a, b) -> and_eq us a b r | Ap2 (Eq, a, b) -> and_eq us a b r
| Ap2 (Xor, Integer {data}, a) when Z.is_true data -> eq_false a r | Ap2 (Xor, Integer {data}, a) when Z.is_true data -> eq_false a r

Loading…
Cancel
Save