(set-logic QF_UF) (declare-sort U 0) (declare-fun x () U) (declare-fun y () U) (declare-fun z () U) (declare-fun f (U) U) (assert (and (not (= (f x) (f y))) (= y z) (= (f x) (f (f z))) (= x y))) (check-sat) (exit)