Bags are employed here because the order of the attribute/value pairs in a frame is immaterial and the pairs may repeat. For instance, o[a->b a good->b]. For instance, o[?A great->?B ?C->?D] becomes o[a->b a good->b] if variables ?A and ?C are instantiated with the symbol a and ?B, ?D with b. (We shall see later that o[a->b a great->b] is equivalent to o[a->b].)
The operator ## is required to be transitive, i.e., cstep step 1 ## c2 and c2 ## c3 must imply c1 ## c3. This is ensured by a restriction in Section Interpretation of Formulas.
# and ## are required to have the usual property that all members of a subclass are also Kaynak members of the superclass, i.e., o # cl and cl ## scl must imply o # scl. This is ensured by a restriction in Section Interpretation of Formulas.
For every additional schema, ?, associated with the language, Iexternal(?) is assumed to be specified externally in some document (hence the name external schema). ? is a schema of a RIF built-in predicate or function, Iexternal(?) is specified in [RIF-DTB] so that:
The fresh dating
- If ? is a schema of a built-in function then Iexternal(?) must be the function defined in the aforesaid document.
- If ? is a schema of a built-in predicate then Ibasic facts? (Iexternal(?)) (the composition of Itruth and Iexternal(?), a truth-valued function) must be as specified in [RIF-DTB].
Further restrictions on the interaction of this function with Itruth will be imposed in order to ensure the intended semantics for each conjunctive and quantifier. For aggregates, Iconnective maps them to functions D > D and additional restrictions are imposed on the mapping I defined below.
Specifically, if
We plus explain another term-interpreting mapping towards really-formed terms and conditions, and this we signify using the same icon We that is used on semantic design alone. It overloading is convenient and will not produce ambiguity.
Here <> denotes an empty listing of elements of D. (Note that the domain of Ilist is D * , so D 0 is an empty list of elements of D.)
Here <.>denotes a purse of attribute/value pairs. Jumping ahead, we note that duplicate elements in such a bag do not affect the meaning of a frame formula. So, for instance, o[a->b a great->b] and o[a->b] always have the same truth value.
Note that, by definition, External(t loc) is well-formed only if it is an instantiation of an external schema. Furthermore, by the definition of coherent lays of external schemas, it can be an instantiation of at most one such schema, so I(External(t loc)) is well-defined.
S = <(IV * (?X),IV * (?X1), . IV * (?Xn)) | for all semantic structures I * such that I * (?) = t and I * is exactly like I except that IV * (?X) can be different from IV(?X)>.
In addition, let S set denote the set of all elements x such that (x,x1, . xn) ? S and S bag denote the bag of all such elements x (i.e., S bag can have repeated occurrences of the same element).
where L is a sorted list of the elements in S set. Since sorting requires an ordering, the above is well-defined only for semantic structures with totally ordered domains. If L is infinite then the value of the aggregate in I is indeterminate (i.e., it can be any element of the domain D).
The requirement that the list L must be sorted comes from the fact that there can be many ways to represent S set as a list, while I(setof
1 . ?Xn] | ?>) must be defined as one concrete element of the domain D. Sorting a set is a standard way of providing the requisite unique representation.