title: Logique ternaire
text: # Logique ternaire
  
  La logique ternaire, ou logique 3 états, est une branche du calcul des propositions qui étend l'algèbre de Boole, en considérant, en plus des états VRAI et FAUX, l'état INCONNU.
  
  ## Tables de vérité
  
  Dans la logique ternaire de Stephen Cole Kleene, les tables de vérité des fonctions de base sont les suivantes :
  
  | A | B | A OU B | A ET B | NON A | A implique B |
  | - | - | - | - | - | - |
  | Vrai | Vrai | Vrai | Vrai | Faux | Vrai |
  | Vrai | Inconnu | Vrai | Inconnu | Faux | Inconnu |
  | Vrai | Faux | Vrai | Faux | Faux | Faux |
  | Inconnu | Vrai | Vrai | Inconnu | Inconnu | Vrai |
  | Inconnu | Inconnu | Inconnu | Inconnu | Inconnu | Inconnu |
  | Inconnu | Faux | Inconnu | Faux | Inconnu | Inconnu |
  | Faux | Vrai | Vrai | Faux | Vrai | Vrai |
  | Faux | Inconnu | Inconnu | Faux | Vrai | Vrai |
  | Faux | Faux | Faux | Faux | Vrai | Vrai |
  
  D'une certaine manière, ces propriétés correspondent à l'intuition : par exemple, si on ignore si A est vrai ou faux, son inverse est tout aussi incertain.
  
  Les autres fonctions logiques se déduisent de par leur définition, la distributivité continuant à s'appliquer. Par exemple A NAND B, si A est Faux et B Inconnu, vaut NON(A ET B), soit NON(Faux), donc Vrai.
  
  ## En électronique
  
  En électronique numérique, une sortie vaut 0 quand elle est connectée à la masse, 1 quand elle est connectée à la source de tension.
  
  En cas de panne d'un composant ou d'une liaison, un ou plusieurs composants peut délivrer un résultat qui ne répond pas à l’algèbre booléenne. L’objectif d'un système fiable est de réussir a identifier ce problème et faire qu'il n'ait pas de conséquence sur le résultat final en introduisant, entre autres des redondances. Ceci est particulièrement vrai en aéronautique avec les commandes de vol électriques et d'autant plus dans les avions militaires.
  
  ## En informatique
  
  En SQL, les variables de type booléen peuvent prendre, en plus des valeurs vrai et faux, la valeur NULL. Une variable booléenne non initialisée, ou une opération avec une variable numérique elle-même non initialisée (dont la valeur est aussi appelée NULL) renvoient le booléen NULL. L'évaluation des prédicats admet donc trois valeurs possibles : true, false et unknown.
  
  Exemples d'évaluation d'une formule en informatique (équation ou inéquation mathématique) :
  
  | Équation | Typage de données | Résultat | Typage de résultat |
  | - | - | - | - |
  | 4 < NULL | NULL est ici le NULL des nombres | renvoie la valeur NULL | NULL est ici le NULL des booléens |
  
  Quand on manipule un NULL booléen dans les opérations logiques, la logique ternaire s'applique. L'alternative « IF A THEN [instructions] » conduit à ne pas exécuter les instructions si A est NULL.
  
  