formulas(assumptions). % there are 6 paints and 3 rooms I != II. I != III. II != III. C != D. C != E. C != F. C != G. C != H. D != E. D != F. D != G. D != H. E != F. E != G. E != H. F != G. F != H. G != H. Paint(x) <-> x = C | x = E | x = F | x = G | x = H. Room(x) <-> x = I | x = II | x = III. Room(x) <-> -Paint(x). % paint are exposed in rooms. Exposed(x,y) -> Paint(x) & Room(y). % Every painting is exposed in a single room all x exists y (Exhibits(x,y) & all z (Exhibits(x,z) -> y = z)). % Sculptures D and G must be exhibited in the same room. Exhibits(D,x) <-> Exhibits(G,x). % If sculptures E and F are exhibited in the same room, no other % sculpture may be exhibited in that room. Exhibits(E,x) & Exhibits(F,x) -> all y (Exhibits(y,x) -> x = F | x = E). % At least one sculpture must be exhibited in each room all x (Room(x) -> exists y Exhibits(y,x)). % no more than three sculptures may be exhibited in any room. Exhibited(x,r) & Exhibited(y,r) & Exhibited(z,r) & Exhibited(w,r) -> x = y | x = z | x= w | y=z | y=w | z=w. end_of_list. formulas(goals). % If sculpture D is exhibited in room 1 and sculptures E and F are % exhibited in room 2 then ... % (Exhibits(D,I) & Exhibits(E,II) & Exhibits(F,II)) -> Exhibits(C,I). % (Exhibits(D,I) & Exhibits(E,II) & Exhibits(F,II)) -> Exhibits(B,III). % (Exhibits(D,I) & Exhibits(E,II) & Exhibits(F,II)) -> Exhibits(G,I). % (Exhibits(D,I) & Exhibits(E,II) & Exhibits(F,II)) -> Exhibits(H,II). Exhibits(D,I) & Exhibits(E,II) & Exhibits(F,II) -> (Exhibits(C,x) <-> Exhibits(H,x)). end_of_list.