Lukas' Notes

Definition

Sort (Satisfiability Modulo Theory)

A sort is a named class of values in a many-sorted SMT signature . If is a sort, an interpretation assigns it a non-empty carrier . Variables and terms of sort take their values from this carrier.

Sorts enforce type-correct construction of terms. For a function declaration
:

Thus, a sort says which kind of value an expression denotes and which
function arguments it may occupy; the associated theory determines the available operations and, for interpreted sorts, their intended meaning. Typical SMT sorts include , , , and fixed-width bit-vectors.