(benchmark set_1
  :logic UNKNOWN
  :status sat
  :extrasorts (ELEMENT)
  :extrafuns ((x ELEMENT) (y ELEMENT) (f ELEMENT ELEMENT))
  :extrapreds ((B ELEMENT) (C ELEMENT) (D 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))))))
                (symmetric_difference
		 (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) .
			 (lambda (?x ELEMENT) .
				 (or (and (?p ?x) (not (?q ?x)))
				     (and (?q ?x) (not (?p ?x)))))))
                (subset (lambda (?p (ELEMENT boolean)) (?q (ELEMENT boolean)) .
                                (forall (?x ELEMENT) . (implies (?p ?x) (?q ?x))))))
  :formula
  (not (= (intersection B (union C (singleton x)))
	  (intersection (union B (singleton x)) C))))
