In some programming languages, any expression can be evaluated in a context that expects a Boolean data type. Typically expressions like the number zero, the empty string, empty lists, and null evaluate to false, and strings with content, other numbers, and objects evaluate to true. Sometimes these classes of expressions are called "truthy" and "falsy" / "falsey".
In intuitionistic logic, and more generally, constructive mathematics, statements are assigned a truth value only if they can be given a constructive proof. It starts with a set of axioms, and a statement is true if one can build a proof of the statement from those axioms. A statement is false if one can deduce a contradiction from it. This leaves open the possibility of statements that have not yet been assigned a truth value. Unproven statements in intuitionistic logic are not given an intermediate truth value. Indeed, one can prove that they have no third truth value, a result dating back to Glivenko in 1928. Instead, statements simply remain of unknown truth value, until they are either proven or disproven. There are various ways of interpreting intuitionistic logic, including the Brouwer–Heyting–Kolmogorov interpretation. See also.
Multi-valued logic
s allow for more than two truth values, possibly containing some internal structure. For example, on the unit interval 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.
In other theories
uses types in the place of truth values. Topos theory uses truth values in a special sense: the truth values of a topos are the global elements of the subobject classifier. Having truth values in this sense does not make a logic truth valuational.