Sorts A sort is a symbol that represents a non-empty set of objects. In LP, distinct sorts represent disjoint sets of objects.
Sorts can be simple or compound .
At present, LP accords no special treatment to compound sorts. LP also automatically declares several logical operators for this sort. All sorts other than Bool must be declared in a declare sorts command. Except for Bool and bool , which denote the same sort, case is significant in sort identifiers. Thus Nat and nat are different sorts.