Boolean domain
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 datatype 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
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
References
- ^ Dirk van Dalen, Logic and Structure. Springer (2004), page 15.
- ^ David Makinson, Sets, Logic and Maths for Computing. Springer (2008), page 13.
- ^ George S. Boolos and Richard C. Jeffrey, Computability and Logic. Cambridge University Press (1980), page 99.
- ^ Elliott Mendelson, Introduction to Mathematical Logic (4th. ed.). Chapman & Hall/CRC (1997), page 11.
- ^ Eric C. R. Hehner, A Practical Theory of Programming. Springer (1993, 2010), page 3.
- ^ Parberry, Ian (1994). Circuit Complexity and Neural Networks. MIT Press. pp. 65. ISBN 978-0-262-16148-0.
- ^ Cortadella, Jordi; et al. (2002). Logic Synthesis for Asynchronous Controllers and Interfaces. Springer Science & Business Media. p. 73. ISBN 978-3-540-43152-7.
Further reading
- Steinbach, Bernd [in German], ed. (2014-04-01) [2013-09-25]. Recent Progress in the Boolean Domain (1 ed.). Newcastle upon Tyne, UK: Cambridge Scholars Publishing. ISBN 978-1-4438-5638-6. Retrieved 2019-08-04. [1] (455 pages)
- Steinbach, Bernd [in German], ed. (2016-05-01). Problems and New Solutions in the Boolean Domain (1 ed.). Newcastle upon Tyne, UK: Cambridge Scholars Publishing. ISBN 978-1-4438-8947-6. Retrieved 2019-08-04. (480 pages)
- Steinbach, Bernd [in German], ed. (2018-01-01). Further Improvements in the Boolean Domain (1 ed.). Newcastle upon Tyne, UK: Cambridge Scholars Publishing. ISBN 978-1-5275-0371-7. Retrieved 2019-08-04. [2] (536 pages)