%% room1([sofa,television],[[living-room,[vase,sofa,television]],[kitchen,[sink,table,refrigerator]]],Room). room1(Items1,RoomsItems1,Room) :- RoomsItems1 = [RoomItems|_RoomsItems2], RoomItems = [Room, Items2], room2(Items1,Items2). room1(Items1,RoomsItems1,Room) :- RoomsItems1 = [RoomItems|RoomsItems2], RoomItems = [_Room, RoomsItems2], not(room2(Items1,RoomsItems2)), room1(Items1,RoomsItems2,Room). room2([],_Items2). room2(Items1,Items2) :- Items1=[Item|Items3], member(Item,Items2), delete(Items2,Item,Items4), room2(Items3,Items4).