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 {0, 1},[1][2][3][4][5] or [6][7]

The algebraic structure that naturally builds on a Boolean ___domain is the Boolean algebra with two elements. The initial object in the category of bounded lattices is a Boolean ___domain.

In computer science, a Boolean variable is a variable that takes values in some Boolean ___domain. Some programming languages feature reserved words or symbols for the elements of the Boolean ___domain, for example false and true. However, many programming languages do not have a Boolean data type in the strict sense. In C or BASIC, for example, falsity is represented by the number 0 and truth is represented by the number 1 or −1, and all variables that can take these values can also take any other numerical values.

Generalizations

edit

The Boolean ___domain {0, 1} can be replaced by the unit interval [0,1], in which case rather than only taking values 0 or 1, any value between and including 0 and 1 can be assumed. Algebraically, negation (NOT) is replaced with   conjunction (AND) is replaced with multiplication ( ), and disjunction (OR) is defined via De Morgan's law to be  .

Interpreting these values as logical truth values yields a multi-valued logic, which forms the basis for fuzzy logic and probabilistic logic. In these interpretations, a value is interpreted as the "degree" of truth – to what extent a proposition is true, or the probability that the proposition is true.

See also

edit

References

edit
  1. ^ van Dalen, Dirk (2004). Logic and Structure. Springer. p. 15.
  2. ^ Makinson, David (2008). Sets, Logic and Maths for Computing. Springer. p. 13. Bibcode:2008slmc.book.....M.
  3. ^ Boolos, George S.; Jeffrey, Richard C. (1980). Computability and Logic. Cambridge University Press. p. 99.
  4. ^ Mendelson, Elliott (1997). Introduction to Mathematical Logic (4 ed.). Chapman & Hall/CRC. p. 11.
  5. ^ Hehner, Eric C. R. (2010) [1993]. A Practical Theory of Programming. Springer. p. 3.
  6. ^ Parberry, Ian (1994). Circuit Complexity and Neural Networks. MIT Press. pp. 65. ISBN 978-0-262-16148-0.
  7. ^ Cortadella, Jordi; Kishinevsky, Michael; Kondratyev, Alex; Lavagno, Luciano; Yakovlev, Alex (2002). Logic Synthesis for Asynchronous Controllers and Interfaces. Springer Series in Advanced Microelectronics. Vol. 8. Springer-Verlag Berlin Heidelberg New York. p. 73. ISBN 3-540-43152-7. ISSN 1437-0387.

Further reading

edit