Definition
A syntactic label or category in many-sorted logics that partitions the domain into named subsets and restricts which terms, function symbols, and predicate symbols apply to which domain elements.
Principle
Principle
Partition the universe of discourse into disjoint or overlapping named categories so that signatures and formulas are typed and ill-formed cross-category expressions are excluded.
Demonstration
Demonstration
In a language with two sorts, Person and Number, a function symbol age: Person → Number can only be applied to terms of sort Person, preventing expressions like age(3) if 3 is of sort Number.
Misapplication
Misapplication
Treating a sort as mere documentation and allowing arbitrary cross-sort application—e.g., applying a Person-only predicate to a Number term—undermines typing and can produce formulas that the intended models do not interpret.
Consequence
Consequence
When used correctly, sorts enforce well-formedness, simplify model construction by separating domains, and can reduce the search space in automated reasoning by excluding ill-typed terms.
Reversal
Reversal
The inverse concept is an untyped or single-sorted logic where there is a single undifferentiated domain and all symbols range over the same set of elements.
Boundary
Boundary
Applies to languages and models explicitly defined with multiple sorts; it does not refer to ad hoc natural-language classes, and it excludes purely syntactic namespaces that do not constrain semantic domains.
Semantic Tension
Semantic Tension
Tension exists between sorts as rigid semantic partitions (which restrict interpretation) and sorts used only as convenient syntactic namespaces (which do not affect satisfaction conditions).
Synthesis
Synthesis
A sort is a named type in the signature that constrains which symbols and terms belong to which subdomain of the model, ensuring typed well-formedness and guiding interpretation.