HOME

TheInfoList



OR:

In
formal logic Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the study of deductively valid inferences or logical truths. It examines how conclusions follow from premises based on the structure o ...
and related branches of
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, a functional predicate, or function symbol, is a logical symbol that may be applied to an object term to produce another object term. Functional predicates are also sometimes called mappings, but that term has additional meanings in mathematics. In a
model A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , . Models can be divided in ...
, a function symbol will be modelled by a function. Specifically, the symbol ''F'' in a
formal language In logic, mathematics, computer science, and linguistics, a formal language is a set of strings whose symbols are taken from a set called "alphabet". The alphabet of a formal language consists of symbols that concatenate into strings (also c ...
is a functional symbol if,
given any In mathematical logic, a universal quantification is a type of quantifier, a logical constant which is interpreted as "given any", "for all", "for every", or "given an arbitrary element". It expresses that a predicate can be satisfied by e ...
symbol ''X'' representing an object in the language, ''F''(''X'') is again a symbol representing an object in that language. In typed logic, ''F'' is a functional symbol with ''domain'' type T and ''codomain'' type U if, given any symbol ''X'' representing an object of type T, ''F''(''X'') is a symbol representing an object of type U. One can similarly define function symbols of more than one variable, analogous to functions of more than one variable; a function symbol in zero variables is simply a constant symbol. Now consider a model of the formal language, with the types T and U modelled by sets ''Tand ''Uand each symbol ''X'' of type T modelled by an element 'X''in ''T Then ''F'' can be modelled by the set : =\big\, which is simply a function with domain ''Tand codomain ''U It is a requirement of a consistent model that 'F''(''X'')= 'F''(''Y'')whenever 'X''= 'Y''


Introducing new function symbols

In a treatment of
predicate logic First-order logic, also called predicate logic, predicate calculus, or quantificational logic, is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantified variables ove ...
that allows one to introduce new predicate symbols, one will also want to be able to introduce new function symbols. Given the function symbols ''F'' and ''G'', one can introduce a new function symbol ''F'' ∘ ''G'', the '' composition'' of ''F'' and ''G'', satisfying (''F'' ∘ ''G'')(''X'') = ''F''(''G''(''X'')),
for all In mathematical logic, a universal quantification is a type of quantifier, a logical constant which is interpreted as "given any", "for all", "for every", or "given an arbitrary element". It expresses that a predicate can be satisfied by e ...
''X''. Of course, the right side of this equation doesn't make sense in typed logic unless the domain type of ''F'' matches the codomain type of ''G'', so this is required for the composition to be defined. One also gets certain function symbols automatically. In untyped logic, there is an ''identity predicate'' id that satisfies id(''X'') = ''X'' for all ''X''. In typed logic, given any type T, there is an identity predicate idT with domain and codomain type T; it satisfies idT(''X'') = ''X'' for all ''X'' of type T. Similarly, if T is a subtype of U, then there is an inclusion predicate of domain type T and codomain type U that satisfies the same equation; there are additional function symbols associated with other ways of constructing new types out of old ones. Additionally, one can define functional predicates after proving an appropriate
theorem In mathematics and formal logic, a theorem is a statement (logic), statement that has been Mathematical proof, proven, or can be proven. The ''proof'' of a theorem is a logical argument that uses the inference rules of a deductive system to esta ...
. (If you're working in a
formal system A formal system is an abstract structure and formalization of an axiomatic system used for deducing, using rules of inference, theorems from axioms. In 1921, David Hilbert proposed to use formal systems as the foundation of knowledge in ma ...
that doesn't allow you to introduce new symbols after proving theorems, then you will have to use relation symbols to get around this, as in the next section.) Specifically, if you can prove that for every ''X'' (or every ''X'' of a certain type), there exists a unique ''Y'' satisfying some condition ''P'', then you can introduce a function symbol ''F'' to indicate this. Note that ''P'' will itself be a relational predicate involving both ''X'' and ''Y''. So if there is such a predicate ''P'' and a theorem: : For all ''X'' of type T, for some unique ''Y'' of type U, ''P''(''X'',''Y''), then you can introduce a function symbol ''F'' of domain type T and codomain type U that satisfies: : For all ''X'' of type T, for all ''Y'' of type U, ''P''(''X'',''Y'')
if and only if In logic and related fields such as mathematics and philosophy, "if and only if" (often shortened as "iff") is paraphrased by the biconditional, a logical connective between statements. The biconditional is true in two cases, where either bo ...
''Y'' = ''F''(''X'').


Doing without functional predicates

Many treatments of predicate logic don't allow functional predicates, only relational predicates. This is useful, for example, in the context of proving metalogical theorems (such as Gödel's incompleteness theorems), where one doesn't want to allow the introduction of new functional symbols (nor any other new symbols, for that matter). But there is a method of replacing functional symbols with relational symbols wherever the former may occur; furthermore, this is algorithmic and thus suitable for applying most metalogical theorems to the result. Specifically, if ''F'' has domain type T and
codomain In mathematics, a codomain, counter-domain, or set of destination of a function is a set into which all of the output of the function is constrained to fall. It is the set in the notation . The term '' range'' is sometimes ambiguously used to ...
type U, then it can be replaced with a predicate ''P'' of type (T,U). Intuitively, ''P''(''X'',''Y'') means ''F''(''X'') = ''Y''. Then whenever ''F''(''X'') would appear in a statement, you can replace it with a new symbol ''Y'' of type U and include another statement ''P''(''X'',''Y''). To be able to make the same deductions, you need an additional proposition: :
For all In mathematical logic, a universal quantification is a type of quantifier, a logical constant which is interpreted as "given any", "for all", "for every", or "given an arbitrary element". It expresses that a predicate can be satisfied by e ...
''X'' of type T, for some unique ''Y'' of type U, ''P''(''X'',''Y''). (Of course, this is the same proposition that had to be proven as a theorem before introducing a new function symbol in the previous section.) Because the elimination of functional predicates is both convenient for some purposes and possible, many treatments of formal logic do not deal explicitly with function symbols but instead use only relation symbols; another way to think of this is that a functional predicate is a ''special kind of'' predicate, specifically one that satisfies the proposition above. This may seem to be a problem if you wish to specify a proposition
schema Schema may refer to: Science and technology * SCHEMA (bioinformatics), an algorithm used in protein engineering * Schema (genetic algorithms), a set of programs or bit strings that have some genotypic similarity * Schema.org, a web markup vocab ...
that applies only to functional predicates ''F''; how do you know ahead of time whether it satisfies that condition? To get an equivalent formulation of the schema, first replace anything of the form ''F''(''X'') with a new variable ''Y''. Then universally quantify over each ''Y'' immediately after the corresponding ''X'' is introduced (that is, after ''X'' is quantified over, or at the beginning of the statement if ''X'' is free), and guard the quantification with ''P''(''X'',''Y''). Finally, make the entire statement a material consequence of the uniqueness condition for a functional predicate above. Let us take as an example the axiom schema of replacement in
Zermelo–Fraenkel set theory In set theory, Zermelo–Fraenkel set theory, named after mathematicians Ernst Zermelo and Abraham Fraenkel, is an axiomatic system that was proposed in the early twentieth century in order to formulate a theory of sets free of paradoxes suc ...
. (This example uses
mathematical symbols A mathematical symbol is a figure or a combination of figures that is used to represent a mathematical object, an action on mathematical objects, a relation between mathematical objects, or for structuring the other symbols that occur in a mathemat ...
.) This schema states (in one form), for any functional predicate ''F'' in one variable: :\forall A, \exists B, \forall C, C \in A \rightarrow F(C)\in B. First, we must replace ''F''(''C'') with some other variable ''D'': :\forall A, \exists B, \forall C, C \in A\rightarrow D \in B. Of course, this statement isn't correct; ''D'' must be quantified over just after ''C'': :\forall A, \exists B, \forall C, \forall D, C \in A \rightarrow D\in B. We still must introduce ''P'' to guard this quantification: :\forall A, \exists B, \forall C, \forall D, P(C,D) \rightarrow (C \in A \rightarrow D \in B). This is almost correct, but it applies to too many predicates; what we actually want is: :(\forall X, \exists ! Y, P(X,Y))\rightarrow (\forall A, \exists B, \forall C, \forall D, P(C,D)\rightarrow (C \in A \rightarrow D \in B)). This version of the axiom schema of replacement is now suitable for use in a formal language that doesn't allow the introduction of new function symbols. Alternatively, one may interpret the original statement as a statement in such a formal language; it was merely an abbreviation for the statement produced at the end.


See also

* Function symbol (logic) * Logical connective * Logical constant {{DEFAULTSORT:Functional Predicate Model theory