In a signature with constant symbol a, unary function symbol f, and binary predicate symbol P, which of the following is a term rather than a formula?
AP(a, f(a))
Bf(f(a))
C∀x. P(x, a)
DP(a, a) ∧ P(f(a), a)
f(f(a)) is a term: applying the function symbol f to constant a gives term f(a), and applying f again gives term f(f(a)). Terms are built from constants, variables, and function symbols applied to terms. P(a, f(a)) is an atomic formula (a predicate applied to terms); ∀x. P(x, a) is a quantified formula; P(a,a) ∧ P(f(a),a) is a compound formula. Only f(f(a)) names a domain object rather than making a claim about one.
Question 2 Multiple Choice
A student writes: 'Let f(x) be the formula asserting that x is even.' If f is a unary function symbol in the signature, what error has the student made?
AThe variable x should be written in uppercase to indicate it is free
Bf(x) is a term that names an object, not a formula that asserts a property; expressing 'x is even' requires a predicate symbol, such as Even(x)
CFunction symbols cannot take variables as arguments — only constants are allowed
DThe formula needs a quantifier: it should be written ∀x. f(x)
Function symbols build terms, not formulas. f(x) denotes some domain object (the 'f-value of x') — it names a thing, not a proposition. To assert a property of x you need a predicate symbol applied to x: Even(x) is an atomic formula with a truth value. f(x) has no truth value. Confusing function symbols with predicate symbols is the central type error in FOL syntax, and it leads to malformed expressions that the grammar of FOL rejects.
Question 3 True / False
In first-order logic, a constant and a variable both range over the domain — they can both refer to different objects depending on context.
TTrue
FFalse
Answer: False
False. A constant always denotes the same fixed object in a given interpretation, regardless of variable assignments. A variable is a placeholder that ranges over the domain — its denotation depends on the variable assignment. This is a fundamental distinction: 'a' always means the same named individual; 'x' means whatever the current assignment maps x to. Substituting a constant for a variable replaces a ranging placeholder with a fixed name, removing a source of variability.
Question 4 True / False
A ground term in FOL contains no free variables, so its denotation is determined by the interpretation alone, independent of any variable assignment.
TTrue
FFalse
Answer: True
True. A ground term is built entirely from constants and function symbols — no variables appear. Since its denotation depends only on what the constants and function symbols denote under the interpretation (not on any variable assignment), a ground term denotes the same domain element regardless of how variables are assigned. This is why substituting ground terms for all free variables in a formula produces a ground instance: a fully determinate claim about specific objects.
Question 5 Short Answer
Explain the difference between a term and a formula in first-order logic, and why substituting a formula in place of a variable would be a type error.
Think about your answer, then reveal below.
Model answer: Terms and formulas are distinct syntactic categories. Terms denote objects in the domain: they are built from variables, constants, and function symbols applied to terms. Formulas make claims about objects: they are built from predicate symbols applied to terms (atomic formulas), combined with connectives and quantifiers. Substituting a formula for a variable would be a type error because variables range over domain objects, and formulas are not domain objects — they are propositions with truth values. It would be like substituting a sentence ('the door is open') for a noun phrase ('the door') in English syntax.
The term/formula distinction mirrors the noun phrase / sentence distinction in natural language, and it is enforced the same way type systems in programming languages separate values from booleans. A variable x expects to receive an object (a term); giving it a proposition (a formula) violates the grammar of FOL. This distinction becomes critical in substitution and unification, where you can only substitute terms for variables — doing so with formulas would require second-order logic.