En mathématiques et en algèbre abstraite, un domaine booléen est un ensemble composé d'exactement deux éléments qui comprennent les informations vrai et faux. En logique, les mathématiques et l'informatique théorique, un domaine booléen est généralement écrit par {0, 1}[1],[2],[3], {faux, vrai}, {F, V}[4], {⊥, ⊤}[5] ou [6],[7].

La structure algébrique qui se forme naturellement sur un domaine booléen, est l'algèbre de Boole à deux éléments. L'objet initial dans la catégorie des treillis est un domaine booléen.

En informatique, une variable booléenne est une variable qui prend des valeurs dans certains domaines Booléens. Certains langages de programmation comportent des expressions ou des symboles pour les éléments du domaine booléen, par exemple false et true. Cependant, de nombreux langages de programmation ne possèdent pas de type de données booléennes au sens strict. En C ou en BASIC, par exemple, le faux est représenté par le chiffre 0 et le vrai est représentée par le numéro 1 ou −1. Les variables qui peuvent prendre ces valeurs peuvent également prendre d'autres valeurs numériques.

GénéralisationsModifier

Le domaine booléen {0, 1} peut être remplacé par l'intervalle unitaire [0, 1], dans ce cas, plutôt que de prendre seulement les valeurs 0 ou 1, une valeur quelconque entre et y compris 0 et 1 peut être supposée. Algébriquement, la négation (NOT) est remplacée par 1 − x, la conjonction (ET) est remplacé par la multiplication (xy), et de disjonction (OR) est définie par la loi de De Morgan pour être 1 − (1 − x)(1 − y).

L'interprétation de ces valeurs en tant que valeurs de vérité donne une logique polyvalente, qui constitue la base de la logique floue et de la logique probabiliste. Dans ces interprétations, une valeur est interprétée comme le « degré » de vérité — qui a pour but de mesurer si une proposition est vraie, ou si la probabilité que la proposition est vraie.

Voir aussiModifier

NotesModifier

  • Dirk van Dalen (en), Logic and Structure.
  • David Makinson, Sets, Logic and Maths for Computing.
  • George S. Boolos and Richard C. Jeffrey, Computability and Logic.
  • Elliott Mendelson (en), Introduction to Mathematical Logic (4th. ed.
  • Eric C. R. Hehner, A Practical Theory of Programming.
  • (en) Ian Parberry, Circuit Complexity and Neural Networks, MIT Press, , 65 p. (ISBN 978-0-262-16148-0)
  • (en) Jordi Cortadella et al., Logic Synthesis for Asynchronous Controllers and Interfaces, Springer Science & Business Media, (ISBN 978-3-540-43152-7), p. 73