Structures for First-order Languages (Open Logic Project, 2026)
A complete two-page source map of single-sorted first-order structures, with explicit contracts for domains, constants, predicates, functions, and identity and clear boundaries around free logic and partial functions.
This is the complete official two-page Open Logic Project module Structures for First-order Languages, revision 9620cc7 dated 2026-07-12 under CC BY 4.0. Both pages were read from native text and visually inspected at 200 dpi. The archived object exactly matches the official file; SHA-256 is c37163e6c8d18eb819d2e19b8b6f1a0356511ce261b65ed0cb352404c38b5c8a.
The semantic contract #
For one first-order signature, a structure supplies one nonempty domain, a denotation in that domain for every constant, an -ary relation for every -ary predicate other than equality, and a total -ary function on the domain for every function symbol. Equality is reserved for actual identity rather than interpreted as an arbitrary relation.
The examples show why arity and type matter: arithmetic symbols receive their familiar operations on the naturals, while a hereditarily finite-set structure interprets the same syntactic categories over a different domain. Syntax fixes the slots; the structure supplies their meanings.
Scope boundary #
The contract is deliberately single-sorted, uses nonempty domains and denoting constants, and interprets function symbols by total functions. It does not define many-sorted structures, empty-domain logic, partial functions, non-denoting names, or zero-arity cases. Variable assignments and truth are handled by the separate satisfaction module.
No mathematical defect was found in the definition. The phrase “single-two place relation” on physical page 2 is an editorial hyphenation error for “single two-place relation.” Visible build anchors, empty template headings, blank metadata, and flattened superscripts are excluded from reuse.