A pattern can have no variables, in which case the query simply determines whether that pattern is an entry in the data base. This is why variables have names. The system responds to the query by listing all instantiations of the query pattern with the variable assignments that satisfy it. Note that if the pattern has no variables, the query reduces to a determination of whether that pattern is in the data base. If so, the empty assignment, which assigns no values to variables, satisfies that pattern for that data base.
Compound queries Simple queries form the primitive operations of the query language.
In order to form compound operations, the query language provides means of combination. As for simple queries, the system processes a compound query by finding all assignments to the pattern variables that satisfy the query, then displaying instantiations of the query with those values. Another means of constructing compound queries is through or . Compound queries can also be formed with not . The final combining form is called lisp-value .