Tautology (logic)
4495335
225438097
2008-07-13T18:19:14Z
Kuszi
29152
/* References */ + reflist
{{otheruses4|a technical notion in formal logic|use of redundant language|tautology (rhetoric)}}
In [[propositional logic]], a '''tautology''' (from the [[Greek language|Greek]] word ταυτολογία) is a [[propositional formula]] that is true under any possible [[Valuation (logic)|valuation]] (also called a truth assignment or an [[interpretation (logic)|interpretation]]) of its propositional variables. For example, the propositional formula <math>(A) \lor (\lnot A)</math> ("''A'' or not-''A''") is a tautology, because the statement is true for any valuation of A. Examples can be more complex such as <math>(A \land B) \lor (\lnot A) \lor (\lnot B)</math> ("''A'' and ''B''; or not-''A''; or not-''B''"). The [[philosopher]] [[Ludwig Wittgenstein]] first applied the term to propositional logic in 1921.
A tautology's negation is a '''[[contradiction]]''', a propositional formula that is false regardless of the truth values of its propositional variables. Such propositions are called '''unsatisfiable'''. Conversely, a contradiction's negation is a tautology. A formula that is neither a tautology nor a contradiction is said to be '''logically [[contingent]]'''. Such a formula can be made either true or false based on the values assigned to its propositional variables.
A key property of tautologies is that an [[effective method]] exists for testing whether a given formula is always satisfied (or, equivalently, whether its complement is unsatisfiable). One such method uses [[truth table]]s. The [[decision problem]] of determining whether a formula is satisfiable is the [[Boolean satisfiability problem]], an important example of an [[NP-complete]] problem in [[computational complexity theory]].
The notation <math>\vDash S</math> is used to indicate that ''S'' is a tautology. The symbol <math>\top</math> is sometimes used to denote an arbitrary tautology, with the dual symbol <math>\bot</math> ([[falsum]]) representing an arbitrary contradiction.
== History ==
The word ''tautology'' was used by the ancient Greeks to describe a statement that was true merely by virtue of saying the same thing twice, a pejorative meaning that is still used for [[tautology (rhetoric)|rhetorical tautologies]]. Between 1800 and 1940, the word gained new meaning in logic, and is currently used in mathematical logic to denote a certain type of proposition formula, without the pejorative connotations it originally enjoyed.<!-- remainder of this section sourced to Dreben and Floyd; will add more sources later. -->
In 1800, [[Immanuel Kant]] wrote in his book ''Logic'':
:"The identity of concepts in analytical judgments can be either ''explicit'' (''explicita'') or ''non-explicit'' (''implicita''). In the former case analytic propositions are ''tautological.''
Here ''analytic proposition'' refers to an [[analytic truth]], a statement in natural language that is true solely because of the terms involved.
In 1884, [[Gottlob Frege]] proposed in his ''Grundlagen'' that a truth is analytic exactly if it can be derived using logic. But he maintained a distinction between analytic truths (those true based only on the meanings of their terms) and tautologies (statements devoid of content).
In 1921, in his ''[[Tractatus Logico-Philosophicus]]'', [[Ludwig Wittgenstein]] proposed that statements that can be deduced by logical deduction are tautological (empty of meaning) as well as being analytic truths. [[Henri Poincaré]] had made similar remarks in ''Science and Hypothesis'' in 1905. Although [[Bertrand Russell]] at first argued against these remarks by Wittgenstein and Poincaré, claiming that mathematical truths were not only non-tautologous but were [[synthetic truth|synthetic]], he later spoke in favor of them in 1918:
:"Everything that is a proposition of logic has got to be in some sense or the other like a tautology. It has got to be something that has some peculiar quality, which I do not know how to define, that belongs to logical propositions but not to others."
Here ''logical proposition'' refers to a proposition that is provable using the laws of logic.
During the 1930s, the formalization of the semantics of propositional logic in terms of truth assignments was developed. The term ''tautology'' began to be applied to those propositional formulas that are true regardless of the truth or falsity of their propositional variables. Some early books on logic (such as ''Symbolic Logic'' by Lewis and Langford, 1932) used the term for any proposition (in any formal logic) that is universally valid. It is common in presentations after this (such as Kleene 1967 and Enderton 2002) to use ''tautology'' to refer to a logically valid propositional formula, but to maintain a distinction between ''tautology'' and ''logically valid'' in the context of first-order logic (see [[Tautology_%28logic%29#Tautologies_versus_validities_in_first-order_logic|below]]).
== Background ==
{{main|propositional logic}}
Propositional logic begins with '''propositional variables''', atomic units that represent concrete propositions. A '''formula''' consists of propositional variables connected by logical connectives in a meaningful way, so that the truth of the overall formula can be uniquely deduced from the truth or falsity of each variable. A '''valuation''' is a function that assigns each propositional variable either T (for truth) or F (for falsity). So, for example, using the propositional variables ''A'' and ''B'', the binary connectives <math>\lor</math> and <math>\land</math> representing [[disjunction]] and [[conjunction]], respectively, and the unary connective <math>\lnot</math> representing [[negation]], the following formula can be obtained:
:<math>(A \land B) \lor (\lnot A) \lor (\lnot B)</math>.
A valuation here must assign to each of ''A'' and ''B'' either T or F. But no matter how this assignment is made, the overall formula will come out true. For if the first disjunct <math>(A \land B)</math> is not satisfied by a particular valuation, then one of ''A'' and ''B'' is assigned F, which will cause the corresponding later disjunct to be T.
== Definition and examples==
A formula of propositional logic is a '''tautology''' if the formula itself is always true regardless of which valuation is used for the propositional variables.
There are infinitely many tautologies. Examples include:
*<math>P \lor \lnot P</math> ("''P'' or not-''P''"), the [[law of the excluded middle]]. This formula has only one propositional variable, ''P''. Any valuation for this formula must, by definition, assign <math>P</math> one of the truth values ''true'' or ''false'', and assign <math>\lnot P</math> the other truth value.
*<math>(A \to B) \Leftrightarrow (\lnot B \to \lnot A)</math> ("if ''A'' implies ''B'' then not-''B'' implies not-''A''", and visa versa), which expresses the law of [[contraposition]].
== Verifying tautologies ==
The problem of determining whether a formula is a tautology is fundamental in propositional logic. The definition suggests one method: proceed by cases and verify that every possible valuation does satisfy the formula. An algorithmic method of verifying that every valuation causes this sentence to be true is to make a [[truth table]] that includes every possible valuation.
For example, consider the formula
:<math> ((A \land B) \to C) \Leftrightarrow (A \to (B \to C)).</math>
There are 8 possible valuations for the propositional variables ''A'', ''B'', ''C'', represented by the first three columns of the following table. The remaining columns show the truth of subformulas of the formula above, culminating in a column showing the truth value of the original formula under each valuation.
{| class="wikitable" style="text-align: center;"
|-
|A
|B
|C
|<math>A \land B</math>
|<math>(A \land B) \to C</math>
|<math>B \to C</math>
|<math>A \to (B \to C)</math>
|<math>((A \land B) \to C) \Leftrightarrow (A \to (B \to C))</math>
|-
|T
|T
|T
|T
|T
|T
|T
|T
|-
|T
|T
|F
|T
|F
|F
|F
|T
|-
|T
|F
|T
|F
|T
|T
|T
|T
|-
|T
|F
|F
|F
|T
|T
|T
|T
|-
|F
|T
|T
|F
|T
|T
|T
|T
|-
|F
|T
|F
|F
|T
|F
|T
|T
|-
|F
|F
|T
|F
|T
|T
|T
|T
|-
|F
|F
|F
|F
|T
|T
|T
|T
|}
Because each row of the final column shows ''T'', the sentence in question is verified to be a tautology.
It is also possible to define a [[deductive system]] (proof system) for propositional logic, as a simpler variant of the deductive systems employed for [[first-order logic]] (see Kleene 1957, Sec 1.9 for one such system). A proof of a tautology in an appropriate deduction system may be much shorter than a complete truth table (a formula with ''n'' propositional variables requires a truth table with 2<sup>''n''</sup>lines, which quickly becomes infeasible as ''n'' increases). Proof systems are also required for the study of intuitionistic propositional logic, in which the method of truth tables cannot be employed because the law of the excluded middle is not assumed.
== Tautological implication ==
A formula ''R'' is said to '''tautologically imply''' a formula ''S'' if every valuation that causes ''R'' to be true also causes ''S'' to be true. This situation is denoted <math>R \vDash S</math>. It is equivalent to the formula <math>R \to S</math> being a tautology (Kleene 1967 p. 27).
For example, let ''S'' be <math>A \land (B \lor \lnot B)</math>. Then ''S'' is not a tautology, because any valuation that makes ''A'' false will make ''S'' false. But any valuation that makes ''A'' true will make ''S'' true, because <math>B \lor \lnot B</math> is a tautology. Let ''R'' be the formula <math>A \land C</math>. Then <math>R \models S</math>, because any valuation satisfying ''R'' makes ''A'' true and thus makes ''S'' true
It follows from the definition that if a formula ''R'' is a contradiction then ''R'' tautologically implies every formula, because there is no truth valuation that causes ''R'' to be true and so the definition of tautological implication is trivially satisfied. Similarly, if ''S'' is a tautology then ''S'' is tautologically implied by every formula.
== Substitution ==
There is a general procedure, the '''substitution rule''', that allows additional tautologies to be constructed from a given tautology (Kleene 1967 sec. 3). Suppose that ''S'' is a tautology and for each propositional variable ''A'' in ''S'' a fixed sentence ''S''<sub>''A''</sub> is chosen. Then the sentence obtained by replacing each variable ''A'' in ''S'' with the corresponding sentence ''S''<sub>''A''</sub> is also a tautology.
For example, let ''S'' be <math>(A \land B) \lor (\lnot A) \lor (\lnot B)</math>, a tautology. Let ''S''<sub>''A''</sub> be <math>C \lor D</math> and let ''S''<sub>''B''</sub> be <math>C \to E</math>. It follows from the substitution rule that the sentence
:<math>((C \lor D) \land (C \to E)) \lor (\lnot (C \lor D) )\lor (\lnot (C \to E))</math>
is a tautology.
==Efficient verification and the Boolean satisfiability problem==
The problem of constructing practical algorithms to determine whether sentences with large numbers of propositional variables are tautologies is an area of contemporary research in the area of [[automated theorem proving]].
The method of [[truth tables]] illustrated above is provably correct – the truth table for a tautology will end in a column with only ''T'', while the truth table for a sentence that is not a tautology will contain a row whose final column is ''F'', and the valuation corresponding to that row is a valuation that does not satisfy the sentence being tested. This method for verifying tautologies is an [[effective procedure]], which means that given unlimited computational resources it can always be used to mechanistically determine whether a sentence is a tautology. Constructing a [[computer program]], which is able to determine if the given formula is tautology or not, might be seen as exercise<ref>[http://www.spoj.pl/problems/TAUT/ Exemplary exercise at Sphere online judge]</ref>.
As an [[efficient procedure]], however, truth tables are constrained by the fact that the number of valuations that must be checked increases as 2<sup>''k''</sup>, where ''k'' is the number of variables in the formula. This exponential growth in the computation length renders the truth table method useless for formulas with thousands of propositional variables, as contemporary computing hardware cannot execute the algorithm in a feasible time period.
The problem of determining whether there is any valuation that makes a formula true is the '''[[Boolean satisfiability problem]]'''; the problem of checking tautologies is equivalent to this problem, because verifying that a sentence ''S'' is a tautology is equivalent to verifying that there is no valuation satisfying <math>\lnot S</math>. It is known that the Boolean satisfiability problem is [[NP complete]], and widely believed that there is no [[polynomial-time algorithm]] that can perform it. Current research focuses on finding algorithms that perform well on special classes of formulas, or terminate quickly on average even though some inputs may cause them to take much longer.
== Tautologies versus validities in first-order logic ==
The fundamental definition of a tautology is in the context of propositional logic. The definition can be extended, however, to sentences in [[first-order logic]] (see Enderton (2002, p. 114) and Kleene (1967 secs. 17–18)). These sentences may contain quantifiers, unlike sentences of propositional logic. In the context of first-order logic, a distinction is maintained between '''logical validities''', sentences that are true in every model, and '''tautologies''', which are a proper subset of the first-order logical validities. In the context of propositional logic, these two terms coincide.
A tautology in first-order logic is a sentence that can be obtained by taking a tautology of propositional logic and uniformly replacing each propositional variable by a first-order formula (one formula per propositional variable). For example,
because <math>A \lor \lnot A</math> is a tautology of propositional logic, <math> (\forall x ( x = x)) \lor (\lnot \forall x (x = x))</math> is a tautology in first order logic. Similarly, in a first-order language with a unary relation symbols ''R'',''S'',''T'', the following sentence is a tautology:
:<math>(((\exists x Rx) \land \lnot (\exists x Sx)) \to \forall x Tx) \Leftrightarrow ((\exists x Rx) \to ((\lnot \exists x Sx) \to \forall x Tx)).</math>
It is obtained by replacing ''A'' with <math>\exists x Rx</math>, ''B'' with <math>\lnot \exists x Sx</math>, and ''C'' with <math>\forall x Tx</math> in the propositional tautology considered above.
Not all logical validities are tautologies in first-order logic. For example, the sentence
:<math>(\forall x Rx) \to \lnot \exists x \lnot Rx</math>
is true in any first-order interpretation, but it corresponds to the propositional sentence <math>A \to B</math> which is not a tautology of propositional logic.
==Tautology and its application in Logic Synthesis==
In [[Logic Synthesis]] tautology plays an important role especially for [[Logic Optimization]]. Though the problem is [[intractable]], whether or not a function is a tautology can be efficiently answered using the [[Recursive Paradigm]].{{Fact|date=December 2007}} Any binary-valued function F is a tautology if and only if its cofactors with respect to any variable and its complement are both tautologies. Hence it can be easily concluded whether or not a function F is reducible to a tautology by recursive [[Shannon Expansion]] and the application of the above theorem.
== References ==
{{reflist}}
*Enderton, H. B. (2002). ''A Mathematical Introduction to Logic.'' Harcourt/Academic Press. ISBN 0-12-238452-0
*Kleene, S. C. (1967). ''Mathematical Logic''. Reprinted 2002, Dover. ISBN 0-486-42533-9
*Rechenbach, H. (1947). ''Elements of Symbolic Logic''. Reprinted 1980, Dover. ISBN 0-486-24004-5
* Wittgenstein, L. (1921). "Logisch-philosophiche Abhandlung," ''Annalen der Naturphilosophie'' (Leipzig), v. 14, pp. 185–262. Reprinted in English translation as ''Tractatus logico-philosophicus'', New York and London, 1922.
== External links ==
* {{Mathworld|title=Tautology|urlname=Tautology}}
==See also==
===Normal forms===
* [[Algebraic normal form]]
* [[Conjunctive normal form]]
* [[Disjunctive normal form]]
* [[Logic optimization]]
===Related logical topics===
{{col-begin}}
{{col-break}}
* [[Boolean algebra (logic)]]
* [[Boolean domain]]
* [[Boolean function]]
* [[First-order logic]]
{{col-break}}
* [[Logical consequence]]
* [[Logical graph]]
* [[Propositional logic]]
{{col-break}}
* [[Table of logic symbols]]
* [[Truth table]]
* [[Vacuous truth]]
{{col-end}}
{{Logical connectives}}
[[Category:Mathematical logic]]
[[ar:طوطولوجية]]
[[cs:Tautologie]]
[[da:Tautologi]]
[[de:Tautologie (Logik)]]
[[et:Tautoloogia]]
[[fa:(همانگو (منطق]]
[[es:Tautología#La tautología en la lógica]]
[[fr:Tautologie]]
[[is:Sísanna]]
[[it:Tautologia#Tautologie logiche]]
[[he:טאוטולוגיה (לוגיקה)]]
[[hu:Tautológia]]
[[mk:Тавтологија (логика)]]
[[nl:Tautologie (logica)]]
[[ja:恒真式]]
[[no:Tautologi]]
[[pl:Tautologia]]
[[pt:Tautologia (lógica)]]
[[ru:Тавтология (логика)]]
[[sv:Tautologi (logik)]]
[[zh:重言式]]