Predicates and Open Sentences
Consider the sentence " is divisible by 3." Is it true or false? The question is unanswerable as stated. This is because the sentence does not yet make a claim. Instead, it makes a claim about . Until we say what is, there is nothing to check. This is the central puzzle this article resolves. How do we build a rigorous bridge from sentences with blanks in them to the genuine propositions that logic actually operates on? This matters because almost every mathematical statement worth proving is not a single fixed proposition. Instead, it is a template — a pattern. It becomes a proposition only after its variables are pinned down. " is prime," " is continuous at ," "" are all of this form. Mathematics is not built from an infinite list of separate facts about the number 7, the number 8, and so on. Instead, it is built from open sentences and rules for turning them into closed, evaluable claims. Understanding this mechanism precisely is essential. We must grasp what a free variable is. We must know what a domain of discourse is. We must also understand what operations convert an open sentence into a proposition. This is a prerequisite for everything that follows in formal logic. The big picture is that there are exactly two ways to close an open sentence. First, substitute a specific object for the variable. Second, quantify over the variable — assert it holds for all objects, or for some object, in a chosen domain. Substitution is elementary. This article treats it fully and rigorously. Quantification is the more powerful and subtle of the two operations. It is the subject of the article this one leads into. Here we only need enough of a foreshadowing to see why open sentences demand it. This article delivers a precise definition of a predicate and an open sentence. It gives a careful account of free versus bound variables. It also covers the notion of a domain of discourse, and the truth-set of a predicate. There is a rigorous theorem describing exactly how substitution converts an open sentence into a proposition with a determinate truth value. Worked examples span number theory and set theory. A counterexample shows exactly what goes wrong if the domain of discourse is left unspecified.
- A predicate is a sentence containing one or more free variables; it has no truth value by itself.
- An open sentence becomes a genuine proposition only after every free variable is fixed, by substitution or by quantification.
- Every predicate is evaluated relative to a domain of discourse , the set of allowed values for its variables.
- The truth set of a one-variable predicate over is ; this set encodes everything about .
- Substituting a specific element for in always yields a proposition — this is the Substitution Theorem proved below.
- Key idea: a predicate is a function from a domain to truth values, and fixing the input is the only way to get an output.
Where this lives today
Predicates and open sentences are the semantic backbone of first-order logic, the formal system underlying essentially all of modern mathematics, and they appear the moment any mathematical definition uses a variable: " is a group," " is measurable," " is prime" are all predicates over their respective domains, and every theorem of the form "for all in , " is a quantified closure of an open sentence exactly as described here. In computer science, predicates are the direct ancestor of boolean-valued functions and of the `WHERE` clauses in database query languages (relational algebra's selection operator literally filters a table by a predicate's truth set). In programming language theory, type predicates and preconditions/postconditions in Hoare logic are open sentences with free variables standing for program state, closed by substitution when a specific input is supplied. In set theory, the Axiom Schema of Specification (Separation) is stated precisely in terms of predicates: given a set and a predicate , one forms — literally the truth-set construction of this article, promoted to an axiom. In model theory, a predicate's truth set generalizes to the notion of a definable subset of a structure, and much of the subject studies which subsets of a domain arise as truth sets of first-order predicates. In statistics and cryptography, predicates appear as hypothesis-testing conditions ("the null hypothesis holds for parameter ") and as verification predicates in zero-knowledge proofs, both requiring the same free-variable/closure discipline to be stated without ambiguity.
Ask the tutor: How does quantifying a predicate ( or ) formally turn it into a proposition, and what proof rules govern manipulating such quantified statements?
Let be nonempty sets (the domains of discourse). A predicate (or propositional function) of variables over is a symbolic expression , built from mathematical vocabulary and the symbols , such that for every choice of specific objects , substituting for each produces a sentence that is a bona fide proposition — that is, a declarative sentence with a well-defined, unique truth value (true or false, and not both). The symbols are called free variables of : they are placeholders, not names of specific objects, and by itself is neither true nor false. Formally, we identify the predicate with the function
where is the truth value of the resulting proposition. A sentence containing free variables (equivalently, a predicate not yet closed by substitution or quantification) is called an open sentence. A sentence with no free variables — every variable has been substituted or bound by a quantifier — is called a closed sentence, and every closed sentence is a proposition. For a one-variable predicate over domain , the truth set (or solution set) of is
Two predicates over the same domain are called (logically) equivalent if they have the same truth set.
Intuition
Think of a predicate as a machine with an input slot labeled . You cannot ask "does the machine light up?" until you drop something into the slot; the question only makes sense post-insertion. The variable in is the shape of the slot, not an object sitting in it. This is why is called free: it is free to be replaced, and the expression makes no assertion about any fixed thing until that replacement happens. The domain of discourse is the set of legal objects that fit the slot. " is divisible by 3" behaves very differently as a predicate over than as a predicate over : over every input yields a genuine true/false verdict (12 yes, 7 no), but over the phrase "divisible by 3" does not even parse for something like , so it fails to be a predicate over at all under the usual meaning of divisibility. Fixing the domain is not bookkeeping; it is part of the definition of the predicate, because it determines whether substitution always succeeds in producing a proposition. Once the domain is fixed, a one-variable predicate carves the domain into two pieces: the truth set (where it's true) and its complement (where it's false). This is exactly the picture of a function , and it is the most useful mental model: a predicate is a two-valued function, substitution is function evaluation, and the truth set is the preimage of .
:::svg[The predicate : " is divisible by 3" as a function ]
Let be a predicate over , in the sense of the definition above (so for every , is a syntactically well-formed declarative sentence). Then: 1. (Closure) For every , the sentence is a proposition: it has exactly one of the truth values . 2. (Well-definedness) The truth value of depends only on the objects and on — not on the choice of names or symbols used to denote . That is, if as objects of for each (even if are written with different symbols), then and have the same truth value. 3. (No remaining freedom) After substitution, no longer occur as free variables in ; the resulting sentence is closed.
We prove each part in turn. The proof technique throughout is direct unwinding of the definitions of predicate, proposition, and substitution; there is no appeal to any quantifier machinery, since that has not yet been introduced, and no circularity is possible because the only facts used are the defining clauses stated above.
Part 1 (Closure). This is immediate from the definition of a predicate: the definition of "predicate" stipulates that for every choice of , the substituted sentence is a proposition. By the definition of proposition, every proposition has exactly one of the two truth values or — this is the Law of Bivalence built into that definition. Hence has exactly one truth value. This proves Part 1; note it is not an extra hypothesis we are adding, but a repackaging of what " is a predicate over " already asserts, made explicit because it is the fact we will use repeatedly.
Part 2 (Well-definedness). Fix and suppose are two (possibly differently-written) symbols denoting the same element of , i.e. as elements of the set , and similarly suppose for all other indices . We must show and have the same truth value. Recall that under our functional identification, is precisely the function
The sentence obtained by substituting for is, by definition of substitution, the assertion "" (read as a proposition, true exactly when the function value is ); likewise for . Since and are the same ordered tuple of objects in (equality of each coordinate was assumed), and is a function — hence single-valued, giving exactly one output for each input tuple by the definition of "function" — we get
as elements of . Therefore the two substituted sentences express the same truth value. This is exactly the statement that truth value is a property of the object substituted, not of the notation used to denote it — which is what makes substitution a well-defined operation on propositions rather than a syntactic accident.
Part 3 (No remaining freedom). By definition, a variable occurs free in an expression if it appears in the expression as an unbound placeholder standing for an arbitrary, not-yet-specified element of . Substitution is defined precisely as the operation that replaces every occurrence of the placeholder in by the fixed symbol . After this replacement, the symbol no longer appears in the resulting expression at all (it has been textually replaced), so a fortiori it cannot occur free in it. Since this holds for every , the sentence has no free variables among , and (as contained no other variables by hypothesis) has no free variables at all. Hence it is a closed sentence, and by Part 1 it is moreover a proposition.
∎Let be a one-variable predicate over a domain , with truth set . Then is a partition of : the two sets are disjoint, and their union is .
By Part 1 of the Substitution Theorem, for every the proposition has exactly one truth value. If then and ; if then (since contains only elements making true) and . Either way lies in exactly one of , . Since this holds for every , the two sets are disjoint and their union is all of .
∎Worked examples
Example 1 — a number-theoretic predicate with an infinite, non-uniform domain. Let and let be the open sentence
— let us instead use a clean, checkable example. Define, over ,
Step 1: verify is a genuine predicate over . For any specific integer , the sentence "" is an equation between two specific integers ( and ), and equality of integers is a relation with a determinate truth value for every pair of integers (given integers, we can always compute both sides and compare — this is part of what it means for with its arithmetic and equality to be well-defined). Hence Part 1 of the Substitution Theorem applies: is a proposition for every . Step 2: compute the truth set. Factor: . This product is exactly when or . So
Step 3: exhibit substitution explicitly, including non-uniformity. Substituting : is "", i.e., "", true. Substituting : is "", i.e., "", false. Substituting : is "", i.e., "", false. Note the asymmetry: the truth set is the tiny finite set sitting inside the infinite domain — most substitutions produce false propositions, and exactly two produce true ones. This illustrates that "predicate" carries no presumption of symmetry or of a "nice" truth set; the truth set can be any subset of that arises from evaluating the defining condition. Step 4: an equivalent predicate. The predicate over has the same truth set , hence and are equivalent predicates in the sense of the definition, even though they are syntactically different open sentences.
Example 2 — a two-variable predicate over a non-numeric domain (sets), with asymmetric behavior in its two arguments. Let and let (the power set of , so each variable ranges over subsets of , not elements). Define the two-variable predicate
Step 1: verify is a predicate over . For any specific subsets , "" is a proposition (subset containment between two fixed, fully-specified sets is decidable by checking each element of against — a finite check since is finite), and "" is a proposition (comparison of two specific natural numbers). A conjunction of two propositions is a proposition (this uses only the propositional connective rules already established for Propositions and Truth Values). So is a proposition for every choice of , confirming Part 1 of the Substitution Theorem. Step 2: substitute an asymmetric pair. Let , . Then (every element 1, 3 of is in — check directly) and . Both conjuncts true, so is true. Step 3: show the two argument slots are not interchangeable — substitute the reverse order. Now evaluate , i.e., swap the roles: is ? We need every element of to lie in ; but and , so . Hence the first conjunct of is false, making false overall (regardless of the size comparison). This demonstrates concretely that a two-variable predicate need not be symmetric: in general, here with but for this very pair. Step 4: a boundary case. Let itself and . Then : is ? Yes (). Is ? No, is false. So is false — this shows the strict inequality in the definition is doing real work: without it (i.e. using and instead of ), the pair would instead satisfy the predicate, changing the truth set. This is exactly the kind of check the Substitution Theorem guarantees will always terminate in an answer — every substitution here produced a definite T or F, never an ambiguous case — but it does not by itself tell us which answer; that requires actually working through the definitions, as we just did.
The Substitution Theorem's conclusion — that every substitution into yields a genuine proposition — depended on the hypothesis that is a well-formed declarative sentence with a determinate truth value for every . Drop this hypothesis by refusing to fix a domain at all, and the guarantee collapses. Consider the bare expression
Suppose we declare no domain of discourse — we simply write "" and hope substitution will sort itself out. Now substitute "the set " (a perfectly meaningful object, just not a number). The resulting string "" is not a well-formed sentence at all under the standard meaning of and for numbers: addition of a set and a number is undefined, so this is not a proposition — it is not even a syntactically legitimate assertion, let alone one with a truth value. The "predicate" as bare notation, without a specified domain, therefore fails to be a predicate in the sense of our definition: Part 1 of the Substitution Theorem (closure) required substitution to succeed in producing a proposition for every candidate value, and here it does not even parse for some candidates. The fix is exactly the domain-of-discourse clause built into the definition: declare (or , or ) in advance, as part of specifying . Once is fixed, over is a legitimate predicate (every real number substitutes to give a genuine true/false arithmetic equation), with truth set . The moral: "predicate" is not a property of a string of symbols alone but of a string together with a domain; omit the domain and you can no longer even state, let alone prove, that substitution always succeeds. A second, subtler failure mode with the same missing hypothesis: let include an element for which the defining condition is a category error even within a plausible-looking domain. E.g. take and , intending but sloppily writing . Substituting gives " is rational" — under the real square root, is undefined, so again no proposition results. The lesson is identical: the domain must be chosen so that every element of it makes the defining condition meaningful, not merely most elements.
Scope, edge cases & common traps
| Situation | What happens | Correct handling |
|---|---|---|
| Domain not specified | Substitution may fail to produce a sentence at all | Always state as part of defining |
| -variable predicate, only some variables substituted | Result is still an open sentence (in the unsubstituted variables) | Track free variables carefully; partial substitution does not close the sentence |
| Truth set is empty | is a legitimate predicate; it is simply false for every element of | Do not confuse "no solutions" with "not a predicate" |
| Truth set equals | is true for every element; still just a predicate, not automatically "quantified" | Distinguish " true for all tested" from the quantified proposition |
| Predicate compared across different domains | Same symbolic expression, different truth sets | Truth set is only well-defined relative to a fixed domain |
| Multi-variable predicate assumed symmetric | May be false, as in Example 2 | Check both orders explicitly; never assume |
The mathematician behind it
Origins · 1 minGottlob Frege and how this was discovered
Gottlob Frege, a German mathematician and philosopher working at the University of Jena, is the figure most responsible for isolating the modern notion of a predicate as distinct from a proposition. In his Begriffsschrift (1879), Frege introduced a formal notation in which he explicitly separated the "unsaturated" part of a judgment — what we now call the predicate, with its argument slots — from the fully "saturated" proposition obtained by filling those slots. Frege's insight that " is prime" denotes a function from objects to truth values, rather than a truth value itself, is precisely the modern definition formalized in this article, and it made rigorous quantification (the subject that follows) possible for the first time.
What exactly is the difference between a predicate and a proposition?
A proposition is a declarative sentence with a single, determinate truth value — true or false, not both, not neither. A predicate is a pattern for producing propositions: it contains one or more free variables, and only becomes an actual proposition once every free variable has been closed, either by substituting a specific object from the relevant domain or by attaching a quantifier. So " is prime" is a proposition (true), " is prime" is a predicate/open sentence (no truth value on its own), and " is prime" is again a proposition (false, since 4 is not prime), obtained by quantifying rather than substituting.
Why do we need to specify a domain of discourse at all — can't we just let variables range over "everything"?
Letting a variable range over "everything" (some universal collection of all objects) causes two separate problems. First, as the counterexample shows, a fixed symbolic condition like "" may simply not parse for some objects (sets, functions, colors), so substitution would not reliably produce a proposition, violating the closure property required of a genuine predicate. Second, in set theory, assuming a "set of all objects" exists leads to contradictions such as Russell's Paradox. Restricting to a specific, well-understood domain (integers, reals, subsets of a fixed set, etc.) sidesteps both issues and is what makes the Substitution Theorem provable rather than merely hoped for.
Is the truth set of a predicate the same thing as the predicate itself?
Not quite, though they carry the same logical information relative to a fixed domain. The truth set records exactly which elements make true, and two syntactically different predicates with the same truth set are called logically equivalent (as in Example 1, where and share truth set ). But the predicate itself is the expression or function , which carries a definite defining rule, while the truth set is only the resulting output data (the preimage of ). Two predicates can be equivalent without being the same expression.
Can a predicate have zero free variables, or is that a contradiction?
If an expression has zero free variables, it is not a predicate in the substitution sense — it is already a closed sentence, i.e., a proposition (assuming it's well-formed and declarative), because there is nothing left to substitute. The definition of "predicate" as given here is reserved for expressions with at least one free variable, precisely because the interesting phenomenon — needing substitution or quantification to obtain a truth value — requires a variable to be present. A zero-variable expression skips straight to being a proposition, which is the base case this whole theory is built on top of.
What is the relationship between predicates and quantifiers, without getting into the details of quantifiers themselves?
Substitution is one way to close an open sentence's free variable: replace by a specific object , and by the Substitution Theorem you get a proposition. Quantification is the other way: instead of naming one object, you assert something about the pattern across the whole domain — "for every in , holds" or "there exists an in for which holds." Both operations take a one-free-variable open sentence and output a genuine closed proposition, but quantification does so without singling out any one element, which is what makes it strictly more expressive than substitution alone. The precise definitions and proof rules for these two operations are developed in Universal and Existential Quantifiers.
Does a predicate's truth set have to be a "nice" or describable subset of the domain?
No — nothing in the definition requires the truth set to be finite, cofinite, an interval, or expressible by any simpler formula. Example 1 showed a truth set that was a small finite subset of the infinite domain ; other predicates (e.g. " is a real number that is a root of some specific transcendental equation") can have truth sets that are uncountable, or even undecidable to describe algorithmically in general logical settings. The Substitution Theorem guarantees only that each individual substitution yields a determinate proposition — it says nothing about how complicated the resulting collection of true instances might be.
If I substitute the same value using two different names (like "6" and "2·3"), do I always get the same truth value?
Yes, and this is exactly Part 2 of the Substitution Theorem (well-definedness). Since a predicate is formally a function from its domain to , and functions are single-valued, evaluating that function at the same underlying object always returns the same output regardless of which numeral or expression is used to name that object. So and must agree for any predicate over a domain containing the integer 6, because "6" and "2·3" denote the identical element of that domain — the theorem guarantees notation never affects truth value, only the object substituted does.