truth-functional
   HOME

TheInfoList



OR:

In
logic Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from prem ...
, a truth function is a
function Function or functionality may refer to: Computing * Function key, a type of key on computer keyboards * Function model, a structured representation of processes in a system * Function object or functor or functionoid, a concept of object-oriente ...
that accepts
truth value In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values ('' true'' or '' false''). Computing In some pro ...
s as input and produces a unique truth value as output. In other words: The input and output of a truth function are all truth values; a truth function will always output exactly one truth value; and inputting the same truth value(s) will always output the same truth value. The typical example is in
propositional logic Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
, wherein a compound statement is constructed using individual statements connected by
logical connective In logic, a logical connective (also called a logical operator, sentential connective, or sentential operator) is a logical constant. They can be used to connect logical formulas. For instance in the syntax of propositional logic, the binary ...
s; if the truth value of the compound statement is entirely determined by the truth value(s) of the constituent statement(s), the compound statement is called a truth function, and any logical connectives used are said to be truth functional.
Classical propositional logic Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations ...
is a truth-functional logic, in that every statement has exactly one truth value which is either true or false, and every logical connective is truth functional (with a correspondent
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
), thus every compound statement is a truth function.Roy T. Cook (2009). ''A Dictionary of Philosophical Logic'', p. 47: Classical Logic. Edinburgh University Press. On the other hand,
modal logic Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics. Modal logics extend ot ...
is non-truth-functional.


Overview

A
logical connective In logic, a logical connective (also called a logical operator, sentential connective, or sentential operator) is a logical constant. They can be used to connect logical formulas. For instance in the syntax of propositional logic, the binary ...
is truth-functional if the truth-value of a compound sentence is a function of the truth-value of its sub-sentences. A class of connectives is truth-functional if each of its members is. For example, the connective "''and''" is truth-functional since a sentence like "''Apples are fruits and carrots are vegetables''" is true ''
if, and only if In logic and related fields such as mathematics and philosophy, "if and only if" (shortened as "iff") is a biconditional logical connective between statements, where either both statements are true or both are false. The connective is bicon ...
'' each of its sub-sentences "''apples are fruits''" and "''carrots are vegetables''" is true, and it is false otherwise. Some connectives of a natural language, such as English, are not truth-functional. Connectives of the form "x ''believes that'' ..." are typical examples of connectives that are not truth-functional. If e.g. Mary mistakenly believes that Al Gore was President of the USA on April 20, 2000, but she does not believe that the moon is made of green cheese, then the sentence :"''Mary believes that Al Gore was President of the USA on April 20, 2000''" is true while :"''Mary believes that the moon is made of green cheese''" is false. In both cases, each component sentence (i.e. "''Al Gore was president of the USA on April 20, 2000''" and "''the moon is made of green cheese''") is false, but each compound sentence formed by prefixing the phrase "''Mary believes that''" differs in truth-value. That is, the truth-value of a sentence of the form "''Mary believes that...''" is not determined solely by the truth-value of its component sentence, and hence the (unary) connective (or simply ''operator'' since it is unary) is non-truth-functional. The class of
classical logic Classical logic (or standard logic or Frege-Russell logic) is the intensively studied and most widely used class of deductive logic. Classical logic has had much influence on analytic philosophy. Characteristics Each logical system in this class ...
connectives (e.g. &, ) used in the construction of formulas is truth-functional. Their values for various truth-values as argument are usually given by
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
s.
Truth-functional propositional calculus Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
is a
formal system A formal system is an abstract structure used for inferring theorems from axioms according to a set of rules. These rules, which are used for carrying out the inference of theorems from axioms, are the logical calculus of the formal system. A fo ...
whose formulae may be interpreted as either true or false.


Table of binary truth functions

In two-valued logic, there are sixteen possible truth functions, also called
Boolean function In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually , or ). Alternative names are switching function, used especially in older computer science literature, and truth function ...
s, of two inputs ''P'' and ''Q''. Any of these functions corresponds to a truth table of a certain
logical connective In logic, a logical connective (also called a logical operator, sentential connective, or sentential operator) is a logical constant. They can be used to connect logical formulas. For instance in the syntax of propositional logic, the binary ...
in classical logic, including several
degenerate Degeneracy, degenerate, or degeneration may refer to: Arts and entertainment * Degenerate (album), ''Degenerate'' (album), a 2010 album by the British band Trigger the Bloodshed * Degenerate art, a term adopted in the 1920s by the Nazi Party i ...
cases such as a function not depending on one or both of its arguments. Truth and falsehood are denoted as 1 and 0, respectively, in the following truth tables for sake of brevity.


Functional completeness

Because a function may be expressed as a
composition Composition or Compositions may refer to: Arts and literature *Composition (dance), practice and teaching of choreography *Composition (language), in literature and rhetoric, producing a work in spoken tradition and written discourse, to include v ...
, a truth-functional logical calculus does not need to have dedicated symbols for all of the above-mentioned functions to be
functionally complete In logic, a functionally complete set of logical connectives or Boolean operators is one which can be used to express all possible truth tables by combining members of the set into a Boolean expression.. ("Complete set of logical connectives").. ( ...
. This is expressed in a
propositional calculus Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
as
logical equivalence In logic and mathematics, statements p and q are said to be logically equivalent if they have the same truth value in every model. The logical equivalence of p and q is sometimes expressed as p \equiv q, p :: q, \textsfpq, or p \iff q, depending o ...
of certain compound statements. For example, classical logic has equivalent to . The conditional operator "→" is therefore not necessary for a classical-based
logical system A formal system is an abstract structure used for inferring theorems from axioms according to a set of rules. These rules, which are used for carrying out the inference of theorems from axioms, are the logical calculus of the formal system. A for ...
if "¬" (not) and "∨" (or) are already in use. A minimal set of operators that can express every statement expressible in the
propositional calculus Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
is called a ''minimal functionally complete set''. A minimally complete set of operators is achieved by NAND alone and NOR alone . The following are the minimal functionally complete sets of operators whose arities do not exceed 2:Wernick, William (1942) "Complete Sets of Logical Functions," ''Transactions of the American Mathematical Society 51'': 117–32. In his list on the last page of the article, Wernick does not distinguish between ← and →, or between \nleftarrow and \nrightarrow. ;One element: , . ;Two elements: \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \, \. ;Three elements: \, \, \, \, \, \.


Algebraic properties

Some truth functions possess properties which may be expressed in the theorems containing the corresponding connective. Some of those properties that a binary truth function (or a corresponding logical connective) may have are: *
associativity In mathematics, the associative property is a property of some binary operations, which means that rearranging the parentheses in an expression will not change the result. In propositional logic, associativity is a valid rule of replacement ...
: Within an expression containing two or more of the same associative connectives in a row, the order of the operations does not matter as long as the sequence of the operands is not changed. *
commutativity In mathematics, a binary operation is commutative if changing the order of the operands does not change the result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. Most familiar as the name of ...
: The operands of the connective may be swapped without affecting the truth-value of the expression. *
distributivity In mathematics, the distributive property of binary operations generalizes the distributive law, which asserts that the equality x \cdot (y + z) = x \cdot y + x \cdot z is always true in elementary algebra. For example, in elementary arithmeti ...
: A connective denoted by · distributes over another connective denoted by +, if ''a'' · (''b'' + ''c'') = (''a'' · ''b'') + (''a'' · ''c'') for all operands ''a'', ''b'', ''c''. *
idempotence Idempotence (, ) is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application. The concept of idempotence arises in a number of pl ...
: Whenever the operands of the operation are the same, the connective gives the operand as the result. In other words, the operation is both truth-preserving and falsehood-preserving (see below). *
absorption Absorption may refer to: Chemistry and biology *Absorption (biology), digestion **Absorption (small intestine) *Absorption (chemistry), diffusion of particles of gas or liquid into liquid or solid materials *Absorption (skin), a route by which s ...
: A pair of connectives \land, \lor satisfies the absorption law if a\land(a\lor b)=a\lor(a\land b)=a for all operands ''a'', ''b''. A set of truth functions is
functionally complete In logic, a functionally complete set of logical connectives or Boolean operators is one which can be used to express all possible truth tables by combining members of the set into a Boolean expression.. ("Complete set of logical connectives").. ( ...
if and only if for each of the following five properties it contains at least one member lacking it: *
monotonic In mathematics, a monotonic function (or monotone function) is a function between ordered sets that preserves or reverses the given order. This concept first arose in calculus, and was later generalized to the more abstract setting of order ...
: If ''f''(''a''1, ..., ''a''''n'') ≤ ''f''(''b''1, ..., ''b''''n'') for all ''a''1, ..., ''a''''n'', ''b''1, ..., ''b''''n'' ∈ such that ''a''1 ≤ ''b''1, ''a''2 ≤ ''b''2, ..., ''a''''n'' ≤ ''b''''n''. E.g., \vee, \wedge, \top, \bot. *
affine Affine may describe any of various topics concerned with connections or affinities. It may refer to: * Affine, a relative by marriage in law and anthropology * Affine cipher, a special case of the more general substitution cipher * Affine comb ...
: For each variable, changing its value either always or never changes the truth-value of the operation, for all fixed values of all other variables. E.g., \neg, \leftrightarrow, \not\leftrightarrow, \top, \bot. *self dual: To read the truth-value assignments for the operation from top to bottom on its
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
is the same as taking the complement of reading it from bottom to top; in other words, ''f''(¬''a''1, ..., ¬''a''''n'') = ¬''f''(''a''1, ..., ''a''''n''). E.g., \neg. *truth-preserving: The interpretation under which all variables are assigned a
truth value In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values ('' true'' or '' false''). Computing In some pro ...
of 'true' produces a truth value of 'true' as a result of these operations. E.g., \vee, \wedge, \top, \rightarrow, \leftrightarrow, \subset. (see validity) *falsehood-preserving: The interpretation under which all variables are assigned a
truth value In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values ('' true'' or '' false''). Computing In some pro ...
of 'false' produces a truth value of 'false' as a result of these operations. E.g., \vee, \wedge, \nleftrightarrow, \bot, \not\subset, \not\supset. (see validity)


Arity

A concrete function may be also referred to as an ''operator''. In two-valued logic there are 2 nullary operators (constants), 4 unary operators, 16
binary operators In mathematics, a binary operation or dyadic operation is a rule for combining two elements (called operands) to produce another element. More formally, a binary operation is an operation of arity two. More specifically, an internal binary ope ...
, 256 ternary operators, and 2^ ''n''-ary operators. In three-valued logic there are 3 nullary operators (constants), 27 unary operators, 19683
binary operators In mathematics, a binary operation or dyadic operation is a rule for combining two elements (called operands) to produce another element. More formally, a binary operation is an operation of arity two. More specifically, an internal binary ope ...
, 7625597484987 ternary operators, and 3^ ''n''-ary operators. In ''k''-valued logic, there are ''k'' nullary operators, k^k unary operators, k^ binary operators, k^ ternary operators, and k^ ''n''-ary operators. An ''n''-ary operator in ''k''-valued logic is a function from \mathbb_k^n \to \mathbb_k. Therefore, the number of such operators is , \mathbb_k, ^ = k^, which is how the above numbers were derived. However, some of the operators of a particular arity are actually degenerate forms that perform a lower-arity operation on some of the inputs and ignore the rest of the inputs. Out of the 256 ternary boolean operators cited above, \binom\cdot 16 - \binom\cdot 4 + \binom\cdot 2 of them are such degenerate forms of binary or lower-arity operators, using the
inclusion–exclusion principle In combinatorics, a branch of mathematics, the inclusion–exclusion principle is a counting technique which generalizes the familiar method of obtaining the number of elements in the union of two finite sets; symbolically expressed as : , A \cu ...
. The ternary operator f(x,y,z)=\lnot x is one such operator which is actually a unary operator applied to one input, and ignoring the other two inputs. "Not" is a
unary operator In mathematics, an unary operation is an operation with only one operand, i.e. a single input. This is in contrast to binary operations, which use two operands. An example is any function , where is a set. The function is a unary operation o ...
, it takes a single term (¬''P''). The rest are
binary operators In mathematics, a binary operation or dyadic operation is a rule for combining two elements (called operands) to produce another element. More formally, a binary operation is an operation of arity two. More specifically, an internal binary ope ...
, taking two terms to make a compound statement (''P'' ∧ ''Q'', ''P'' ∨ ''Q'', ''P'' → ''Q'', ''P'' ↔ ''Q''). The set of logical operators may be partitioned into disjoint subsets as follows: ::: \Omega = \Omega_0 \cup \Omega_1 \cup \ldots \cup \Omega_j \cup \ldots \cup \Omega_m \,. In this partition, \Omega_j is the set of operator symbols of ''
arity Arity () is the number of arguments or operands taken by a function, operation or relation in logic, mathematics, and computer science. In mathematics, arity may also be named ''rank'', but this word can have many other meanings in mathematics. ...
'' . In the more familiar propositional calculi, \Omega is typically partitioned as follows: :::nullary operators: \Omega_0 = \ :::unary operators: \Omega_1 = \ :::binary operators: \Omega_2 \supset \


Principle of compositionality

Instead of using
truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
s, logical connective symbols can be interpreted by means of an interpretation function and a functionally complete set of truth-functions (Gamut 1991), as detailed by the principle of compositionality of meaning. Let ''I'' be an interpretation function, let ''Φ'', ''Ψ'' be any two sentences and let the truth function ''f''nand be defined as: * ''f''nand(T,T) = F; ''f''nand(T,F) = ''f''nand(F,T) = ''f''nand(F,F) = T Then, for convenience, ''f''not, ''f''or ''f''and and so on are defined by means of ''f''nand: * ''f''not(''x'') = ''f''nand(''x'',''x'') * ''f''or(''x'',''y'') = ''f''nand(''f''not(''x''), ''f''not(''y'')) * ''f''and(''x'',''y'') = ''f''not(''f''nand(''x'',''y'')) or, alternatively ''f''not, ''f''or ''f''and and so on are defined directly: * ''f''not(T) = F; ''f''not(F) = T; * ''f''or(T,T) = ''f''or(T,F) = ''f''or(F,T) = T; ''f''or(F,F) = F * ''f''and(T,T) = T; ''f''and(T,F) = ''f''and(F,T) = ''f''and(F,F) = F Then etc. Thus if ''S'' is a sentence that is a string of symbols consisting of logical symbols ''v''1...''v''''n'' representing logical connectives, and non-logical symbols ''c''1...''c''''n'', then if and only if have been provided interpreting ''v''1 to ''v''''n'' by means of ''f''nand (or any other set of functional complete truth-functions) then the truth-value of is determined entirely by the truth-values of ''c''1...''c''''n'', i.e. of . In other words, as expected and required, ''S'' is true or false only under an interpretation of all its non-logical symbols.


Computer science

Logical operators are implemented as
logic gate A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic ga ...
s in
digital circuit In theoretical computer science, a circuit is a model of computation in which input values proceed through a sequence of gates, each of which computes a function. Circuits of this kind provide a generalization of Boolean circuits and a mathemati ...
s. Practically all digital circuits (the major exception is
DRAM Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxid ...
) are built up from NAND, NOR, NOT, and transmission gates. NAND and NOR gates with 3 or more inputs rather than the usual 2 inputs are fairly common, although they are logically equivalent to a cascade of 2-input gates. All other operators are implemented by breaking them down into a logically equivalent combination of 2 or more of the above logic gates. The "logical equivalence" of "NAND alone", "NOR alone", and "NOT and AND" is similar to Turing equivalence. The fact that all truth functions can be expressed with NOR alone is demonstrated by the
Apollo guidance computer The Apollo Guidance Computer (AGC) was a digital computer produced for the Apollo program that was installed on board each Apollo command module (CM) and Apollo Lunar Module (LM). The AGC provided computation and electronic interfaces for guidanc ...
.


See also

*
Bertrand Russell Bertrand Arthur William Russell, 3rd Earl Russell, (18 May 1872 – 2 February 1970) was a British mathematician, philosopher, logician, and public intellectual. He had a considerable influence on mathematics, logic, set theory, linguistics, a ...
and
Alfred North Whitehead Alfred North Whitehead (15 February 1861 – 30 December 1947) was an English mathematician and philosopher. He is best known as the defining figure of the philosophical school known as process philosophy, which today has found applica ...
,
''
Principia Mathematica The ''Principia Mathematica'' (often abbreviated ''PM'') is a three-volume work on the foundations of mathematics written by mathematician–philosophers Alfred North Whitehead and Bertrand Russell and published in 1910, 1912, and 1913. ...
'', 2nd edition *
Ludwig Wittgenstein Ludwig Josef Johann Wittgenstein ( ; ; 26 April 1889 – 29 April 1951) was an Austrian- British philosopher who worked primarily in logic, the philosophy of mathematics, the philosophy of mind, and the philosophy of language. He is consi ...
,
''
Tractatus Logico-Philosophicus The ''Tractatus Logico-Philosophicus'' (widely abbreviated and cited as TLP) is a book-length philosophical work by the Austrian philosopher Ludwig Wittgenstein which deals with the relationship between language and reality and aims to define th ...
'', Proposition 5.101 *
Bitwise operation In computer programming, a bitwise operation operates on a bit string, a bit array or a binary numeral (considered as a bit string) at the level of its individual bits. It is a fast and simple action, basic to the higher-level arithmetic oper ...
*
Binary function In mathematics, a binary function (also called bivariate function, or function of two variables) is a function that takes two inputs. Precisely stated, a function f is binary if there exists sets X, Y, Z such that :\,f \colon X \times Y \righta ...
*
Boolean domain In mathematics and abstract algebra, a Boolean domain is a set consisting of exactly two elements whose interpretations include ''false'' and ''true''. In logic, mathematics and theoretical computer science, a Boolean domain is usually written as ...
*
Boolean function In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually , or ). Alternative names are switching function, used especially in older computer science literature, and truth function ...
*
Boolean logic In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values ''true'' and ''false'', usually denoted 1 and 0, whereas ...
*
Boolean-valued function A Boolean-valued function (sometimes called a predicate or a proposition) is a function of the type f : X → B, where X is an arbitrary set and where B is a Boolean domain, i.e. a generic two-element set, (for example B = ), whose elements are i ...
*
List of Boolean algebra topics This is a list of topics around Boolean algebra and propositional logic. Articles with a wide scope and introductions * Algebra of sets * Boolean algebra (structure) * Boolean algebra * Field of sets * Logical connective * Prop ...
*
Logical connective In logic, a logical connective (also called a logical operator, sentential connective, or sentential operator) is a logical constant. They can be used to connect logical formulas. For instance in the syntax of propositional logic, the binary ...
*
Logical constant In logic, a logical constant of a language \mathcal is a symbol that has the same semantic value under every interpretation of \mathcal. Two important types of logical constants are logical connectives and quantifiers. The equality predicate (us ...
*
Modal operator A modal connective (or modal operator) is a logical connective for modal logic. It is an operator which forms propositions from propositions. In general, a modal operator has the "formal" property of being non- truth-functional in the following se ...
*
Propositional calculus Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
*
Propositional function 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 be ...
* Truth-functional propositional logic *
Truth table A truth table is a mathematical table used in logic—specifically in connection with Boolean algebra, boolean functions, and propositional calculus—which sets out the functional values of logical expressions on each of their functional arg ...
*
Truth value In logic and mathematics, a truth value, sometimes called a logical value, is a value indicating the relation of a proposition to truth, which in classical logic has only two possible values ('' true'' or '' false''). Computing In some pro ...
s


Notes


References

*


Further reading

*
Józef Maria Bocheński Józef Maria Bocheński or Innocentius Bochenski ( Czuszów, Congress Poland, Russian Empire, 30 August 1902 – 8 February 1995, Fribourg, Switzerland) was a Polish Dominican, logician and philosopher. Biography Born on 30 August 1902 in Cz ...
(1959), ''A Précis of Mathematical Logic'', translated from the French and German versions by Otto Bird, Dordrecht, South Holland: D. Reidel. *
Alonzo Church Alonzo Church (June 14, 1903 – August 11, 1995) was an American mathematician, computer scientist, logician, philosopher, professor and editor who made major contributions to mathematical logic and the foundations of theoretical computer scien ...
(1944), ''Introduction to Mathematical Logic'', Princeton, NJ: Princeton University Press. See the Introduction for a history of the truth function concept. {{Logical truth Mathematical logic
Function Function or functionality may refer to: Computing * Function key, a type of key on computer keyboards * Function model, a structured representation of processes in a system * Function object or functor or functionoid, a concept of object-oriente ...