oneRoom(id,roomNum,hasNumBedsAttribID,hasOnFloorAttribID,hasSmokingPreferenceAttribID) :- OneRoom(X1),OnFloor(X2),SmokingPreference(X3), NumBeds(X4),hasOnFloor(X1,X2),hasSmokingPreference(X1,X3), hasNumBeds(X1,X4),id(X2,hasOnFloorAttribID),id(X3,hasSmokingPreferenceAttribID), id(X1,id),roomNum(X1,roomNum),id(X4,hasNumBedsAttribID):: identifier(X1,id),identifier(X2,hasOnFloorAttribID),identifier(X3,hasSmokingPreferenceAttribID), identifier(X4,hasNumBedsAttribID). numBeds(id,attrib) :- NumBeds(X1),attrib(X1,attrib),id(X1,id)::identifier(X1,id). onFloor(id,attrib) :- OnFloor(X1),id(X1,id),attrib(X1,attrib)::identifier(X1,id). smokingPreference(id,attrib) :- SmokingPreference(X1),id(X1,id),attrib(X1,attrib)::identifier(X1,id). suite(id,roomNum,hasNumBedsAttribID,hasOnFloorAttribID,hasSmokingPreferenceAttribID) :- Suite(X1),SmokingPreference(X2),OnFloor(X3), NumBeds(X4),hasSmokingPreference(X1,X2),hasOnFloor(X1,X3), hasNumBeds(X1,X4),id(X3,hasOnFloorAttribID),id(X2,hasSmokingPreferenceAttribID), id(X1,id),roomNum(X1,roomNum),id(X4,hasNumBedsAttribID):: identifier(X1,id),identifier(X3,hasOnFloorAttribID),identifier(X2,hasSmokingPreferenceAttribID), identifier(X4,hasNumBedsAttribID). townHouse(id,roomNum,hasNumBedsAttribID,hasOnFloorAttribID,hasSmokingPreferenceAttribID) :- TownHouse(X1),OnFloor(X2),SmokingPreference(X3), NumBeds(X4),hasOnFloor(X1,X2),hasSmokingPreference(X1,X3), hasNumBeds(X1,X4),id(X2,hasOnFloorAttribID),id(X4,hasNumBedsAttribID), id(X3,hasSmokingPreferenceAttribID),roomNum(X1,roomNum),id(X1,id):: identifier(X1,id),identifier(X2,hasOnFloorAttribID),identifier(X3,hasSmokingPreferenceAttribID), identifier(X4,hasNumBedsAttribID).