# Truth table

**Truth tables**are a type of mathematical table used in logic to determine whether an expression is true or whether an argument is valid.

Truth tables derive from the work of Gottlob Frege, Charles Peirce and others from about the 1880s. They came to their present form in 1922, through the work of Emil Post and Ludwig Wittgenstein. Wittgenstein’s Tractatus Logico-Philosophicus uses them to place truth functions in a series. The wide influence of this work led to the spread of the use of truth tables.

Truth tables show the values, relationships, and the results of performing logical operations on logical expressions. The logical operators are not, and, or, conditional, and biconditional. See logical necessity, logical contingency, logical impossibility.

The column headings on a truth table show the input variables and output expressions. The rows show each possible combination of inputs, one combination per row, and the outputs that result from each combination of inputs.

Truth tables are usually limited to boolean logic systems where only two truth values are possible, *true* or *false*, usually denoted simply **T** and **F** in the tables.

For example, take two terms, A and B, and the logical operator "and" (^), signifying the conjunction "A and B". In common English, if A is true and B is true, then the conjunction "A and B" is true; under all other possible assignments of truth values to A and B, the conjunction is false. This relationship is defined as follows:

A | B | A ^ B |
---|---|---|

F | F | F |

F | T | F |

T | F | F |

T | T | T |

In a boolean logic system, all the operators can be explicitly defined this way. For example, the not (~) relationship is defined as follows:

A | ~A |
---|---|

F | T |

T | F |

The or (v) relationship is defined as follows:

A | B | A v B |
---|---|---|

F | F | F |

F | T | T |

T | F | T |

T | T | T |

Compound expressions can be constructed, using parenthesis to denote precedence. The negation of conjunction [ ~( A ^ B ) ], is depicted as follows:

A | B | A ^ B | ~( A ^ B ) |
---|---|---|---|

F | F | F | T |

F | T | F | T |

T | F | F | T |

T | T | T | F |

Truth tables can be used to prove logical equivalence. The truth table for the disjunction of not-A and not-B is:

A | B | ~A | ~B | A ^ B | ~( ~A v ~B ) |
---|---|---|---|---|---|

F | F | T | T | F | F |

F | T | T | F | F | F |

T | F | F | T | F | F |

T | T | F | F | T | T |

Because the enumeration of all possible truth-values for A and B yields the same truth-value under both ( A ^ B ) and ~(~A v ~B), the two are logically equivalent, and may be substituted for each other. This equivalence is one of DeMorgan's Lawss.

Here is a truth table giving definitions of the most commonly used 5 of the 16 possible truth functions of 2 binary variables (P,Q are thus boolean variables):

P | Q | P ^ Q | P v Q | P ⊕ Q | P → Q | P ↔ Q |
---|---|---|---|---|---|---|

F | F | F | F | F | T | T |

F | T | F | T | T | T | F |

T | F | F | T | T | F | F |

T | T | T | T | F | T | T |

Key:

- T = true, F = false
- ^ = and
- v = inclusive or
- ⊕ = exclusive or
- → = conditional or "if-then
- ↔ = biconditional or "if-and-only-if