In mathematical logic, a **predicate variable** is a predicate letter which functions as a "placeholder" for a relation (between terms), but which has not been specifically assigned any particular relation (or meaning). Common symbols for denoting predicate variables include capital roman letters such as , and , or lower case roman letters, e.g., .^{[1]} In first-order logic, they can be more properly called metalinguistic variables. In higher-order logic, predicate variables correspond to propositional variables which can stand for well-formed formulas of the same logic, and such variables can be quantified by means of (at least) second-order quantifiers.

Predicate variables should be distinguished from predicate constants, which could be represented either with a different (exclusive) set of predicate letters, or by their own symbols which really do have their own specific meaning in their domain of discourse: e.g. .

If letters are used for both predicate constants and predicate variables, then there must be a way of distinguishing between them. One possibility is to use letters *W*, *X*, *Y*, *Z* to represent predicate variables and letters *A*, *B*, *C*,..., *U*, *V* to represent predicate constants. If these letters are not enough, then numerical subscripts can be appended after the letter in question (as in *X*_{1}, *X*_{2}, *X*_{3}).

Another option is to use Greek lower-case letters to represent such metavariable predicates. Then, such letters could be used to represent entire well-formed formulae (wff) of the predicate calculus: any free variable terms of the wff could be incorporated as terms of the Greek-letter predicate. This is the first step towards creating a higher-order logic.

If the predicate variables are not defined as belonging to the vocabulary of the predicate calculus, then they are predicate **metavariables**, whereas the rest of the predicates are just called "predicate letters". The metavariables are thus understood to be used to code for axiom schema and theorem schemata (derived from the axiom schemata).

Whether the "predicate letters" are constants or variables is a subtle point: they are not constants in the same sense that are predicate constants, or that are numerical constants.

If "predicate variables" are only allowed to be bound to predicate letters of zero arity (which have no arguments), where such letters represent propositions, then such variables are *propositional variables*, and any predicate logic which allows second-order quantifiers to be used to bind such propositional variables is a second-order predicate calculus, or second-order logic.

If predicate variables are also allowed to be bound to predicate letters which are unary or have higher arity, and when such letters represent *propositional functions*, such that the domain of the arguments is mapped to a range of different propositions, and when such variables can be bound by quantifiers to such sets of propositions, then the result is a higher-order predicate calculus, or higher-order logic.