This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Truth value" – news · newspapers · books · scholar · JSTOR (February 2012) (Learn how and when to remove this message)
This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (August 2021)
(Learn how and when to remove this message)

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*).^{[1]}^{[2]}

In some programming languages, any expression can be evaluated in a context that expects a Boolean data type. Typically (though this varies by programming language) expressions like the number zero, the empty string, empty lists, and null are treated as false, and strings with content (like "abc"), other numbers, and objects evaluate to true. Sometimes these classes of expressions are called "falsy" and "truthy". For example, in Lisp, nil, the empty list, is treated as false, and all other values are treated as true. In C, the number 0 or 0.0 is false, and all other values are treated as true.

⊤ | ·∧·
| ||

true | conjunction | ||

¬ | ↕ | ↕ | |

⊥ | ·∨·
| ||

false | disjunction | ||

Negation interchanges true with false and conjunction with disjunction. |

In classical logic, with its intended semantics, the truth values are *true* (denoted by *1* or the verum ⊤), and *untrue* or *false* (denoted by *0* or the falsum ⊥); that is, classical logic is a two-valued logic. This set of two values is also called the Boolean domain. Corresponding semantics of logical connectives are truth functions, whose values are expressed in the form of truth tables. Logical biconditional becomes the equality binary relation, and negation becomes a bijection which permutes true and false. Conjunction and disjunction are dual with respect to negation, which is expressed by De Morgan's laws:

- ¬(p ∧ q) ⇔ ¬p ∨ ¬q
- ¬(p ∨ q) ⇔ ¬p ∧ ¬q

Propositional variables become variables in the Boolean domain. Assigning values for propositional variables is referred to as valuation.

Whereas in classical logic truth values form a Boolean algebra, in intuitionistic logic, and more generally, constructive mathematics, the truth values form a Heyting algebra. Such truth values may express various aspects of validity, including locality, temporality, or computational content.

For example, one may use the open sets
of a topological space as intuitionistic truth values, in which case the truth value of a formula expresses *where* the formula holds, not whether it holds.

In realizability truth values are sets of programs, which can be understood as computational evidence of validity of a formula. For example, the truth value of the statement "for every number there is a prime larger than it" is the set of all programs that take as input a number , and output a prime larger than .

In category theory, truth values appear as the elements of the subobject classifier. In particular, in a topos every formula of higher-order logic may be assigned a truth value in the subobject classifier.

Even though a Heyting algebra may have many elements, this should not be understood as there being truth values that are neither true nor false, because intuitionistic logic proves ("it is not the case that is neither true nor false").^{[3]}

In intuitionistic type theory, the Curry-Howard correspondence exhibits an equivalence of propositions and types, according to which validity is equivalent to inhabitation of a type.

For other notions of intuitionistic truth values, see the Brouwer–Heyting–Kolmogorov interpretation and Intuitionistic logic § Semantics.

Multi-valued logics (such as fuzzy logic and relevance logic) allow for more than two truth values, possibly containing some internal structure. For example, on the unit interval [0,1] such structure is a total order; this may be expressed as the existence of various degrees of truth.

Not all logical systems are truth-valuational in the sense that logical connectives may be interpreted as truth functions. For example, intuitionistic logic lacks a complete set of truth values because its semantics, the Brouwer–Heyting–Kolmogorov interpretation, is specified in terms of provability conditions, and not directly in terms of the necessary truth of formulae.

But even non-truth-valuational logics can associate values with logical formulae, as is done in algebraic semantics. The algebraic semantics of intuitionistic logic is given in terms of Heyting algebras, compared to Boolean algebra semantics of classical propositional calculus.

- Agnosticism
- Bayesian probability
- Circular reasoning
- Degree of truth
- False dilemma
- History of logic § Algebraic period
- Paradox
- Semantic theory of truth
- Slingshot argument
- Supervaluationism
- Truth-value semantics
- Verisimilitude

**^**Shramko, Yaroslav; Wansing, Heinrich. "Truth Values". In Zalta, Edward N. (ed.).*Stanford Encyclopedia of Philosophy*.**^**"Truth value".*Lexico UK English Dictionary*. Oxford University Press. n.d.**^**Proof that intuitionistic logic has no third truth value, Glivenko 1928

- Shramko, Yaroslav; Wansing, Heinrich. "Truth Values". In Zalta, Edward N. (ed.).
*Stanford Encyclopedia of Philosophy*.

General | |||||||||
---|---|---|---|---|---|---|---|---|---|

Theorems (list) and paradoxes | |||||||||

Logics |
| ||||||||

Set theory |
| ||||||||

Formal systems (list), language and syntax |
| ||||||||

Proof theory | |||||||||

Model theory | |||||||||

Computability theory | |||||||||

Related | |||||||||

Functional: | ||
---|---|---|

Formal: | ||

Negation |