In propositional calculus, a propositional function or a predicate is a sentence expressed in a way that would assume the value of true or false, except that within the sentence there is a variable (x) that is not defined or specified (thus being a free variable), which leaves the statement undetermined. The sentence may contain several such variables (e.g. n variables, in which case the function takes n arguments).
As a mathematical function, A(x) or A(x1, x2, ..., xn), the propositional function is abstracted from predicates or propositional forms. As an example, consider the predicate scheme, "x is hot". The substitution of any entity for x will produce a specific proposition that can be described as either true or false, even though "x is hot" on its own has no value as either a true or false statement. However, when a value is assigned to x , such as lava, the function then has the value true; while one assigns to x a value like ice, the function then has the value false.
Later Russell examined the problem of whether propositional functions were predicative or not, and he proposed two theories to try to get at this question: the zig-zag theory and the ramified theory of types.
A Propositional Function, or a predicate, in a variable x is an open formula p(x) involving x that becomes a proposition when one gives x a definite value from the set of values it can take.
According to Clarence Lewis, "A proposition is any expression which is either true or false; a propositional function is an expression, containing one or more variables, which becomes a proposition when each of the variables is replaced by some one of its values from a discourse domain of individuals." Lewis used the notion of propositional functions to introduce relations, for example, a propositional function of n variables is a relation of arity n. The case of n = 2 corresponds to binary relations, of which there are homogeneous relations (both variables from the same set) and heterogeneous relations.