1 Basic concept
A predicate is an expression that can be applied to one or more objects and yields a truth value. In informal use, it describes a property of an item or a relation among several items. The notion is broad enough to cover forms in logic, mathematics, language, and computation, although each field treats it with its own technical conventions.
Predicates are useful because they let a system distinguish between objects and claims about those objects. For example, a statement such as “is even” may be applied to a number, while “is larger than” may be applied to a pair of numbers. This flexibility makes predicates a basic building block for formal description.
1.1 Definition
In the most general sense, a predicate is something that can be tested for an object or tuple of objects and that produces a result interpreted as true or false. In logic, a predicate is often written as a symbol followed by variables, such as P(x) or R(x, y). The symbol stands for a property or relation, while the variables indicate the objects under discussion.
The exact definition depends on the framework. In some settings, a predicate is treated as a linguistic expression. In others, it is a mathematical object such as a set or a function. Despite these differences, the core idea remains the same: a predicate classifies inputs according to whether they satisfy a condition.
1.2 Truth values
Predicates are associated with truth values. When an object satisfies the condition expressed by the predicate, the result is true; otherwise it is false. This binary outcome makes predicates especially suitable for formal reasoning, where statements must be evaluated or combined consistently.
In some logical systems, truth values may be extended beyond simple true and false, but the classical view remains the most common. The truth of a predicate typically depends on the object or objects supplied to it. For instance, “is prime” is true for 7 and false for 8.
1.3 Arguments and arity
The objects to which a predicate applies are called its arguments. The number of arguments a predicate takes is its arity. A predicate with one argument is unary, with two arguments binary, and with three or more arguments n-ary.
Arity matters because it determines the kind of information a predicate can express. Unary predicates describe properties of single objects, such as “is red.” Binary predicates express relations between pairs, such as “is taller than.” Higher-arity predicates can represent more complex relationships involving several objects at once.
2 Predicates in logic
In logic, predicates are central to the formation of meaningful statements. They are used to express properties, relations, and conditions that can be evaluated within a formal system. Logic uses predicates to move beyond isolated propositions and toward structured claims about objects and their interactions.
2.1 Propositional functions
A propositional function is an expression that becomes a proposition once its variables are replaced by specific values. Such an expression is not yet a complete statement in itself, but it can generate one when its arguments are fixed. This idea is closely related to the modern notion of a predicate.
For example, “x is a mammal” is a propositional function because it depends on the value of x. If x is replaced by “whale,” the expression yields a proposition that can be assessed as true or false. Propositional functions help formalize the distinction between open expressions and complete assertions.
2.2 Predicate logic
Predicate logic extends propositional logic by introducing variables, predicates, and quantifiers. It allows reasoning about objects in a domain rather than treating whole statements as indivisible units. This makes it far more expressive than logic that deals only with propositions as complete wholes.
Predicate logic can represent patterns such as “all objects with a certain property have another property” or “some object satisfies a given relation.” Because of this, it is widely used in mathematics, philosophy, and formal analysis.
2.2.1 First-order logic
First-order logic is the most familiar form of predicate logic. It allows quantification over individual objects but not, in its standard form, over predicates themselves. Its language includes variables, predicate symbols, function symbols, logical connectives, and quantifiers.
In first-order logic, predicates are interpreted over a domain of objects. A statement like ∀x P(x) means that every object in the domain satisfies the predicate P. First-order logic is valued for its balance of expressive power and formal manageability.
2.2.2 Quantification
Quantification indicates how many objects satisfy a predicate. The universal quantifier expresses that all objects in a relevant domain meet a condition, while the existential quantifier states that at least one object does. These operators are essential to formalizing general and particular claims.
Quantification connects predicates to larger logical structures. For example, ∃x P(x) asserts that there is some object for which the predicate holds. By combining quantifiers with predicates, logic can state complex claims about existence, universality, and conditional dependence.
2.3 Higher-order predicates
Higher-order logic allows quantification over predicates, functions, or sets, not just individual objects. In this setting, predicates may themselves become objects of discourse. This increases expressive power, though it can also make the system more complex.
Higher-order predicates are useful for discussing properties of properties or relations among relations. For instance, one might consider whether a predicate is reflexive, or whether a relation preserves a certain structure. Such frameworks appear in advanced logic and foundational studies.
3 Mathematical interpretation
Mathematics often treats predicates as formal entities that correspond to conditions on elements of a set or domain. This viewpoint allows predicates to be analyzed using set-theoretic and functional language. It also makes clear how predicates support precise definitions and theorem proving.
3.1 Predicates as relations
A predicate can be understood as a relation on a set. Under this interpretation, a predicate with arity n corresponds to a subset of an n-fold Cartesian product. The relation holds precisely for those tuples belonging to that subset.
This view is especially natural for binary and higher-arity predicates. For example, the relation “less than” on numbers consists of ordered pairs where the first number is smaller than the second. Thinking of predicates as relations helps connect logic with algebra and discrete mathematics.
3.2 Predicates as characteristic functions
Another mathematical interpretation treats a predicate as a characteristic function. Such a function assigns the value 1 to inputs that satisfy the condition and 0 to those that do not. In this way, a predicate becomes a special kind of function with Boolean output.
This representation is useful because it translates logical conditions into function theory. It is common in set theory, combinatorics, and computer science. The characteristic function of a set indicates membership, so predicates and sets can often be described in equivalent terms.
3.3 Predicate calculus
Predicate calculus is the formal study of reasoning with predicates and quantifiers. It provides rules for constructing valid formulas and drawing conclusions from them. The term is often used broadly to include first-order logical systems with predicates and quantification.
Predicate calculus serves as a bridge between symbolic syntax and semantic interpretation. It explains how formulas are built and how their truth is determined relative to a structure or model. This makes it a foundational tool in mathematical logic.
4 Linguistic use
In linguistics, the term predicate refers to a grammatical component that says something about a subject. It is not identical to the logical notion, though the two are related. Linguistic analysis focuses on sentence structure and meaning rather than formal truth conditions alone.
4.1 Grammatical predicates
A grammatical predicate typically contains the verb and may include objects, complements, or other modifiers. It is the part of the sentence that provides information about the subject. For example, in “The child laughed,” the predicate is “laughed.”
The linguistic predicate does not always align neatly with logical predicate structure. Some languages and syntactic theories divide sentences differently, and predicates may be identified through clause structure rather than by direct analogy to formal logic. Still, the term remains important in grammar and sentence analysis.
4.2 Semantic roles
Semantic roles describe the functions participants play in the event or situation expressed by a sentence. Common roles include agent, patient, theme, and experiencer. Predicates help organize these roles by indicating the action, state, or relation being described.
A predicate supplies the event or condition around which semantic roles are arranged. For example, in “Maria gave Lee a book,” the predicate “gave” organizes the roles of giver, recipient, and thing given. This perspective connects syntax with meaning.
4.3 Predicate nominatives and complements
A predicate nominative is a noun or noun phrase that follows a linking verb and renames the subject. A predicate complement is a broader category that includes words or phrases completing the meaning of the predicate. These constructions are common in languages with copular sentences.
For example, in “She is a teacher,” the phrase “a teacher” functions as a predicate nominative. In “The soup tastes good,” “good” acts as a predicate complement. Such forms show how predicates can be linked to identifying or descriptive expressions.
5 Predicates in computer science
Computer science uses predicate concepts in programming, logic, verification, and type theory. Predicates are often implemented as functions or expressions that return Boolean values. They help machines test conditions, filter data, and control execution.
5.1 Boolean-valued functions
A Boolean-valued function is a function whose output is either true or false. This is the most direct computational analogue of a predicate. Such functions are used in conditional statements, search algorithms, and data validation.
Examples include tests such as “is empty,” “is sorted,” or “contains a key.” When a program evaluates a Boolean predicate, it can decide which branch to follow or whether a condition has been met. This makes predicates central to program logic.
5.2 Predicate expressions in programming
Many programming languages include predicate expressions that test conditions on values. These expressions may appear in filters, loop guards, search operations, and database queries. They are commonly used to select items from collections based on a property.
A predicate expression can often be written as an anonymous function or as a concise conditional test. For example, a function that returns whether a number is positive can serve as a predicate in code. Such expressions are especially common in functional and declarative programming styles.
5.3 Predicate abstraction
Predicate abstraction is a method used in program analysis to simplify a system by replacing detailed program states with logical predicates. The technique tracks whether selected conditions are true or false, rather than representing every low-level value. This can make verification tasks more tractable.
The approach is useful for checking properties of programs without examining every execution path in full detail. It relies on carefully chosen predicates that summarize behavior relevant to the analysis. Predicate abstraction is widely used in formal verification and model checking.
5.3.1 Lambda calculus
In lambda calculus, predicates are often represented as functions that return Boolean values. The calculus provides a minimal formal language for function definition and application, making it a useful setting for modeling logical conditions. Predicates can be encoded directly as lambda expressions.
This functional view aligns with the idea that a predicate is a test applied to inputs. Lambda calculus also influenced the design of many modern programming languages, where predicates frequently appear as first-class functions.
5.3.2 Type systems
Type systems use predicates in describing and checking program properties. Some type theories allow propositions to correspond to types, making predicates part of the structure of type checking. In more advanced settings, predicates may define refined types or constraints on values.
This connection helps programs express and enforce conditions such as “this value is a nonzero integer” or “this object satisfies a given interface.” Predicate-based typing improves correctness by restricting which values are allowed in particular contexts.
6 Related concepts
Predicates are closely linked to several other foundational ideas in logic and mathematics. These related notions often overlap in practice, but each has a distinct role. Understanding their differences helps clarify how predicates function in formal systems.
6.1 Propositions
A proposition is a complete statement that is either true or false. Unlike a predicate, it does not contain free variables needing completion. Predicates can be seen as open expressions that may generate propositions when supplied with arguments.
The distinction matters in logic because reasoning often moves from open formulas to closed statements. A proposition can be evaluated directly, while a predicate requires a specified input or a quantified context. This difference underlies many formal analyses.
6.2 Functions
Functions map inputs to outputs and may return numbers, objects, or truth values. A predicate is a special case of a function when the output is interpreted as Boolean. In this sense, every predicate can be viewed as a function, though not every function is a predicate.
This functional perspective is especially useful in mathematics and computer science. It clarifies how predicates can be evaluated mechanically and how they may be composed with other operations. The main distinction lies in the nature of the output.
6.3 Relations
A relation describes a connection among elements of one or more sets. Predicates and relations are closely associated because a predicate can represent whether a tuple belongs to a relation. In formal mathematics, the two ideas are often interchangeable in practice.
The relation viewpoint emphasizes structure among objects rather than a yes-no test. For example, “is married to” or “divides” can be modeled as relations between pairs of elements. Predicates provide the logical form for expressing such connections.
6.4 Statements and assertions
Statements and assertions are acts or expressions that present content as true or claimable. A predicate contributes to forming them but is not always identical to them. When combined with appropriate arguments or quantifiers, a predicate can become part of a statement that asserts something about the world or a formal domain.
In everyday language, people may loosely call a predicate a statement, but technically the predicate is only one component of a larger structure. This distinction is important in formal grammar and logic, where precise roles are assigned to expressions. The relation between the two helps explain how meaning is built from parts.
</INTERNAL_LINK_CANDIDATES> Proposition (a complete statement that is true or false) Function (a mapping from inputs to outputs) Relation (a connection among one or more objects) Truth value (the true or false result of a predicate) Arity (the number of arguments a predicate takes) Predicate logic (a logical system using predicates and quantifiers) Propositional function (an open expression that becomes a proposition when variables are filled) First-order logic (predicate logic quantifying over individuals) Quantifier (an operator expressing universality or existence) Higher-order logic (logic that quantifies over predicates or functions) Characteristic function (a Boolean-valued function indicating set membership) Predicate calculus (the formal study of reasoning with predicates) Semantic role (the function a participant plays in a sentence) Grammatical predicate (the part of a sentence saying something about the subject) Predicate nominative (a noun phrase renaming the subject after a linking verb) Boolean-valued function (a function returning true or false) Predicate abstraction (a program-analysis technique using logical predicates) Lambda calculus (a formal system for function definition and application) Type system (a framework for classifying values and expressions) Assertion (a statement presented as true)