Page dáccueil Page de Titre Mathématiques Pour l’Informatique I : Algèbre de Boole et Logique Sommaire JJ II J I Page 1 de 61 Serge Iovleff Retour Full Screen 14 janvier 2005 Fermer Quitter Page dáccueil Table des matières Page de Titre Sommaire 1 Algèbre de Boole 1.1 Algèbres de Boole . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Développements et Simplifications en Algèbre de Boole 1.1.4 Règles de Calcul dans les Algèbres de Boole . . . . . . . 1.1.5 Principe de Dualité . . . . . . . . . . . . . . . . . . . . . 1.1.6 Règles sur les égalités . . . . . . . . . . . . . . . . . . . 1.2 Les Fonctions Booléennes et leurs Formes Canoniques . . . . . 1.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2 Indexation et Nombre de mintermes et maxtermes . . . 1.2.3 Propriétés des mintermes et maxtermes . . . . . . . . . 1.2.4 Formes canoniques d’une fonction booléenne . . . . . . 1.2.4.1 Formes canoniques conjonctives et disjonctives 1.2.4.2 Détermination des formes canoniques . . . . . 1.2.4.2.1 Détermination Algébrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 7 8 9 11 12 15 15 17 18 20 20 21 21 JJ II J I Page 2 de 61 Retour Full Screen Fermer Quitter 1.3 1.4 1.5 1.2.4.2.2 Code des poids . . . . . . . . . . . 1.2.5 Passage d’une forme canonique à une autre . . . . . 1.2.6 Application aux calculs sur les égalités . . . . . . . . Simplification des fonctions Booléennes . . . . . . . . . . . . 1.3.1 Diagrammes de Karnaugh . . . . . . . . . . . . . . . 1.3.1.1 Diagrammes de Karnaugh pour 4 variables 1.3.1.2 Diagrammes de Karnaugh pour 5 variables 1.3.1.3 Utilisation des diagrammes de Karnaugh . 1.3.2 Méthode de Quine-Mc Cluskey . . . . . . . . . . . . 1.3.2.1 Méthode de Quine . . . . . . . . . . . . . . 1.3.2.2 Méthode de Mc Cluskey . . . . . . . . . . . Les Fonctions booléennes sur variables binaires . . . . . . . 1.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Numérotation des fonctions booléennes . . . . . . . 1.4.3 Fonctions de plusieurs variables binaires . . . . . . . 1.4.3.1 Fonctions de une variable . . . . . . . . . . 1.4.3.2 Fonctions de deux variables . . . . . . . . . 1.4.3.3 Fonctions de trois variables . . . . . . . . . Applications aux Circuits . . . . . . . . . . . . . . . . . . . 1.5.1 Les opérations duales NOR et NAND . . . . . . . . 1.5.1.1 Définitions . . . . . . . . . . . . . . . . . . 1.5.1.2 Propriétés . . . . . . . . . . . . . . . . . . 1.5.2 La disjonction exclusive . . . . . . . . . . . . . . . . 1.5.2.1 Définitions . . . . . . . . . . . . . . . . . . 1.5.2.2 Propriétés de la disjonction exclusive . . . 1.5.2.3 Calcul Galoisien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 23 24 25 25 25 25 26 26 26 31 33 33 35 36 36 37 38 40 40 40 40 43 43 43 45 Page dáccueil Page de Titre Sommaire JJ II J I Page 3 de 61 Retour Full Screen Fermer Quitter 2 Logique 2.1 La Logique Propositionnelle . . . . . . . . . . . . . 2.1.1 Définitions et Notations . . . . . . . . . . . 2.1.2 Connecteurs logiques . . . . . . . . . . . . . 2.1.3 Conséquences logiques . . . . . . . . . . . . 2.1.4 Démonstration de formules . . . . . . . . . 2.1.4.1 Tables de Vérité . . . . . . . . . . 2.1.4.2 Arbres de Beth . . . . . . . . . . . 2.2 La Logique des Prédicats . . . . . . . . . . . . . . 2.2.1 Motivations . . . . . . . . . . . . . . . . . . 2.2.1.1 Vers la logique des prédicats . . . 2.2.1.2 Les variables et les quantificateurs 2.2.2 Le Langage L1 des prédicats . . . . . . . . 2.2.2.1 Règles de grammaire . . . . . . . 2.2.2.2 Variables libres et variables liées . 2.2.2.3 Substitution et instantiation . . . 2.2.3 Sémantique du calcul des prédicats . . . . . 2.2.3.1 Interprétation d’un vocabulaire . . 2.2.3.2 Interprétation des formules . . . . 2.2.3.3 Modèles et conséquences logiques 2.2.4 Manipulations syntaxiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 46 46 48 51 53 53 53 54 54 54 55 56 56 57 57 58 58 59 60 61 Page dáccueil Page de Titre Sommaire JJ II J I Page 4 de 61 Retour Full Screen Fermer Quitter Page dáccueil Chapitre 1 Page de Titre Sommaire Algèbre de Boole 1.1. Algèbres de Boole 1.1.1. Définition JJ II J I Page 5 de 61 Définition 1.1.1 Soit B un ensemble contenant au moins deux éléments que l’on convient de noter 0 et 1, et muni : – D’une opération binaire appelée « somme » et notée + : + : B × B −→ B (a, b) 7→ Retour Full Screen a+b – D’une opération binaire appelée « produit » et notée . : Fermer . : B × B −→ B (a, b) 7→ a.b Quitter – D’une opération unaire appelée « complémentation » et notée ¯ : ¯: B −→ B a 7→ ā Page dáccueil On dit que (B, +, .,¯) a une structure d’algèbre de Boole si les axiomes de structure suivants sont vérifiés : Axiome 1 : Les deux opérations binaires sont commutatives : ∀a, b ∈ B, a + b = b + a a.b = b.a Axiome 2 : Les deux opérations binaires sont associatives : ∀a, b, c ∈ B, (a + b) + c = a + (b + c) Page de Titre Sommaire JJ II J I (a.b).c = a.(b.c) Axiome 3 : 0 est un élément neutre pour + et 1 est un élément neutre pour . : ∀a ∈ B, a + 0 = a a.1 = a Axiome 4 : Chaque opération binaire est distributive par rapport à l’autre : ∀a, b, c ∈ B, a + (b.c) = (a + b).(a + c) Page 6 de 61 Retour a.(b + c) = (a.b) + (a.c) Full Screen Axiome 5 : ∀a ∈ B, a + ā = 1 a.ā = 0 Fermer Quitter Exemple 1.1.2 Soient E un référentiel non vide, et P(E) l’ensemble des parties de E . Si on prend B = P(E) comme ensemble et que l’on définit les opérations A+C = A∪C A.C = A ∩ C Ā = CE A Page dáccueil Page de Titre Sommaire alors (P(E), ∪, ∩,¯) est une algèbre de Boole. Exemple 1.1.3 L’ensmble {0, 1} muni des opérations booléennes + et . est une algèbre de Boole. Exemple 1.1.4 Soit D10 l’ensemble des entiers naturels diviseurs de 10. D10 = {1, 2, 5, 10} Soient x, y ∈ D10 . On pose x + y = ppcm(x, y) x.y = pgcd(x, y) 10 x̄ = x JJ II J I Page 7 de 61 Retour Full Screen Fermer Quitter Page dáccueil 1.1.3. Développements et Simplifications en Algèbre de Boole Page de Titre Sommaire Dans la pratique, on effectue les développements comme en algèbre classique (dans R) et on donne la priorité à l’opérateur « produit » ( « . »). Les règles de suppression de parenthèses sont les mêmes que celles de l’algèbre classique. Par exemple – a + (b.c) s’écrira a + bc (mais on aura toujours a + bc = (a + b)(a + c) – (a.b) + (a.bc) s’écrira ab + abc – (a + b).(c + d) s’écrira ac + ad + bc + bd. JJ II J I Page 8 de 61 Retour Full Screen Fermer Quitter Page dáccueil 1.1.4. Règles de Calcul dans les Algèbres de Boole Page de Titre Théorème 1.1.5 ∀a ∈ B , a est l’unique élément de B vérifiant : a + a = 1 et a.a = 0 Sommaire JJ II J I Théorème 1.1.6 (Idempotence) ∀a ∈ B, a + a = a et a.a = a Page 9 de 61 Théorème 1.1.7 0 = 1 et 1 = 0 Théorème 1.1.8 ∀a ∈ B, a + 1 = 1 et a.0 = 0 Théorème 1.1.9 ∀a ∈ B, a = a Retour Full Screen Fermer Quitter Page dáccueil Page de Titre Théorème 1.1.10 (Absorption) Sommaire ∀a, b ∈ B, a + a.b = a et a.(a + b) = a JJ II J I Théorème 1.1.11 (Redondance) ∀a, x, y ∈ B, a.x + a.y = a.x + a.y + x.y Page 10 de 61 Théorème 1.1.12 (Lois de De Morgan) Retour ∀a, b ∈ B, a + b = a.b et a.b = a + b Full Screen Fermer Quitter Page dáccueil 1.1.5. Principe de Dualité Définition 1.1.13 Dans une algèbre de Boole, tout résultat se présente sous deux formes duales. Etant donné un résultat (P ), son dual (P ∗ ) s’obtient en permutant systématiquement : 1. Les symboles opératoires + et . Page de Titre Sommaire JJ II J I 2. Les éléments neutres 0 et 1 Corollaire 1.1.14 Soit E un référentiel. On a vu que (P(E), ∩, ∪,¯) a une structure d’algèbre de Boole. D’après le principe de dualité (P(E), ∪, ∩,¯) est aussi une algèbre de Boole. Page 11 de 61 Retour Full Screen Fermer Quitter 1.1.6. Règles sur les égalités Règle 1.1.15 ∀a, b, c ∈ B Page dáccueil Page de Titre a=b ⇒ a+c=b+c a = b ⇒ a.c = b.c Sommaire JJ II J I Règle 1.1.16 ∀a, b, c ∈ B a+c = b+c a.c = b.c ⇒a=b Règle 1.1.17 ∀a, b, c, d ∈ B a = b c = d ⇒ Page 12 de 61 Retour a+c = b+d a.c = b.d Full Screen Fermer Quitter Page dáccueil Page de Titre Sommaire Règle 1.1.18 ∀a, b ∈ B, a = b ⇔ a = b Règle 1.1.19 ∀a, b ∈ B a.b = 1 ⇔ a = 1 et b = 1 a + b = 0 ⇔ a = 0 et b = 0 JJ II J I Page 13 de 61 Retour Full Screen Fermer Quitter Page dáccueil Page de Titre Sommaire JJ II J I Page 14 de 61 Retour Full Screen Fermer Quitter 1.2. Les Fonctions Booléennes et leurs Formes Canoniques Page dáccueil 1.2.1. Définitions Définition 1.2.1 Soit (B, +, .,¯) une algèbre de Boole. On appelle fonction booléenne de n variables, toute combinaison de ces variables au moyen des trois opérations booléennes +, . et ¯. Exemple 1 f (a, b, c) = a.b + c.(a.b + b) est une fonction booléenne des 3 variables a, b et c. Page de Titre Sommaire JJ II J I Page 15 de 61 Définition 1.2.2 On appelle « minterme » de n variables, l’un des produits booléens de ces variables ou de leurs complémentaires. Chaque minterme est affecté d’un indice unique que l’on déterminera au paragraphe (1.2.2). Exemple 2 Si on considère 4 variables a, b, c et d, – m = a.b.c.d est un minterme, – m = a.b.c.d est un autre minterme, – m = a.b.d n’est pas un minterme. Retour Full Screen Fermer Quitter Page dáccueil Page de Titre Définition 1.2.3 On appelle « maxterme » de n variables, l’une des sommes booléennes de ces variables ou de leurs complémentaires. Chaque maxterme est affecté d’un indice unique que l’on déterminera au paragraphe (1.2.2). Exemple 3 Si on considère 4 variables a, b, c et d, – M = a + b + c + d est un maxterme, – M = a + b + c + d est un autre maxterme, – M = a + b + d n’est pas un maxterme. Sommaire JJ II J I Page 16 de 61 Retour Full Screen Fermer Quitter 1.2.2. Indexation et Nombre de mintermes et maxtermes Page dáccueil Pour indexer les mintermes (maxtermes) on utilise la règle suivante : – Pour chaque minterme (maxterme) on construit un code binaire en posant 1 si une variable est présente, 0 si son complémentaire est présent. – On convertit ce code binaire en base décimal pour obtenir l’indice du minterme. Exemple 4 Soit le minterme de 4 variables mi = a.b.c.d, alors le code binaire associé à ce minterme est (1001)2 et donc i = 1 × 23 + 0 × 22 + 0 × 21 + 1 × 20 = 9. Remarque 1 Si deux mintermes sont différents, leurs codes binaires sont différents et donc leur indice est différent. Théorème 1.2.4 Soit Nn le nombre de mintermes de n variables. Alors Nn = 2n . Page de Titre Sommaire JJ II J I Page 17 de 61 Retour Full Screen Fermer Quitter 1.2.3. Propriétés des mintermes et maxtermes Théorème 1.2.5 Le complémentaire d’un minterme est un maxterme, le complémentaire d’un maxterme est un minterme et mi = M2n−1−i et M j = m2n−1−j Page dáccueil Page de Titre Sommaire Théorème 1.2.6 La somme booléenne de tous les mintermes vaut 1. n 2X −1 mi = 1 JJ II J I i=0 Page 18 de 61 Théorème 1.2.7 Le produit booléen de tous les maxtermes vaut 0. n 2Y −1 Mj = 0 Retour Full Screen j=0 Théorème 1.2.8 Le produit de deux mintermes différents vaut 0 et la somme de deux maxtermes différents vaut 1. Fermer Quitter Page dáccueil Théorème 1.2.9 Deux sommes de mintermes sont égales si et seulement si les mintermes qui ne sont pas communs aux deux sommes sont égaux à 0. Théorème 1.2.10 Deux produits de maxtermes sont égaux si et seulement si les maxtermes qui ne sont pas communs aux deux produits sont égaux à 1. Théorème 1.2.11 Soit e une expression booléenne écrite sous la forme d’une somme de mintermes (respectivement d’un produit de maxterme) alors son complémentaire e est la somme de tous les mintermes (respectivement le produit de tous les maxtermes) qui ne figurent pas dans l’écriture de e. Page de Titre Sommaire JJ II J I Page 19 de 61 Retour Full Screen Fermer Quitter 1.2.4. Formes canoniques d’une fonction booléenne Soit f une fonction booléenne de n variables. 1.2.4.1. Formes canoniques conjonctives et disjonctives Définition 1.2.12 Ecrire f sous forme canonique disjonctive (ou première forme canonique) revient à l’écrire comme la somme de mintermes des n variables. Page dáccueil Page de Titre Sommaire JJ II J I Page 20 de 61 Définition 1.2.13 Ecrire f sous forme canonique conjonctive (ou deuxième forme canonique) revient à l’écrire comme le produit de maxtermes des n variables. Retour Full Screen Théorème 1.2.14 Tout fonction booléenne de n variables peut être mise de manière unique sous forme canonique disjonctive (respectivement conjonctive). Fermer Quitter 1.2.4.2. Détermination des formes canoniques On se concentrera sur les formes canoniques disjonctives, le cas conjonctif étant semblable. Page dáccueil Page de Titre 1.2.4.2.1. Détermination Algébrique Il s’agit dans un premier temps d’utiliser le calcul booléen pour avoir une forme développée, et ensuite dans chaque monôme, de faire apparaitre les « variables » manquantes. Sommaire JJ II J I Exemple 5 Pour 3 variables a, b et c, on aura Page 21 de 61 ab = ab(c + c) = abc + abc Retour Exemple 6 Pour 4 variables a, b, c, et d, on aura Full Screen ab = ab(c + c) = abc + abc = abc(d + d) + abc(d + d) = abcd + abcd + abcd + abcd Fermer Quitter 1.2.4.2.2. Code des poids On part de la forme développée de la fonction sous forme de monômes, et on écrit les poids de chaque variables. Par exemple, pour quatre variables a, b, c et d, on aura : a b c d 8 4 2 1 Pour chaque monôme, on applique ensuite la règle suivante : 1. Si dans l’expression du monôme une variable apparait, on entoure le poids correspondant. Si son complémentaire apparait, on barre le poids correspondant. 2. On fait la somme des poids entouré pour obtenir l’indice de base 3. On ajoute à l’indice de base toutes les sommes possibles des poids non entouré et non barrés : on obtient ainsi les indices de tous les mintermes formables à partir du monôme. Page dáccueil Page de Titre Sommaire JJ II J I Page 22 de 61 Retour Full Screen Fermer Quitter 1.2.5. Passage d’une forme canonique à une autre Il s’agit connaissant l’une des décompositions canonique de déterminer l’autre. Pour cela il suffit d’utiliser l’identité f = f et le théorème (1.2.11). Page dáccueil Page de Titre Sommaire Exemple 7 Si JJ II f (a, b, c, d) = m0+m2+m4+m5+m6+m7+m11+m12+m13+m14 J I Alors Page 23 de 61 f (a, b, c, d) = m1 + m3 + m8 + m9 + m10 + m15 et donc f (a, b, c, d) = f (a, b, c, d) = M14.M12.M7.M6.M5.M0 Retour Full Screen Fermer Quitter Page dáccueil 1.2.6. Application aux calculs sur les égalités Page de Titre Règle 1 Pour Démontrer une égalité booléenne, il suffit de revenir aux décompositions canoniques disjonctives des deux membres de l’égalité. Règle 2 Toute égalité ou tout système d’égalités booléennes peut s’écrire sous la forme d’une seule égalité dont le premier membre est une décomposition disjonctive et dont le second membre est nul. Règle 3 Pour montrer une implication ou une équivalence booléenne, il suffit de revenir aux décompositions canoniques disjonctives. Sommaire JJ II J I Page 24 de 61 Retour Full Screen Fermer Quitter 1.3. Simplification des fonctions Booléennes 1.3.1. Diagrammes de Karnaugh Page dáccueil Les diagrammes de Karnaugh est une méthode graphique pour simplifier les fonctions booléennes comportant un nombre modéré de variables (max 8). Chaque case du tableau correspond à un des mintermes. Une case du tableau ne diffère de l’une de ces voisines que par une variable (on utilise le code de Gray). 1.3.1.1. Diagrammes de Karnaugh pour 4 variables ab\cd 00 01 11 10 00 01 11 10 Page de Titre Sommaire JJ II J I Page 25 de 61 Retour 1.3.1.2. Diagrammes de Karnaugh pour 5 variables ab\cde 00 01 11 10 000 010 110 100 101 111 011 001 Full Screen Fermer Quitter 1.3.1.3. Utilisation des diagrammes de Karnaugh Si f est une fonction booléenne, on la simplifie en deux étapes : – On représente les mintermes qui compose f dans le diagramme à l’aide d’un signe distinctif – On regroupe les mintermes en blocs, les plus importants possibles. Page dáccueil Page de Titre 1.3.2. 1.3.2.1. Méthode de Quine-Mc Cluskey Méthode de Quine La méthode de Quine consiste, en partant de la décomposition canonique disjonctive de f , à utiliser systématiquement la formule de simplification x.y + x̄.y = y où x est un littéral et y un monôme. Considérons l’exemple suivant : Sommaire JJ II J I f (a, b, c, d) = ab + bc + ac̄ + ācd + āb̄d¯ + āb̄c Page 26 de 61 La décomposition canonique disjonctive de f est : f (a, b, c, d) = abcd + abcd¯ + abc̄d + abc̄d¯ + ab̄c̄d + ab̄c̄d¯ + ābcd + ābcd¯ + āb̄cd + āb̄cd¯ + āb̄c̄d¯ Retour = 1111 + 1110 + 1101 + 1100 + 1001 + 1000 + 0111 + 0110 + 0011 + 0010 + 0000 Full Screen Fermer Quitter Etape 0 : On classe les mintermes de la décomposition canonique selon le nombre de ”1” de leur écriture : classe sans ”1”, classe avec un seul ”1”, etc... On obtient le tableau suivant : classes 0 Etape 0 0000 repère Page dáccueil Page de Titre 1 2 0010 1000 0011 0110 1001 1100 Sommaire JJ II J I Page 27 de 61 3 4 0111 1101 1110 1111 Retour Full Screen Fermer Quitter Etape 1 : On additionne chaque minterme de la classe j avec chaque minterme de la classe j + 1. Lorsqu’il est possible d’utiliser la formule x.y + x̄.y = y et d’éliminer ainsi une variable, on consigne le résultat dans la colonne Etape 1. Le symbole ”x” remplace la variable éliminée. On repère à l’aide du symbole ”1” dans la colonne repère les deux mintermes concernés afin de montrer qu’ils disparaissent de la forme ΣΠ (Somme de produits). On obtient le tableau suivant : Page dáccueil Page de Titre classes 0 1 2 3 4 Etape 0 0000 repère 1 0010 1000 1 1 0011 0110 1001 1100 1 1 1 1 0111 1101 1110 1111 1 1 1 1 Etape 1 00x0 x000 001x 0x10 100x 1x00 0x11 011x x110 1x01 110x 11x0 x111 11x1 111x repère Sommaire JJ II J I Page 28 de 61 Retour Full Screen Fermer Quitter Etape 2 : On procède comme à l’étape précédente avec les monômes des classes 0, 1, 2, etc... On inscrit dans la colonne Etape 2, les nouvreaux monômes obtenus. Si un monôme a déja été obtenu, on ne le réinscrit pas, par contre on marque avec des ”1”, les monômes dont il est issu. On obtient le tableau suivant : classes 0 Etape 0 0000 repère 1 1 0010 1000 1 1 2 0011 0110 1001 1100 1 1 1 1 3 4 0111 1101 1110 1111 1 1 1 1 Etape 1 00x0 x000 001x 0x10 100x 1x00 0x11 011x x110 1x01 110x 11x0 x111 11x1 111x repère 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Etape 2 Page dáccueil repère Page de Titre 0x1x 1x0x x11x 11xx Sommaire JJ II J I Page 29 de 61 Retour Full Screen Fermer Quitter Etape 3 (et suivantes) : On réitère le processus jusqu’à ce qu’il n’y ait plus de simplifications. Dans l’exemple, il n’y a pas d’étape 4 et on obtient : classes 0 1 2 3 4 Etape 0 0000 0010 1000 repère 1 1 1 0011 0110 1001 1100 1 1 1 1 0111 1101 1110 1111 1 1 1 1 Etape 1 00x0 x000 001x 0x10 100x 1x00 0x11 011x x110 1x01 110x 11x0 x111 11x1 111x repère 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Etape 2 0x1x 1x0x repère 0 0 Page dáccueil Page de Titre Sommaire x11x 11xx 0 0 Les monômes qui ont pour repère 0 sont les implicants premiers de f . Ici les implicants premiers de f sont : 00x0 ; x000 ; 0x1x ; 1x0x ; x11x ; 11xx ; soit encore : f (a, b, c, d) = āb̄d¯ + b̄c̄d¯ + āc + ac̄ + bc + ab JJ II J I Page 30 de 61 Retour Full Screen Fermer Quitter 1.3.2.2. Méthode de Mc Cluskey La forme simplifiée de f n’est pas optimale car il y subsiste des redondances. On construit alors la grille de Mc Cluskey ci-dessous : abcd abcd¯ abc̄d abc̄d¯ ab̄c̄d ab̄c̄d¯ ābcd ābcd¯ āb̄cd āb̄cd¯ āb̄c̄d¯ ab @ @ @ @ ac̄ @ @ @ @ @ @ @ @ Page de Titre @ @ @ @ āc bc @ @ Page dáccueil @ @ @ @ @ @ @ @ @ @ āb̄d¯ @ @ b̄c̄d¯ @ @ m15 m14 m13 m12 m9 m8 Sommaire @ @ @ @ m6 m3 m2 II J I @ @ @ @ m7 JJ Page 31 de 61 m0 Retour Les barres verticales représentent les mintermes de la décomposition disjonctive de f et les barres horizontales ses implicants premiers. Les mintermes construits à partir des implicants premiers sont marqués d’une croix. Lorsqu’il n’y a qu’une croix sur une ligne verticale, elle est entourée. Cela signifie que les implicants premiers correspondants doivent figurer impérativement dans l’expression simplifiée de f . On a donc : f (a, b, c, d) = ac̄ + āc + . . . Full Screen Fermer Quitter On remarque ensuite qu’avec ac̄ et āc, on peut construire tous les mintermes de f sauf abcd, abcd et abcc. Pour les couvrir, on a le choix entre ¯ ou (ab + b̄c̄d) ¯ ou (bc + āb̄d) ¯ ou (bc + b̄c̄d) ¯ (ab + āb̄d) Page dáccueil ce qui donne les quatre formes simplifiées minimales de f : f (a, b, c, d) = ac̄ + āc + ab + āb̄d¯ f (a, b, c, d) = ac̄ + āc + ab + b̄c̄d¯ f (a, b, c, d) = ac̄ + āc + bc + āb̄d¯ f (a, b, c, d) = ac̄ + āc + bc + b̄c̄d¯ Remarque : Si aucune croix n’est entourée, on choisit judicieusement un certain nombre d’implicants premiers de manière à englober le plus de mintermes possibles. Page de Titre Sommaire JJ II J I Page 32 de 61 Retour Full Screen Fermer Quitter 1.4. 1.4.1. Les Fonctions booléennes sur variables binaires Définitions Page de Titre Sommaire Soit l’ensemble {0, 1} muni des deux opérations binaires : + 0 1 0 0 1 1 1 1 Page dáccueil . 0 1 0 0 0 1 0 1 et posons que 0 = 1 et 1 = 0, alors ({0, 1}, +, .,¯) est une algèbre de boole. JJ II J I Page 33 de 61 Retour Full Screen Définition 1.4.1 Une fonction booléenne de n variables binaires est une application de l’ensemble {0, 1}n vers {0, 1}. Fermer Quitter Page dáccueil Les valeurs prises par une fonction booléenne de plusieurs variables peuvent être lues dans une table de vérité. Par exemple pour le OU exclusif, on a la table suivante : a b a⊕b 0 0 1 1 0 1 0 1 0 1 1 0 Tab. 1.1 – Table de vérité du OU exclusif On en déduit que a ⊕ b = āb + ab̄. Page de Titre Sommaire JJ II J I Page 34 de 61 Retour Full Screen Fermer Quitter Page dáccueil 1.4.2. Numérotation des fonctions booléennes Pour n variables binaires, il existe 2N fonctions booléennes avec N = 2n. Pour les distinguer chaque fonction est affectée d’un exposant et d’un indice : – L’exposant correspond au nombre de variables dont dépend la fonction. – L’indice est déterminé comme suit : En respectant l’ordre décroissant des indices des mintermes présent dans la décomposition canonique disjonctive de la fonction, on pose 1 si le minterme est présent, 0 sinon. On obtient un nombre qui est l’écriture binaire de l’indice. Page de Titre Sommaire JJ II J I Page 35 de 61 Retour Full Screen Fermer Quitter Page dáccueil 1.4.3. Fonctions de plusieurs variables binaires Page de Titre 1.4.3.1. Fonctions de une variable Sommaire Il existe 4 fonctions de 1 variable résumées dans le tableau suivant : JJ II Tab. 1.2 – Les 4 fonctions booléennes de 1 variable J I Fonction dans {0, 1} Appellation f01(x) = 0 constante nulle 1 f1 (x) = x complémentation f21(x) = x identité f31(x) = 1 constante unité fonctions duales 1 x x 0 Page 36 de 61 Retour Full Screen Fermer Quitter 1.4.3.2. Fonctions de deux variables Il existe 16 fonctions de 2 variables résumées dans le tableau suivant : Page dáccueil Tab. 1.3 – Les 16 fonctions booléennes de 2 variables Expression dans Fonction dans {0, 1} Appellation toute algèbre de Boole f02 (x, y) = 0 constante nulle f12 (x, y) = x̄ȳ de Pierce, NI, NOR x↓y f22 (x, y) = x̄y inhibition f32 (x, y) = x̄ négation 2 f4 (x, y) = xȳ inhibition f52 (x, y) = ȳ négation f62 (x, y) = xȳ + x̄y Ou exclusif, XOR x⊕y f72 (x, y) = x̄ + ȳ de Sheffer, ON, NAND x ↑ y f82 (x, y) = xy ET, multiplication x.y 2 f9 (x, y) = xy + x̄ȳ équivalence xy =x↔y 2 (x, y) = y f10 2 (x, y) = x̄ + y f11 implication x→y 2 f12 (x, y) = x 2 (x, y) = x + ȳ f13 implication x←y 2 f14 (x, y) = x + y OU, addition x+y 2 (x, y) = 1 f15 constante unité fonctions duales 1 x↑y x→y x̄ x←y ȳ xy x↓y x+y x⊕y y x̄y x xȳ xy 0 Page de Titre Sommaire JJ II J I Page 37 de 61 Retour Full Screen Fermer Quitter 1.4.3.3. Fonctions de trois variables Page dáccueil Tab. 1.4 – Table des fonctions Majorité et Minorité x y z Maj(x, y, z) x y z Min(x, y, z) 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 0 On en déduit que : Maj(x, y, z) = x̄yz + xȳz + xy z̄ + xyz = xy + yz + xz Min(x, y, z) = x̄ȳ z̄ + x̄ȳz + x̄y z̄ + xȳ z̄ = x̄ȳ + ȳ z̄ + x̄z̄ Page de Titre Sommaire JJ II J I Page 38 de 61 Retour Full Screen Fermer Quitter Tab. 1.5 – Table des fonctions Clés de Parité x y z P(x, y, z) x y z I(x, y, z) 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 Page dáccueil Page de Titre Sommaire JJ II J I Page 39 de 61 On en déduit que : Retour P(x, y, z) = x̄ȳ z̄ + x̄yz + xȳz + xy z̄ Full Screen et que I(x, y, z) = x̄ȳz + x̄y z̄ + xȳ z̄ + xyz Ces fonctions s’écrivent de manière très simples à l’aide de l’opération ⊕. Fermer Quitter 1.5. Applications aux Circuits Page dáccueil 1.5.1. Les opérations duales NOR et NAND Page de Titre 1.5.1.1. Définitions Dans une algèbre de Boole quelconque (B, +, .,¯) on définit les opération NOR (↓) et NAND (↑) par : ∀a, b ∈ B, a ↓ b = a + b = a.b ∀a, b ∈ B, a ↑ b = a.b = a + b Sommaire JJ II J I Page 40 de 61 Les deux opérations NOR et NAND sont duales. Retour 1.5.1.2. Propriétés Full Screen Proposition 1 Dans toute algèbre de Boole, les opérations NOR et NAND sont commutatives mais ne sont pas associatives. Fermer Quitter Page dáccueil Proposition 2 Soient a et b deux éléments d’une algèbre de boole, alors a + b = (a ↓ b) ↓ (a ↓ b) a.b = (a ↓ a) ↓ (b ↓ b) a = a↓a et a.b = (a ↑ b) ↑ (a ↑ b) a + b = (a ↑ a) ↑ (b ↑ b) a = a↑a Page de Titre Sommaire JJ II J I Page 41 de 61 Retour Full Screen Les opérations NOR et NAND sont donc universelles. Fermer Quitter La conversion en opérateur NOR et NAND d’une expression booléenne est un exercice parfois difficile, conduisant à des formes lourdes à manier. Souvent l’incertitude demeure sur la possibilité d’obtenir une forme plus simple. Page dáccueil Page de Titre Sommaire JJ II J I Page 42 de 61 Retour Full Screen Fermer Quitter 1.5.2. 1.5.2.1. La disjonction exclusive Définitions Dans une algèbre de Boole quelconque (B, +, .,¯) on définit les opérations disjonction exclusive ⊕ et équivalence par : Page dáccueil Page de Titre Sommaire ∀a, b ∈ B, a ⊕ b = a.b + a.b ∀a, b ∈ B, a b = a.b + a.b Ces deux opérations sont duales et complémentaires l’une de l’autre. 1.5.2.2. Propriétés de la disjonction exclusive Théorème 1.5.1 Soit (B, +, .,¯) une algèbre de Boole. L’ensemble (B, ⊕) est un groupe commutatif dont l’élément nul est 0 et dont chaque élément est son propre symétrique (i.e. a ⊕ a = 0). JJ II J I Page 43 de 61 Retour Full Screen Fermer Quitter Page dáccueil On en déduit un premier corollaire utile sur l’existence d’une soustraction : Corollaire 1.5.2 Dans (B, ⊕), tout élément est régulier, c’est à dire : ∀a, b, c ∈ B, a⊕c=b⊕c⇔a=b La soustraction que l’on peut définir dans (B, ⊕) est identique à l’addition : Corollaire 1.5.3 ∀a, b, x ∈ B, Page de Titre Sommaire JJ II J I Page 44 de 61 Retour a⊕x=b⇔x=a⊕b Full Screen Fermer Quitter 1.5.2.3. Calcul Galoisien Théorème 1.5.4 Soit (B, +, .,¯) une algèbre de Boole. L’ensemble (B, ⊕, .) est un anneau commutatif unitaire dont l’élément nul pour ⊕ est 0 et dont l’élément neutre pour . est 1 (i.e. a.1 = a). Page de Titre Sommaire Corollaire 1.5.5 ∀a, b ∈ B, Page dáccueil a + b = a ⊕ b ⊕ a.b et a = 1 ⊕ a D’une manière générale, toute expression booléenne comportant un nombre fini d’opérations +, . et ¯ peut s’exprimer à l’aide des deux opérations ⊕ et « . ». Règle 4 Soient a1 , . . . an des élements d’une algèbre de Boole tels que ai aj = 0 dés que i 6= j , alors : JJ II J I Page 45 de 61 Retour Full Screen a1 + a2 + . . . + an = a1 ⊕ a2 ⊕ . . . ⊕ an Fermer En particulier, on peut se ramener à la décomposition canonique disjonctive pour passer d’une écriture à l’autre. Quitter Page dáccueil Chapitre 2 Logique 2.1. La Logique Propositionnelle 2.1.1. Définitions et Notations Définition 2.1.1 Dans le cadre d’une théorie, une proposition de base ou formule atomique ou atome est un énoncé qui est soit vrai, soit faux mais pas les deux. Chaque proposition p a une valeur de vérité, ou valuation ν qui est soit le vrai et on note ν(p) = 1, soit le faux et on note ν(p) = 0. Page de Titre Sommaire JJ II J I Page 46 de 61 Retour Full Screen On note P = {p, q, r, . . .} l’ensemble des atomes. Fermer Quitter Page dáccueil Page de Titre Sommaire Exemple 8 Voici trois propositions en zoologie : p : « Les poules ont des dents » q : « Les crabes sont des mammifères » r : « Les poules sont carnivores » JJ II J I Page 47 de 61 Retour Full Screen Fermer Quitter 2.1.2. Connecteurs logiques Il y a cinq connecteurs de propositions (ou connecteurs logiques) utilisés en logique propositionnelle : Symbole Nom ¬ NON ∧ ET ∨ OU → SI ... ALORS ↔ SI ET SEULEMENT SI Utilisation ¬p est appelé « négation de p » p ∧ q est appelé « conjonction de p et q » p ∨ q est appelé « disonjonction de p et q » p → q se lit « Si p alors q » ou « p implique q » p ↔ q se lit « p si et seulement si q » Tab. 2.1 – Les connecteurs logiques A partir des connecteurs logiques, on peut construire de nouvelles propositions. Page dáccueil Page de Titre Sommaire JJ II J I Page 48 de 61 Retour Full Screen Fermer Quitter Remarque 2 Il faut distinguer les connecteurs logiques → et ↔ des symboles usuels ⇒ et ⇔. Page dáccueil Définition 2.1.2 Les formules bien formées (fbf ) où formules ou proposititions sont définies récursivement : Page de Titre 1. Un atome est une formule Sommaire 2. Si P est une formule alors ¬P est une formule 3. Si P et Q sont des formules alors P ∧ Q, P ∨ Q, P → Q et P ↔ Q sont des formules JJ II J I 4. Toutes les formules sont générées en appliquant ces règles. Page 49 de 61 L’ordre d’une formule est le nombre maximal de fois où les règles de formation sont appliquées. Par exemple la formule : Retour F = ((¬((p → q) ∨ r)) ↔ (p ↔ q)) Full Screen est une formule d’ordre 4. On note P rop(P) l’ensemble des propositions qui peuvent être construites à l’aide de ces règles. Fermer Quitter Page dáccueil Page de Titre La table de vérité des connecteurs logiques est la suivante : Sommaire ν(p) ν(q) ν(¬p) ν(p ∨ q) ν(p ∧ q) ν(p → q) ν(p ↔ q) 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 On remarque que p → q = ¬p ∨ q et que p ↔ q = (p ∨ ¬q) ∧ (¬p ∨ q). JJ II J I Page 50 de 61 Retour Full Screen Fermer Quitter 2.1.3. Conséquences logiques Page dáccueil Définition 2.1.3 Soit une formule F , et soient p1 , . . . , pn les atomes intervenant dans F . Une interprétation de F est une affectation des valeurs (0, 1) à p1 , . . . , pn . Page de Titre Sommaire Parmi toutes les formules bien formées possibles, certaines ont des propriétés plus intéressantes. Définition 2.1.4 Une formule est dite valide ou appelée une tautologie si elle est vraie quelque soit son interprétation. Une formule est dite inconsistante ou appelée une antilogie ou une contradiction, si elle est fausse quelque soit son interprétation. Exemple 9 Soient p et q deux propositions : p ∧ q → p est une tautologie, (p → q) ∧ (p ∧ ¬q) est une antilogie. JJ II J I Page 51 de 61 Retour Full Screen Fermer Quitter Page dáccueil Page de Titre Définition 2.1.5 Soient p et q deux propositions, on dit que p implique q si la proposition p → q est une tautologie. On ecrit alors p ⇒ q . On dit que p est équivalent à q si p → q et q → p sont des tautologies. On écrit alors p ⇔ q Théorème 2.1.6 Une proposition p implique une proposition q si pour chaque interprétation où p est vraie, alors q est vraie. Sommaire JJ II J I Page 52 de 61 Retour Full Screen Fermer Quitter 2.1.4. 2.1.4.1. Démonstration de formules Tables de Vérité Si la formule possède n atomes, il faut considérer 2n interprétations... Page dáccueil Page de Titre 2.1.4.2. Arbres de Beth Sommaire Un arbre de Beth est une méthode pour démontrer qu’une formule est une antilogie. Pour montrer que la formule F est une tautologie, il suffit de montrer que ¬F est une antilogie. Pour cela on développe ¬F en construisant un arbre (de Beth) de la manière suivante : Expression Arbre JJ II J I Page 53 de 61 Expression Arbre Retour P ∨Q P @ @ @ P Full Screen Q P ∧Q Q Fermer P →Q P @ @ @ P Q ¬(P → Q) Quitter Q 2.2. 2.2.1. 2.2.1.1. La Logique des Prédicats Motivations Page dáccueil Vers la logique des prédicats Page de Titre Regardons de plus près les propositions atomiques. En général, elles sont composées d’objets (ce dont on parle) et d’un prédicat (ce qu’on en dit). Par exemple : – « Socrate est mortel », le prédicat est mortel s’applique à l’objet Socrate. – « Socrate boit la ciguë », le prédicat boit s’applique aux objets Socrate et ciguë. On pourrait réécrire les propositions ci-dessus sous une forme qui met en évidence le prédicat et les objets : – « Socrate est mortel » s’écrira est mortel(Socrate) – « Socrate boit la ciguë » s’écrira boit(Socrate,ciguë) Dans certains domaines, dont les mathématiques, des notations particulières ont été inventées pour exprimer certains prédicats. On écrit par exemple 3 < 46 plutôt que inférieur(3,46) ou 1/2 = 3/6 plutôt que égal(1/2,3/6). Sommaire JJ II J I Page 54 de 61 Retour Full Screen Fermer Quitter 2.2.1.2. Les variables et les quantificateurs L’introduction de variables permet de formuler deux types d’énoncer. 1. Des énoncés universels dans lesquels les variables représentent tous les objets d’un domaine. Par exemple : – être humain(X) → est mortel(X) exprime le fait que si X est un être humain alors X est mortel. – X < X + 1 pour des nombres entiers exprime le fait que si X est un nombre alors il est strictement inférieur à X + 1. 2. Des énoncés exprimant l’existence de quelque chose, sans qu’on connaisse encore précisément cette chose. Par exemple : – Dans l’équation 3X − 8 = 22, X représente un nombre encore inconnu, qui existe et qui a la propriété que si on le multiplie par 3 et qu’on lui retranche 8, on obtient 22. – Dans père(Paul,X), X représente la personne qui est le père de Paul. Page dáccueil Page de Titre Sommaire JJ II J I Page 55 de 61 Retour Full Screen Fermer Quitter 2.2.2. Le Langage L1 des prédicats Page dáccueil 2.2.2.1. Règles de grammaire Page de Titre Pour écrire des formules de logique, on commence par se donner un vocabulaire W composé de symboles de différents types : {x, y, z, x1, y1, z1, . . .} {a, b, c, a1, b1, c1, . . .} {f, g, h, f1, g1, h1, . . .} {P, Q, R, P1, Q1, R1, . . .} {¬, ∧, ∨, →, ↔} {(...); , } {∃, ∀} : : : : : : : des des des des des des des variables constantes fonctions prédicats connecteurs logiques séparateurs quantificateurs A chaque symbole de fonction et de prédicat est associé une arité qui est un entier positif ou nul a(f ), a(g), . . . , a(P ), a(Q), . . .. Sommaire JJ II J I Page 56 de 61 Retour Full Screen Fermer Quitter A partir de ce vocabulaire W , on construit les termes, les atomes et les formules bien formées (fbf). 1. Les termes sont définis récursivement sur W par : – Toute variable et toute constante est un terme – Si f est une fonction n-aire et t1 , t2 , . . . , tn sont des termes alors f (t1 , t2 , . . . , tn ) est un terme. 2. Si P est un prédicat k -aire et t1 , t2 , . . . , tk sont des termes alors P (t1 , t2 , . . . , tk ) est un atome. 3. Les formules bien formées (fbf) ou prédicats sont définies récursivement par : – Les prédicats atomiques sont des fbf, – Si F est une fbf, alors (F ) est une fbf, – Si F est une fbf et x est une variable, alors ∀x, (F ) et ∃x, (F ) sont des fbf, – Si F et G sont des fbf, alors (F ), ¬F , (F ∧ G), (F ∨ G), (F → G), (F ↔ G) sont des fbf. Page dáccueil Page de Titre Sommaire JJ II J I Page 57 de 61 Retour Full Screen Fermer Quitter 2.2.2.2. Variables libres et variables liées Les variables qui apparaissent dans une formule sont dites libres ou liées, selon le principe suivant : – toutes les variables d’une formule sans quantificateurs sont libres, – si x est libre dans F , alors x est liée dans ∀x, (F ) et ∃x, (F ). Une formule dont toutes les variables sont liées est dite fermée. Par exemple : ∀x, (P (x) → ∃y, (Q(x, y))) Si ce n’est pas le cas, la formule est dite ouverte. Page dáccueil Page de Titre Sommaire JJ II J I Page 58 de 61 Retour 2.2.2.3. Substitution et instantiation L’opération de substitution consiste à remplacer certaines variables libres d’une formule F par des termes. On dira qu’une substitution instancie x si elle remplace x par un terme où n’apparaı̂t aucune variable. Full Screen Fermer Quitter 2.2.3. 2.2.3.1. Sémantique du calcul des prédicats Interprétation d’un vocabulaire Pour interpréter une formule construite avec le vocabulaire W , on se donne une interprétation de chaque symbole. Une interprétation I est constituée de : 1. un ensemble non-vide D appelé domaine de l’interprétation, 2. une fonction IC de l’ensemble des constantes dans D, 3. une fonction IF associant à chaque fonction à n arguments une application de Dn dans D, 4. une fonction IP associant à chaque prédicat à n arguments un sous-ensemble de Dn appelé ensemble de véracité de P et noté VP . Par abus de notation, les fonctions d’interprétation IC , IF , IP sont souvent notées I . Page dáccueil Page de Titre Sommaire JJ II J I Page 59 de 61 Retour Full Screen Fermer Quitter 2.2.3.2. Interprétation des formules Pour interpréter une formule, il faut : 1. Assigner des valeurs de D aux variables libres Page dáccueil 2. Interpréter les fonctions Page de Titre I f (t1, t2, . . . , tn) = f I (tI1 , tI2 , . . . , tIn) Sommaire 3. Valuer les prédicats atomiques P (t1, t2, . . . , tk )I = vrai si (tI1 , tI2 , . . . , tIk ) ∈ VP 4. Valuer les formules composées comme en logique propositionnelle, par exemple : ¬F I = vrai si F I = faux 5. Valuer les formules quantifiées avec : ∀x, (F )I = vrai ssi F (x)I = vrai pour tout x ∈ D ∃x, (F )I = vrai ssi F (x)I = vrai pour au moins un élément x ∈ D JJ II J I Page 60 de 61 Retour Full Screen Fermer Quitter Page dáccueil 2.2.3.3. Modèles et conséquences logiques Définition 2.2.1 Soit F = {F1 , . . . , Fn } un ensemble de formules fermées, un modèle de F est une interprétation I tel que F1I = vrai, F2I = vrai,..., FnI = vrai. Définition 2.2.2 Un ensemble de formule fermées F est dite satisfaisable s’il existe au moins un modèle de F , autrement on dit que F est inconsistante où une antilogie. Par exemple F = {P (a, b), ¬∃y, (P (a, y))} est inconsistante. Définition 2.2.3 On appellera tautologie une formule F qui est vraie pour n’importe quelle interprétation. Page de Titre Sommaire JJ II J I Page 61 de 61 Retour Full Screen Fermer Quitter 2.2.4. Manipulations syntaxiques Les formes suivantes sont équivalentes ¬∀x, (F ) ¬∃x, (F ) ∀x, (F ∧ G) ∀x, (F ∨ G) = = = = ∃x, (¬F ) ∀x, (¬F ) ∀x, (F ) ∧ G si x n’apparaı̂t pas dans G ∀x, (F ) ∨ G si x n’apparaı̂t pas dans G Page dáccueil Page de Titre Sommaire JJ II J I Page 62 de 61 Définition 2.2.4 Une formule est dite en forme prenex, si tous les quantificateurs apparaissent au début. Théorème 2.2.5 Toute formule peut se mettre sous forme prenex. Retour Full Screen Fermer Quitter