-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Labels
Description
I am confused with the way HoIce parses "or".
For the following input, HoIce seems to reject the 2nd and 5th clauses but accepts the other.
(The comments indicates error messages generated by HoIce.)
(set-logic HORN)
(declare-fun X () Bool)
(declare-fun Y () Bool)
(declare-fun Z () Bool)
(assert (forall () (=> (or X Y) Z)))
(assert (forall () (=> (or X (and Y Z)) Z))) ;; ill-formed horn clause (or, 2)
(assert (forall () (=> (and X (or Y Z)) Z)))
(assert (forall () (=> (and (or X Y) (or X Z)) Z)))
(assert (forall () (=> (and (or X Y) (or X Z) (or X Y)) Z))) ;; error during clause conversion
(check-sat)
Reactions are currently unavailable