Bags (also known as multisets) are used here because for slotted predicates the order of slot-value pairs does not matter, but sets cannot be used, since I may happen to map different slots into the same value in D. We can now define ITruth for slotted predicates as follows: ITruth(p(p1->val1 ... pk->valk)) = ISR(p)({<I(p1) I(val1)>, ... , <I(pk) I(valk)>}), where p, pi ??? Const and vali is a ter