fix(form): make eval rule more precise

This commit is contained in:
Simon Cruanes 2021-03-18 12:26:14 -04:00
parent 07ca5546f5
commit 791290118b

View file

@ -53,7 +53,7 @@ module Funs = struct
| B_or a when Iter.for_all Value.is_false a -> Value.false_
| B_imply (_, V_bool true) -> Value.true_
| B_imply (a,_) when Iter.exists Value.is_false a -> Value.true_
| B_imply (a,b) when Iter.for_all Value.is_bool a && Value.is_bool b -> Value.false_
| B_imply (a,b) when Iter.for_all Value.is_true a && Value.is_false b -> Value.false_
| B_ite(a,b,c) ->
if Value.is_true a then b
else if Value.is_false a then c