(benchmark SET580_3p
  :logic UNKNOWN
  :extrasorts (ELEMENT)
  :extrafuns ((x ELEMENT) (y ELEMENT) (f ELEMENT ELEMENT))
  :extrapreds ((X ELEMENT) (Y ELEMENT) (Z ELEMENT))
  :extramacros ((in (lambda (?x ELEMENT) (?p (ELEMENT boolean)) . (?p ?x)))
                (emptyset (lambda (?v ELEMENT) . false))
                (omega (lambda (?x ELEMENT) . true))
                (singleton (lambda (?x ELEMENT) . (lambda (?y ELEMENT) . (= ?x ?y))))
                (intersection (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) .
                                      (lambda (?x ELEMENT) . (and (?p ?x) (?q ?x)))))
                (union (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) .
                               (lambda (?x ELEMENT) . (or (?p ?x) (?q ?x)))))
                (difference (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) .
                                    (lambda (?x ELEMENT) .
                                            (and (?p ?x) (not (?q ?x))))))
                (subset (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) .
                                (forall (?x ELEMENT) . (implies (?p ?x) (?q ?x))))))
  :formula
  (not (iff (in x (union (difference X Y) (difference Y X)))
            (not (iff (in x X) (in x Y)))))
  )
