Table des mati`eres

publicité
Table des matières
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 . . . . . .
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 . . . . . . . . .
1.3 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 . . . . . . . . . . . .
1.4 Les Fonctions booléennes sur variables binaires . . . . . . . .
1.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . .
1
3
3
3
4
4
5
5
6
6
6
7
7
8
8
8
9
9
9
10
10
10
10
11
11
11
11
15
17
17
1.4.2
Numérotation des fonctions booléennes
. . . . . . . .
17
Chapitre 1
Algèbre de Boole
1.1
1.1.1
Algèbres de Boole
Définition
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→
a+b
– D’une opération binaire appelée « produit » et notée . :
. : B × B −→ B
(a, b)
7→
a.b
– D’une opération unaire appelée « complémentation » et notée ¯ :
¯: B −→ B
a
7→
ā
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)
2
(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)
Axiome 5 : ∀a ∈ B, a + ā = 1
1.1.2
a.(b + c) = (a.b) + (a.c)
a.ā = 0
Exemples
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
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
alors (D10 , ppcm, pgcd,¯) est une algèbre de Boole.
1.1.3
Développements et Simplifications en Algèbre de Boole
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.
3
1.1.4
Règles de Calcul dans les Algèbres de Boole
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
Théorème 1.1.6 (Idempotence)
∀a ∈ B, a + a = a et a.a = a
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
Théorème 1.1.10 (Absorption)
∀a, b ∈ B, a + a.b = a et a.(a + b) = a
Théorème 1.1.11 (Redondance)
∀a, x, y ∈ B, a.x + a.y = a.x + a.y + x.y
Théorème 1.1.12 (Lois de De Morgan)
∀a, b ∈ B, a + b = a.b et a.b = a + b
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 .
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.
4
1.1.6
Règles sur les égalités
Règle 1.1.15 ∀a, b, c ∈ B
a=b ⇒ a+c=b+c
a = b ⇒ a.c = b.c
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
⇒
a+c = b+d
a.c = b.d
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
1.2
1.2.1
Les Fonctions Booléennes et leurs Formes Canoniques
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.
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,
5
– m = a.b.c.d est un autre minterme,
– m = a.b.d n’est pas un minterme.
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.
1.2.2
Indexation et Nombre de mintermes et maxtermes
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 .
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
Théorème 1.2.6 La somme booléenne de tous les mintermes vaut 1.
n −1
2X
mi = 1
i=0
6
Théorème 1.2.7 Le produit booléen de tous les maxtermes vaut 0.
n −1
2Y
Mj = 0
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.
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.
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.
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.
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).
1.2.4.2
Détermination des formes canoniques
On se concentrera sur les formes canoniques disjonctives, le cas conjonctif
étant semblable.
7
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.
Exemple 5 Pour 3 variables a, b et c, on aura
ab = ab(c + c) = abc + abc
Exemple 6 Pour 4 variables a, b, c, et d, on aura
ab = ab(c + c) = abc + abc
= abc(d + d) + abc(d + d)
= abcd + abcd + abcd + abcd
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
8
b
4
c
2
d
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.
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).
Exemple 7 Si
f (a, b, c, d) = m0 + m2 + m4 + m5 + m6 + m7 + m11 + m12 + m13 + m14
8
Alors
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
1.2.6
Application aux calculs sur les égalités
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.
1.3
1.3.1
Simplification des fonctions Booléennes
Diagrammes de Karnaugh
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
9
11
10
1.3.1.2
Diagrammes de Karnaugh pour 5 variables
ab\cde
00
01
11
10
1.3.1.3
000
010
110
100
101
111
011
001
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.
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 :
f (a, b, c, d) = ab + bc + ac̄ + ācd + āb̄d¯ + āb̄c
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¯
= 1111 + 1110 + 1101 + 1100 + 1001 + 1000 + 0111 + 0110 + 0011 + 0010 + 0000
10
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
1
0010
1000
2
0011
0110
1001
1100
3
0111
1101
1110
1111
4
11
repère
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 :
classes
0
Etape 0
0000
repère
1
1
0010
1000
1
1
2
0011
0110
1001
1100
1
1
1
1
3
0111
1101
1110
1111
1
1
1
1
4
12
Etape 1
00x0
x000
001x
0x10
100x
1x00
0x11
011x
x110
1x01
110x
11x0
x111
11x1
111x
repère
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
0111
1101
1110
1111
1
1
1
1
4
Etape 1
00x0
x000
001x
0x10
100x
1x00
0x11
011x
x110
1x01
110x
11x0
x111
11x1
111x
13
repère
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
Etape 2
0x1x
1x0x
x11x
11xx
repère
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
Etape 0
0000
repère
1
1
0010
1000
1
1
2
0011
0110
1001
1100
1
1
1
1
3
0111
1101
1110
1111
1
1
1
1
4
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
repère
0x1x
1x0x
0
0
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
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 :
14
abcd abcd¯ abc̄d abc̄d¯ ab̄c̄d ab̄c̄d¯ ābcd ābcd¯ āb̄cd āb̄cd¯ āb̄c̄d¯
ab
@
@
@
@
ac̄
@
@
@
@
@
@
@
@
@
@ @
@
āc
bc
@
@
@
@
@
@
@
@
@
@
@
@
@
@ @
@
āb̄d¯
@
@
b̄c̄d¯
@
@
m15 m14 m13 m12 m9
m8
@
@
@
@
m7
m6
m3
m2
m0
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 + . . .
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)
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.
15
1.4
1.4.1
Les Fonctions booléennes sur variables binaires
Définitions
Soit l’ensemble {0, 1} muni des deux opérations binaires :
+
0
1
0
0
1
1
1
1
.
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.
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}.
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
0
0
1
1
a⊕b
0
1
1
0
b
0
1
0
1
Tab. 1.1 – Table de vérité du OU exclusif
On en déduit que a ⊕ b = āb + ab̄.
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.
16
1.4.3
1.4.3.1
Fonctions de plusieurs variables binaires
Fonctions de une variable
Il existe 4 fonctions de 1 variable résumées dans le tableau suivant :
Tab. 1.2 – Les 4 fonctions booléennes de 1 variable
Fonction dans {0, 1}
f01 (x) = 0
f11 (x) = x
f21 (x) = x
f31 (x) = 1
1.4.3.2
Appellation
constante nulle
complémentation
identité
constante unité
fonctions duales
1
x
x
0
Fonctions de deux variables
Il existe 16 fonctions de 2 variables résumées dans le tableau suivant :
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
2
f7 (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é
17
fonctions duales
1
x↑y
x→y
x̄
x←y
ȳ
xy
x↓y
x+y
x⊕y
y
x̄y
x
xȳ
xy
0
1.4.3.3
x
0
0
0
0
1
1
1
1
Fonctions de trois variables
y
0
0
1
1
0
0
1
1
Tab. 1.4 – Table des fonctions Majorité et Minorité
z Maj(x, y, z)
x y z Min(x, y, z)
0
0
0 0 0
1
1
0
0 0 1
1
0
0
0 1 0
1
1
1
0 1 1
0
0
0
1 0 0
1
1
1
1 0 1
0
0
1
1 1 0
0
1
1
1 1 1
0
On en déduit que :
Maj(x, y, z) = x̄yz + xȳz + xyz̄ + xyz = xy + yz + xz
Min(x, y, z) = x̄ȳz̄ + x̄ȳz + x̄yz̄ + xȳz̄ = x̄ȳ + ȳz̄ + x̄z̄
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
Tab. 1.5 – Table des fonctions Clés de Parité
z P(x, y, z)
x y z I(x, y, z)
0
1
0 0 0
0
1
0
0 0 1
1
0
0
0 1 0
1
1
1
0 1 1
0
0
0
1 0 0
1
1
1
1 0 1
0
0
1
1 1 0
0
1
0
1 1 1
1
On en déduit que :
P(x, y, z) = x̄ȳz̄ + x̄yz + xȳz + xyz̄
et que
I(x, y, z) = x̄ȳz + x̄yz̄ + xȳz̄ + xyz
Ces fonctions s’écrivent de manière très simples à l’aide de l’opération ⊕.
18
1.5
1.5.1
1.5.1.1
Applications aux Circuits
Les opérations duales NOR et NAND
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
Les deux opérations NOR et NAND sont duales.
1.5.1.2
Propriétés
Proposition 1 Dans toute algèbre de Boole, les opérations NOR et NAND
sont commutatives mais ne sont pas associatives.
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
Les opérations NOR et NAND sont donc universelles.
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.
19
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 :
∀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).
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,
a⊕x=b⇔x=a⊕b
20
Chapitre 2
Logique
2.1
2.1.1
La Logique Propositionnelle
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.
On note P = {p, q, r, . . .} l’ensemble des atomes.
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 »
2.1.2
Connecteurs logiques
Il y a cinq connecteurs de propositions (ou connecteurs logiques) utilisés
en logique propositionnelle :
21
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.
Remarque 2 Il faut distinguer les connecteurs logiques → et ↔ des symboles usuels ⇒ et ⇔.
Définition 2.1.2 Les formules bien formées (fbf ) où formules ou proposititions sont définies récursivement :
1. Un atome est une formule
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
4. Toutes les formules sont générées en appliquant ces règles.
L’ordre d’une formule est le nombre maximal de fois où les règles de formation sont appliquées. Par exemple la formule :
F = ((¬((p → q) ∨ r)) ↔ (p ↔ q))
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.
La table de vérité des connecteurs logiques est la suivante :
22
ν(p)
0
0
1
1
ν(q)
0
1
1
0
ν(¬p)
1
1
0
0
ν(p ∨ q)
0
1
1
1
ν(p ∧ q)
0
0
1
0
ν(p → q)
1
1
1
0
ν(p ↔ q)
1
0
1
0
On remarque que p → q = ¬p ∨ q et que p ↔ q = (p ∨ ¬q) ∧ (¬p ∨ q).
2.1.3
Conséquences logiques
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 .
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.
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.
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...
23
2.1.4.2
Arbres de Beth
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
Expression
P
@
P ∨Q
@
@
Q
P
P ∧Q
2.2
2.2.1
2.2.1.1
P
Q
P
@
P →Q
Arbre
@
@
Q
¬(P → Q)
Q
La Logique des Prédicats
Motivations
Vers la logique des prédicats
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).
24
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.
2.2.2
2.2.2.1
Le Langage L1 des prédicats
Règles de grammaire
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), . . ..
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.
25
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.
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.
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.
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 sousensemble de Dn appelé ensemble de véracité de P et noté VP .
26
Par abus de notation, les fonctions d’interprétation IC , IF , IP sont
souvent notées I.
2.2.3.2
Interprétation des formules
Pour interpréter une formule, il faut :
1. Assigner des valeurs de D aux variables libres
2. Interpréter les fonctions
f (t1 , t2 , . . . , tn )I = f I (tI1 , tI2 , . . . , tIn )
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
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.
27
Téléchargement