Chapitre 4
Formes Normales
Table de Matières
La notion d'une forme normale Forme normale de négation Forme disjonctive normale
Équivalences entre formules en forme disjonctive normale Forme conjonctive normale
La notion d'une forme normale
I Pour toute formule il y a une innité d'autres formules équivalentes : p, p∧p, p∧p∧p, . . ., et plein d'autres.
I Est-ce qu'on peut dénir une forme standardisée des formules ?
I Forme normale : spéciée par des restrictions de la syntaxe.
I Utile pour l'algorithmique.
I Normalement : toute formule doit pouvoir être transfomée en une formule en forme normale, et qui lui est équivalente, alors appelée sa forme normale.
I Il y a des notions diérentes de forme normale.
La notion d'une forme normale
I Pour toute formule il y a une innité d'autres formules équivalentes : p, p∧p, p∧p∧p, . . ., et plein d'autres.
I Est-ce qu'on peut dénir une forme standardisée des formules ?
I Forme normale : spéciée par des restrictions de la syntaxe.
I Utile pour l'algorithmique.
I Normalement : toute formule doit pouvoir être transfomée en une formule en forme normale, et qui lui est équivalente, alors appelée sa forme normale.
I Il y a des notions diérentes de forme normale.
La notion d'une forme normale
I Pour toute formule il y a une innité d'autres formules équivalentes : p, p∧p, p∧p∧p, . . ., et plein d'autres.
I Est-ce qu'on peut dénir une forme standardisée des formules ?
I Forme normale : spéciée par des restrictions de la syntaxe.
I Utile pour l'algorithmique.
I Normalement : toute formule doit pouvoir être transfomée en une formule en forme normale, et qui lui est équivalente, alors appelée sa forme normale.
I Il y a des notions diérentes de forme normale.
La notion d'une forme normale
I Pour toute formule il y a une innité d'autres formules équivalentes : p, p∧p, p∧p∧p, . . ., et plein d'autres.
I Est-ce qu'on peut dénir une forme standardisée des formules ?
I Forme normale : spéciée par des restrictions de la syntaxe.
I Utile pour l'algorithmique.
I Normalement : toute formule doit pouvoir être transfomée en une formule en forme normale, et qui lui est équivalente, alors appelée sa forme normale.
I Il y a des notions diérentes de forme normale.
La notion d'une forme normale
I Pour toute formule il y a une innité d'autres formules équivalentes : p, p∧p, p∧p∧p, . . ., et plein d'autres.
I Est-ce qu'on peut dénir une forme standardisée des formules ?
I Forme normale : spéciée par des restrictions de la syntaxe.
I Utile pour l'algorithmique.
I Normalement : toute formule doit pouvoir être transfomée en une formule en forme normale, et qui lui est équivalente, alors appelée sa forme normale.
I Il y a des notions diérentes de forme normale.
La forme normale de négation (NNF)
Denition
Une formule est enforme normale de négation si elle ne contient pas d'applications de l'opérateur¬ sauf des applications à des variables propositionnelles.
I Exemple : ¬x ∧ ¬y ∧z
I Exemple : (¬x ∨y)∧(¬z∨x)
I Contre-exemple : ¬(x∧y)
I Contre-exemple : ¬¬y
La forme normale de négation (NNF)
Denition
Une formule est enforme normale de négation si elle ne contient pas d'applications de l'opérateur¬ sauf des applications à des variables propositionnelles.
I Exemple : ¬x ∧ ¬y ∧z
I Exemple : (¬x ∨y)∧(¬z∨x)
I Contre-exemple : ¬(x∧y)
I Contre-exemple : ¬¬y
La forme normale de négation (NNF)
Denition
Une formule est enforme normale de négation si elle ne contient pas d'applications de l'opérateur¬ sauf des applications à des variables propositionnelles.
I Exemple : ¬x ∧ ¬y ∧z
I Exemple : (¬x ∨y)∧(¬z∨x)
I Contre-exemple : ¬(x∧y)
I Contre-exemple : ¬¬y
La forme normale de négation (NNF)
Denition
Une formule est enforme normale de négation si elle ne contient pas d'applications de l'opérateur¬ sauf des applications à des variables propositionnelles.
I Exemple : ¬x ∧ ¬y ∧z
I Exemple : (¬x ∨y)∧(¬z∨x)
I Contre-exemple : ¬(x∧y)
I Contre-exemple : ¬¬y
La forme normale de négation (NNF)
Denition
Une formule est enforme normale de négation si elle ne contient pas d'applications de l'opérateur¬ sauf des applications à des variables propositionnelles.
I Exemple : ¬x ∧ ¬y ∧z
I Exemple : (¬x ∨y)∧(¬z∨x)
I Contre-exemple : ¬(x∧y)
I Contre-exemple : ¬¬y
Algorithme de transformation en NNF
Règles de réécriture :
¬¬X X (1)
¬(X ∧Y) (¬X ∨ ¬Y) (2)
¬(X ∨Y) (¬X ∧ ¬Y) (3) On peut appliquer une règle de transformation à n'importe quel endroit de la formule à transformer : soit à la formule entière, soità l'intérieur de la formule.
Exemple
La première règle permet les transformations suivantes :
I Transformer la formule ¬¬(x1∧x2)enx1∧x2, en appliquant la règle à la formule entière ;
I Transformer la formule(x1∨¬¬x2)en(x1∨x2), en appliquant la règle de transformation seulement à la sous-formule rouge.
Exemple
La première règle permet les transformations suivantes :
I Transformer la formule ¬¬(x1∧x2)enx1∧x2, en appliquant la règle à la formule entière ;
I Transformer la formule(x1∨¬¬x2)en(x1∨x2), en appliquant la règle de transformation seulement à la sous-formule rouge.
Remarque
I Les règles de transformation sont écrites avec des variables en majuscules X , Y et pas avec des variables en minuscules x, y comme les variables propositionnelles.
I Les variables propositionnelles dénotent des valeurs de vérité, tandis que les variables utilisées dans les règles de
transformation dénotent des formules propositionnelles.
Remarque
I Les règles de transformation sont écrites avec des variables en majuscules X , Y et pas avec des variables en minuscules x, y comme les variables propositionnelles.
I Les variables propositionnelles dénotent des valeurs de vérité, tandis que les variables utilisées dans les règles de
transformation dénotent des formules propositionnelles.
Exemple complet
Appliquer les règles tant que possible :
¬(x∧(y ∨ ¬z))
se transforme en ¬x ∨¬(y ∨ ¬z) par règle (2) se transforme en ¬x ∨(¬y ∧¬¬z) par règle (3) se transforme en ¬x ∨(¬y ∧z) par règle (1) Redex
La sous-formule sur laquelle on applique une transformation, ici en rouge.
Exemple complet
Appliquer les règles tant que possible :
¬(x∧(y ∨ ¬z))
se transforme en ¬x ∨¬(y ∨ ¬z) par règle (2) se transforme en ¬x ∨(¬y ∧¬¬z) par règle (3) se transforme en ¬x ∨(¬y ∧z) par règle (1) Redex
La sous-formule sur laquelle on applique une transformation, ici en rouge.
Exemple complet
Appliquer les règles tant que possible :
¬(x∧(y ∨ ¬z))
se transforme en ¬x ∨¬(y ∨ ¬z) par règle (2) se transforme en ¬x ∨(¬y ∧¬¬z) par règle (3) se transforme en ¬x ∨(¬y ∧z) par règle (1) Redex
La sous-formule sur laquelle on applique une transformation, ici en rouge.
Exemple complet
Appliquer les règles tant que possible :
¬(x∧(y ∨ ¬z))
se transforme en ¬x ∨¬(y ∨ ¬z) par règle (2) se transforme en ¬x ∨(¬y ∧¬¬z) par règle (3) se transforme en ¬x ∨(¬y ∧z) par règle (1) Redex
La sous-formule sur laquelle on applique une transformation, ici en rouge.
Exemple complet
Appliquer les règles tant que possible :
¬(x∧(y ∨ ¬z))
se transforme en ¬x ∨¬(y ∨ ¬z) par règle (2) se transforme en ¬x ∨(¬y ∧¬¬z) par règle (3) se transforme en ¬x ∨(¬y ∧z) par règle (1) Redex
La sous-formule sur laquelle on applique une transformation, ici en rouge.
Plusieurs possibilités pour obtenir une forme normale
¬(x1∨ ¬(x2∧x3))
Questions
Terminaison ?
I Est-ce que ce processus se termine toujours ?
I Ce n'est pas évident, un processus déni par une application itérée d'une transformation peut a priori boucler, ou faire grossir le terme inniment.
Conuence ?
I Est-ce qu'on obtient toujours à la n la même formule quand il y a plusieurs possibilités d'appliquer les règles ?
I C'est le cas, mais on ne va pas le montrer dans ce cours.
Questions
Terminaison ?
I Est-ce que ce processus se termine toujours ?
I Ce n'est pas évident, un processus déni par une application itérée d'une transformation peut a priori boucler, ou faire grossir le terme inniment.
Conuence ?
I Est-ce qu'on obtient toujours à la n la même formule quand il y a plusieurs possibilités d'appliquer les règles ?
I C'est le cas, mais on ne va pas le montrer dans ce cours.
Questions
Terminaison ?
I Est-ce que ce processus se termine toujours ?
I Ce n'est pas évident, un processus déni par une application itérée d'une transformation peut a priori boucler, ou faire grossir le terme inniment.
Conuence ?
I Est-ce qu'on obtient toujours à la n la même formule quand il y a plusieurs possibilités d'appliquer les règles ?
I C'est le cas, mais on ne va pas le montrer dans ce cours.
Questions
Terminaison ?
I Est-ce que ce processus se termine toujours ?
I Ce n'est pas évident, un processus déni par une application itérée d'une transformation peut a priori boucler, ou faire grossir le terme inniment.
Conuence ?
I Est-ce qu'on obtient toujours à la n la même formule quand il y a plusieurs possibilités d'appliquer les règles ?
I C'est le cas, mais on ne va pas le montrer dans ce cours.
Terminaison : Regardons d'abord un système simplié
I Si on avait une seule règle :
¬¬X X
I Chaque application de cette règle enlève deux occurrences du symbole¬.
I Si la formule de départ a n occurrences de¬, alors l'algorithme de transformation termine après au plus n2 étapes.
Terminaison : Regardons d'abord un système simplié
I Si on avait une seule règle :
¬¬X X
I Chaque application de cette règle enlève deux occurrences du symbole¬.
I Si la formule de départ a n occurrences de¬, alors l'algorithme de transformation termine après au plus n2 étapes.
Terminaison : Regardons d'abord un système simplié
I Si on avait une seule règle :
¬¬X X
I Chaque application de cette règle enlève deux occurrences du symbole¬.
I Si la formule de départ a n occurrences de¬, alors l'algorithme de transformation termine après au plus n2 étapes.
La diculté pour le système complet
I La deuxième règle
¬(X∧Y) (¬X ∨ ¬Y)
fait croître le nombre de¬(pareil pour la troisième règle)
I Trouver une mesure qui décroit quand on l'applique n'importe laquelle des trois règles ?
La diculté pour le système complet
I La deuxième règle
¬(X∧Y) (¬X ∨ ¬Y)
fait croître le nombre de¬(pareil pour la troisième règle)
I Trouver une mesure qui décroit quand on l'applique n'importe laquelle des trois règles ?
La clef de la preuve de terminaison
Proposition : Soitφ:Form→Ndénie par récurrence :
I φ(x) =1, où x ∈V
I φ((p1∧p2)) =φ(p1) +φ(p2)
I φ((p1∨p2)) =φ(p1) +φ(p2)
I φ(¬p) = (φ(p))2+1
Alors pour toute formule p∈Form : Si p se transforme en q par une application d'une des règles 1, 2 or 3 alorsφ(p)> φ(q).
La clef de la preuve de terminaison
Proposition : Soitφ:Form→Ndénie par récurrence :
I φ(x) =1, où x ∈V
I φ((p1∧p2)) =φ(p1) +φ(p2)
I φ((p1∨p2)) =φ(p1) +φ(p2)
I φ(¬p) = (φ(p))2+1
Alors pour toute formule p∈Form : Si p se transforme en q par une application d'une des règles 1, 2 or 3 alorsφ(p)> φ(q).
D'abord une petite proposition
Proposition : Pour la fonctionφdénie en haut : φ(p)≥1 pour toute formule p.
Démonstration : exercice (induction).
Démonstration de la proposition
I Par induction
I À montrer pour une formule p donnée : si p se transforme en q par une application d'une règle alors φ(p)> φ(q).
I Si aucune règle de transformation s'applique à p alors il n'y a rien à montrer.
I Attention : Dans le cas général il y a plusieurs possibilités pour appliquer une règle.
Démonstration de la proposition
I Par induction
I À montrer pour une formule p donnée : si p se transforme en q par une application d'une règle alors φ(p)> φ(q).
I Si aucune règle de transformation s'applique à p alors il n'y a rien à montrer.
I Attention : Dans le cas général il y a plusieurs possibilités pour appliquer une règle.
Démonstration de la proposition
I Par induction
I À montrer pour une formule p donnée : si p se transforme en q par une application d'une règle alors φ(p)> φ(q).
I Si aucune règle de transformation s'applique à p alors il n'y a rien à montrer.
I Attention : Dans le cas général il y a plusieurs possibilités pour appliquer une règle.
Démonstration de la proposition
I Par induction
I À montrer pour une formule p donnée : si p se transforme en q par une application d'une règle alors φ(p)> φ(q).
I Si aucune règle de transformation s'applique à p alors il n'y a rien à montrer.
I Attention : Dans le cas général il y a plusieurs possibilités pour appliquer une règle.
Démonstration : le cas d'une variable
Si p∈V alors aucune transformation n'est possible et il n'y a rien à montrer.
Démonstration : le cas d'une conjonction (I)
I Si p= (p1∧p2) alors plusieurs possibilités pour appliquer une règle peuvent exister, cela dépend de p1 et de p2.
I Chaque transformation se fait soit sur p1 soit sur p2, il n'est pas possible d'appliquer une règle à la racine de p car toute règle commence sur le symbole¬.
I Nous considérons le cas où p1 est transformé en q1.
I Hypothèse d'induction : φ(p1)> φ(q1)
Démonstration : le cas d'une conjonction (I)
I Si p= (p1∧p2) alors plusieurs possibilités pour appliquer une règle peuvent exister, cela dépend de p1 et de p2.
I Chaque transformation se fait soit sur p1 soit sur p2, il n'est pas possible d'appliquer une règle à la racine de p car toute règle commence sur le symbole¬.
I Nous considérons le cas où p1 est transformé en q1.
I Hypothèse d'induction : φ(p1)> φ(q1)
Démonstration : le cas d'une conjonction (I)
I Si p= (p1∧p2) alors plusieurs possibilités pour appliquer une règle peuvent exister, cela dépend de p1 et de p2.
I Chaque transformation se fait soit sur p1 soit sur p2, il n'est pas possible d'appliquer une règle à la racine de p car toute règle commence sur le symbole¬.
I Nous considérons le cas où p1 est transformé en q1.
I Hypothèse d'induction : φ(p1)> φ(q1)
Démonstration : le cas d'une conjonction (I)
I Si p= (p1∧p2) alors plusieurs possibilités pour appliquer une règle peuvent exister, cela dépend de p1 et de p2.
I Chaque transformation se fait soit sur p1 soit sur p2, il n'est pas possible d'appliquer une règle à la racine de p car toute règle commence sur le symbole¬.
I Nous considérons le cas où p1 est transformé en q1.
I Hypothèse d'induction : φ(p1)> φ(q1)
Démonstration : le cas d'une conjonction (II)
Hypothèse d'induction : φ(p1)> φ(q1) φ((p1∧p2))
= φ(p1) +φ(p2) par dénition de φ
> φ(q1) +φ(p2) carφ(p1)> φ(q1)par hypothèse d'induction
= φ((q1∧p2)) par dénition de φ
Démonstration : le cas d'une conjonction (II)
Hypothèse d'induction : φ(p1)> φ(q1) φ((p1∧p2))
= φ(p1) +φ(p2) par dénition de φ
> φ(q1) +φ(p2) carφ(p1)> φ(q1)par hypothèse d'induction
= φ((q1∧p2)) par dénition de φ
Démonstration : le cas d'une conjonction (II)
Hypothèse d'induction : φ(p1)> φ(q1) φ((p1∧p2))
= φ(p1) +φ(p2) par dénition de φ
> φ(q1) +φ(p2) carφ(p1)> φ(q1)par hypothèse d'induction
= φ((q1∧p2)) par dénition de φ
Démonstration : le cas d'une conjonction (II)
Hypothèse d'induction : φ(p1)> φ(q1) φ((p1∧p2))
= φ(p1) +φ(p2) par dénition de φ
> φ(q1) +φ(p2) carφ(p1)> φ(q1)par hypothèse d'induction
= φ((q1∧p2)) par dénition de φ
Démonstration : le cas d'une conjonction (II)
Hypothèse d'induction : φ(p1)> φ(q1) φ((p1∧p2))
= φ(p1) +φ(p2) par dénition de φ
> φ(q1) +φ(p2) carφ(p1)> φ(q1)par hypothèse d'induction
= φ((q1∧p2)) par dénition de φ
Démonstration : le cas d'une disjonction
I Analogue au cas de la conjonction.
I Justié par le fait que la fonctionφest dénie pareil dans le cas de la conjonction et de la disjonction !
Démonstration : le cas d'une disjonction
I Analogue au cas de la conjonction.
I Justié par le fait que la fonctionφest dénie pareil dans le cas de la conjonction et de la disjonction !
Démonstration : le cas d'une négation (I)
p=¬p1. Sous-cas 1 : transformation de p1 en q1. Hypothèse d'induction : φ(p1)> φ(q1)
φ(¬p1)
= (φ(p1))2+1 par dénition de φ
> (φ(q1))2+1 carφ(p1)> φ(q1) par hypothèse d'induction etφ(q1)≥1
= φ(¬q1) par dénition de φ
Démonstration : le cas d'une négation (I)
p=¬p1. Sous-cas 1 : transformation de p1 en q1. Hypothèse d'induction : φ(p1)> φ(q1)
φ(¬p1)
= (φ(p1))2+1 par dénition de φ
> (φ(q1))2+1 carφ(p1)> φ(q1) par hypothèse d'induction etφ(q1)≥1
= φ(¬q1) par dénition de φ
Démonstration : le cas d'une négation (I)
p=¬p1. Sous-cas 1 : transformation de p1 en q1. Hypothèse d'induction : φ(p1)> φ(q1)
φ(¬p1)
= (φ(p1))2+1 par dénition de φ
> (φ(q1))2+1 carφ(p1)> φ(q1) par hypothèse d'induction etφ(q1)≥1
= φ(¬q1) par dénition de φ
Démonstration : le cas d'une négation (I)
p=¬p1. Sous-cas 1 : transformation de p1 en q1. Hypothèse d'induction : φ(p1)> φ(q1)
φ(¬p1)
= (φ(p1))2+1 par dénition de φ
> (φ(q1))2+1 carφ(p1)> φ(q1) par hypothèse d'induction etφ(q1)≥1
= φ(¬q1) par dénition de φ
Démonstration : le cas d'une négation (I)
p=¬p1. Sous-cas 1 : transformation de p1 en q1. Hypothèse d'induction : φ(p1)> φ(q1)
φ(¬p1)
= (φ(p1))2+1 par dénition de φ
> (φ(q1))2+1 carφ(p1)> φ(q1) par hypothèse d'induction etφ(q1)≥1
= φ(¬q1) par dénition de φ
Démonstration : le cas d'une négation (I)
p=¬p1. Sous-cas 1 : transformation de p1 en q1. Hypothèse d'induction : φ(p1)> φ(q1)
φ(¬p1)
= (φ(p1))2+1 par dénition de φ
> (φ(q1))2+1 carφ(p1)> φ(q1) par hypothèse d'induction etφ(q1)≥1
= φ(¬q1) par dénition de φ
Démonstration : le cas d'une négation (II)
Première règle appliquée à la racine : p=¬¬p2 est transformé en p2.
φ(¬¬p2)
= (φ(¬p2))2+1 par dénition deφ
= ((φ(p2))2+1)2+1 par dénition deφ
= φ(p2)4+2φ(p2)2+1+1
> φ(p2)
Démonstration : le cas d'une négation (II)
Première règle appliquée à la racine : p=¬¬p2 est transformé en p2.
φ(¬¬p2)
= (φ(¬p2))2+1 par dénition deφ
= ((φ(p2))2+1)2+1 par dénition deφ
= φ(p2)4+2φ(p2)2+1+1
> φ(p2)
Démonstration : le cas d'une négation (II)
Première règle appliquée à la racine : p=¬¬p2 est transformé en p2.
φ(¬¬p2)
= (φ(¬p2))2+1 par dénition deφ
= ((φ(p2))2+1)2+1 par dénition deφ
= φ(p2)4+2φ(p2)2+1+1
> φ(p2)
Démonstration : le cas d'une négation (II)
Première règle appliquée à la racine : p=¬¬p2 est transformé en p2.
φ(¬¬p2)
= (φ(¬p2))2+1 par dénition deφ
= ((φ(p2))2+1)2+1 par dénition deφ
= φ(p2)4+2φ(p2)2+1+1
> φ(p2)
Démonstration : le cas d'une négation (II)
Première règle appliquée à la racine : p=¬¬p2 est transformé en p2.
φ(¬¬p2)
= (φ(¬p2))2+1 par dénition deφ
= ((φ(p2))2+1)2+1 par dénition deφ
= φ(p2)4+2φ(p2)2+1+1
> φ(p2)
Démonstration : le cas d'une négation (II)
Première règle appliquée à la racine : p=¬¬p2 est transformé en p2.
φ(¬¬p2)
= (φ(¬p2))2+1 par dénition deφ
= ((φ(p2))2+1)2+1 par dénition deφ
= φ(p2)4+2φ(p2)2+1+1
> φ(p2)
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (III)
Application de la deuxième règle à la racine : p=¬(p2∧p3) est transformé en(¬p2∨ ¬p3):
φ(¬(p2∧p3))
= φ((p2∧p3))2+1 par dénition deφ
= (φ(p2) +φ(p3))2+1 par dénition deφ
= (φ(p2))2+2φ(p2)φ(p3) + (φ(p3))2+1
> (φ(p2))2+1+ (φ(p3))2+1 carφ(p2)≥1 etφ(p3)≥1
= φ(¬p2) +φ(¬p3) par dénition deφ
= φ((¬p2∨ ¬p3)) par dénition deφ
Démonstration : le cas d'une négation (IV)
Il s'agit d'une application de la troisième règle à la racine : analogue au cas précédent.
Mise en forme normale de négation
Théorème : Pour toute formule il existe une formule équivalente en forme normale de négation.
Démonstration : Donné p, on lui applique des règles de transformation tant que possible. À montrer :
1. Le processus termine.
2. Chaque étape transforme une formule dans une formule équivalente.
3. Si aucune règle de transformation s'applique alors la formule est en forme normale de négation.
Mise en forme normale de négation
Théorème : Pour toute formule il existe une formule équivalente en forme normale de négation.
Démonstration : Donné p, on lui applique des règles de transformation tant que possible. À montrer :
1. Le processus termine.
2. Chaque étape transforme une formule dans une formule équivalente.
3. Si aucune règle de transformation s'applique alors la formule est en forme normale de négation.
Mise en forme normale de négation
Théorème : Pour toute formule il existe une formule équivalente en forme normale de négation.
Démonstration : Donné p, on lui applique des règles de transformation tant que possible. À montrer :
1. Le processus termine.
2. Chaque étape transforme une formule dans une formule équivalente.
3. Si aucune règle de transformation s'applique alors la formule est en forme normale de négation.
Mise en forme normale de négation
Théorème : Pour toute formule il existe une formule équivalente en forme normale de négation.
Démonstration : Donné p, on lui applique des règles de transformation tant que possible. À montrer :
1. Le processus termine.
2. Chaque étape transforme une formule dans une formule équivalente.
3. Si aucune règle de transformation s'applique alors la formule est en forme normale de négation.
Mise en forme normale de négation
Théorème : Pour toute formule il existe une formule équivalente en forme normale de négation.
Démonstration : Donné p, on lui applique des règles de transformation tant que possible. À montrer :
1. Le processus termine.
2. Chaque étape transforme une formule dans une formule équivalente.
3. Si aucune règle de transformation s'applique alors la formule est en forme normale de négation.
Démonstration de (1): Le processus termine
I À chaque transformation la mesureφdécroît strictement (montré au-dessus).
I Cette mesure ne peut jamais descendre au-dessous de 1 (petite proposition au-dessus)
I Conséquence : si la formule de départ p a la mesure φ(p) =n alors on peut au maximum appliquer n−1 transformations.
Démonstration de (1): Le processus termine
I À chaque transformation la mesureφdécroît strictement (montré au-dessus).
I Cette mesure ne peut jamais descendre au-dessous de 1 (petite proposition au-dessus)
I Conséquence : si la formule de départ p a la mesure φ(p) =n alors on peut au maximum appliquer n−1 transformations.
Démonstration de (1): Le processus termine
I À chaque transformation la mesureφdécroît strictement (montré au-dessus).
I Cette mesure ne peut jamais descendre au-dessous de 1 (petite proposition au-dessus)
I Conséquence : si la formule de départ p a la mesure φ(p) =n alors on peut au maximum appliquer n−1 transformations.
Démonstration de (2): Chaque étape transforme une formule dans une formule équivalente
Conséquence des lois de la logique propositionnelle.
Démonstration de (3): Si aucune règle de transformation s'applique alors la formule est en forme normale de négation
Supposons qu'aucune règle s'applique à p, et que p contient une sous-formule¬q.
I q ne peut pas être une négation (sinon : règle (1) s'applique)
I q ne peut pas être une conjonction (sinon : règle (2) s'applique)
I q ne peut pas être une disjonction (sinon : règle (3) s'applique) Donc, q doit être une variable.
Démonstration de (3): Si aucune règle de transformation s'applique alors la formule est en forme normale de négation
Supposons qu'aucune règle s'applique à p, et que p contient une sous-formule¬q.
I q ne peut pas être une négation (sinon : règle (1) s'applique)
I q ne peut pas être une conjonction (sinon : règle (2) s'applique)
I q ne peut pas être une disjonction (sinon : règle (3) s'applique) Donc, q doit être une variable.
Démonstration de (3): Si aucune règle de transformation s'applique alors la formule est en forme normale de négation
Supposons qu'aucune règle s'applique à p, et que p contient une sous-formule¬q.
I q ne peut pas être une négation (sinon : règle (1) s'applique)
I q ne peut pas être une conjonction (sinon : règle (2) s'applique)
I q ne peut pas être une disjonction (sinon : règle (3) s'applique) Donc, q doit être une variable.
Démonstration de (3): Si aucune règle de transformation s'applique alors la formule est en forme normale de négation
Supposons qu'aucune règle s'applique à p, et que p contient une sous-formule¬q.
I q ne peut pas être une négation (sinon : règle (1) s'applique)
I q ne peut pas être une conjonction (sinon : règle (2) s'applique)
I q ne peut pas être une disjonction (sinon : règle (3) s'applique) Donc, q doit être une variable.
Démonstration de (3): Si aucune règle de transformation s'applique alors la formule est en forme normale de négation
Supposons qu'aucune règle s'applique à p, et que p contient une sous-formule¬q.
I q ne peut pas être une négation (sinon : règle (1) s'applique)
I q ne peut pas être une conjonction (sinon : règle (2) s'applique)
I q ne peut pas être une disjonction (sinon : règle (3) s'applique) Donc, q doit être une variable.
Littéral, Clause, DNF
Denition
1. Un littéralest soit une variable propositionnelle, soit la négation d'une variable propositionnelle.
2. Uneclause conjonctive est soit la constante True, soit un littéral, soit une conjonction d'aux moins deux littéraux.
3. Une formule enforme disjonctive normale (DNF) est soit la constante False, soit une clause conjonctive, soit une disjonction d'aux moins deux clauses conjonctives.
Littéral, Clause, DNF
Denition
1. Un littéralest soit une variable propositionnelle, soit la négation d'une variable propositionnelle.
2. Uneclause conjonctive est soit la constante True, soit un littéral, soit une conjonction d'aux moins deux littéraux.
3. Une formule enforme disjonctive normale (DNF) est soit la constante False, soit une clause conjonctive, soit une disjonction d'aux moins deux clauses conjonctives.
Littéral, Clause, DNF
Denition
1. Un littéralest soit une variable propositionnelle, soit la négation d'une variable propositionnelle.
2. Uneclause conjonctive est soit la constante True, soit un littéral, soit une conjonction d'aux moins deux littéraux.
3. Une formule enforme disjonctive normale (DNF) est soit la constante False, soit une clause conjonctive, soit une disjonction d'aux moins deux clauses conjonctives.
I conjonction d'aux moins deux littéraux : formule de la forme
(l1∧(l2∧(l3∧. . .). . .)) où chacun des li est un littéral
I disjonction d'aux moins deux clauses conjonctives : formule de la forme
(c1∨(c2∨(c3∨. . .). . .)) où chacun des ci est une clause conjonctive.
I conjonction d'aux moins deux littéraux : formule de la forme
(l1∧(l2∧(l3∧. . .). . .)) où chacun des li est un littéral
I disjonction d'aux moins deux clauses conjonctives : formule de la forme
(c1∨(c2∨(c3∨. . .). . .)) où chacun des ci est une clause conjonctive.
Exemples
Clauses conjonctives
I True
I x
I (x∧y ∧z)
I (x∧ ¬x∧y)
Forme disjonctive normale
(x ∧y∧z)∨(x ∧ ¬x ∧y)∨x
Exemples
Clauses conjonctives
I True
I x
I (x∧y ∧z)
I (x∧ ¬x∧y)
Forme disjonctive normale
(x ∧y∧z)∨(x ∧ ¬x ∧y)∨x
Convention
I La conjonction d'une seule formule w est w
I La disjonction d'une seule formule w est w
Convention
I La conjonction d'une seule formule w est w
I La disjonction d'une seule formule w est w
Éléments neutres
I La conjonction de zéro formules donne True.
I Justication : Quand on ajoute zéro formules à une conjonction on devrait obtenir une formule équivalente.
I C.-à-d. : la conjonction de zéro formules est l'élément neutre de la conjonction : True
I Anologue à : la somme de zéro nombres est zéro Σii==01i =0
I La disjonction de zéro formules donne False (pareil)
Éléments neutres
I La conjonction de zéro formules donne True.
I Justication : Quand on ajoute zéro formules à une conjonction on devrait obtenir une formule équivalente.
I C.-à-d. : la conjonction de zéro formules est l'élément neutre de la conjonction : True
I Anologue à : la somme de zéro nombres est zéro Σii==01i =0
I La disjonction de zéro formules donne False (pareil)
Éléments neutres
I La conjonction de zéro formules donne True.
I Justication : Quand on ajoute zéro formules à une conjonction on devrait obtenir une formule équivalente.
I C.-à-d. : la conjonction de zéro formules est l'élément neutre de la conjonction : True
I Anologue à : la somme de zéro nombres est zéro Σii==01i =0
I La disjonction de zéro formules donne False (pareil)
Éléments neutres
I La conjonction de zéro formules donne True.
I Justication : Quand on ajoute zéro formules à une conjonction on devrait obtenir une formule équivalente.
I C.-à-d. : la conjonction de zéro formules est l'élément neutre de la conjonction : True
I Anologue à : la somme de zéro nombres est zéro Σii==01i =0
I La disjonction de zéro formules donne False (pareil)
Éléments neutres
I La conjonction de zéro formules donne True.
I Justication : Quand on ajoute zéro formules à une conjonction on devrait obtenir une formule équivalente.
I C.-à-d. : la conjonction de zéro formules est l'élément neutre de la conjonction : True
I Anologue à : la somme de zéro nombres est zéro Σii==01i =0
I La disjonction de zéro formules donne False (pareil)
Simplication de la dénition
1. Uneclause conjonctive est une conjonction de zéro ou plus littéraux.
2. Une formule est en forme disjonctive normale si elle est la disjonction de zéro ou plus clauses conjonctives.
Simplication de la dénition
1. Uneclause conjonctive est une conjonction de zéro ou plus littéraux.
2. Une formule est en forme disjonctive normale si elle est la disjonction de zéro ou plus clauses conjonctives.
NNF et DNF
I Toute formule en DNF est aussi en NNF
I Il y a des formules en NNF qui ne sont pas DNF.
I Exemple :
x∧(¬y ∨ ¬z)
NNF et DNF
I Toute formule en DNF est aussi en NNF
I Il y a des formules en NNF qui ne sont pas DNF.
I Exemple :
x∧(¬y ∨ ¬z)
NNF et DNF
I Toute formule en DNF est aussi en NNF
I Il y a des formules en NNF qui ne sont pas DNF.
I Exemple :
x∧(¬y ∨ ¬z)
Transformation en DNF
I D'abord mettre la formule en NNF
I Puis appliquer tant que possible les règles :
X∧(Y ∨Z) (X ∧Y)∨(X∧Z) (4) (X ∨Y)∧Z (X ∧Z)∨(Y ∧Z) (5)
(X ∧Y)∧Z X∧(Y ∧Z) (6)
(X ∨Y)∨Z X∨(Y ∨Z) (7)
Transformation en DNF
I D'abord mettre la formule en NNF
I Puis appliquer tant que possible les règles :
X∧(Y ∨Z) (X ∧Y)∨(X∧Z) (4) (X ∨Y)∧Z (X ∧Z)∨(Y ∧Z) (5)
(X ∧Y)∧Z X∧(Y ∧Z) (6)
(X ∨Y)∨Z X∨(Y ∨Z) (7)
Exemple
x1∧(¬(y1∨y2)∧¬¬(z1∨z2))
x1∧(¬(y1∨y2)∧(z1∨z2)) par règle 1 x1∧((¬y1∧ ¬y2)∧(z1∨z2)) par règle 3 x1∧(((¬y1∧ ¬y2)∧z1)∨((¬y1∧ ¬y2)∧z2)) par règle 4
x1∧((¬y1∧ ¬y2∧z1)∨(¬y1∧ ¬y2∧z2)) par règle 6 (2 fois) (x1∧ ¬y1∧ ¬y2∧z1)∨(x1∧ ¬y1∧ ¬y2∧z2) par règle 5
Exemple
x1∧(¬(y1∨y2)∧¬¬(z1∨z2))
x1∧(¬(y1∨y2)∧(z1∨z2)) par règle 1 x1∧((¬y1∧ ¬y2)∧(z1∨z2)) par règle 3 x1∧(((¬y1∧ ¬y2)∧z1)∨((¬y1∧ ¬y2)∧z2)) par règle 4
x1∧((¬y1∧ ¬y2∧z1)∨(¬y1∧ ¬y2∧z2)) par règle 6 (2 fois) (x1∧ ¬y1∧ ¬y2∧z1)∨(x1∧ ¬y1∧ ¬y2∧z2) par règle 5
Exemple
x1∧(¬(y1∨y2)∧¬¬(z1∨z2))
x1∧(¬(y1∨y2)∧(z1∨z2)) par règle 1 x1∧((¬y1∧ ¬y2)∧(z1∨z2)) par règle 3 x1∧(((¬y1∧ ¬y2)∧z1)∨((¬y1∧ ¬y2)∧z2)) par règle 4
x1∧((¬y1∧ ¬y2∧z1)∨(¬y1∧ ¬y2∧z2)) par règle 6 (2 fois) (x1∧ ¬y1∧ ¬y2∧z1)∨(x1∧ ¬y1∧ ¬y2∧z2) par règle 5
Exemple
x1∧(¬(y1∨y2)∧¬¬(z1∨z2))
x1∧(¬(y1∨y2)∧(z1∨z2)) par règle 1 x1∧((¬y1∧ ¬y2)∧(z1∨z2)) par règle 3 x1∧(((¬y1∧ ¬y2)∧z1)∨((¬y1∧ ¬y2)∧z2)) par règle 4
x1∧((¬y1∧ ¬y2∧z1)∨(¬y1∧ ¬y2∧z2)) par règle 6 (2 fois) (x1∧ ¬y1∧ ¬y2∧z1)∨(x1∧ ¬y1∧ ¬y2∧z2) par règle 5
Exemple
x1∧(¬(y1∨y2)∧¬¬(z1∨z2))
x1∧(¬(y1∨y2)∧(z1∨z2)) par règle 1 x1∧((¬y1∧ ¬y2)∧(z1∨z2)) par règle 3 x1∧(((¬y1∧ ¬y2)∧z1)∨((¬y1∧ ¬y2)∧z2)) par règle 4
x1∧((¬y1∧ ¬y2∧z1)∨(¬y1∧ ¬y2∧z2)) par règle 6 (2 fois) (x1∧ ¬y1∧ ¬y2∧z1)∨(x1∧ ¬y1∧ ¬y2∧z2) par règle 5
Exemple
x1∧(¬(y1∨y2)∧¬¬(z1∨z2))
x1∧(¬(y1∨y2)∧(z1∨z2)) par règle 1 x1∧((¬y1∧ ¬y2)∧(z1∨z2)) par règle 3 x1∧(((¬y1∧ ¬y2)∧z1)∨((¬y1∧ ¬y2)∧z2)) par règle 4
x1∧((¬y1∧ ¬y2∧z1)∨(¬y1∧ ¬y2∧z2)) par règle 6 (2 fois) (x1∧ ¬y1∧ ¬y2∧z1)∨(x1∧ ¬y1∧ ¬y2∧z2) par règle 5
Le théorème de terminaison
Proposition : Soitψ:Form→Ndénie par récurrence :
I ψ(x) =2 si x ∈V
I ψ((p1∧p2)) = (ψ(p1))2∗ψ(p2)
I ψ((p1∨p2)) =2ψ(p1) +ψ(p2) +1
I ψ(¬p) =ψ(p)
Alors pour toute formule p∈Form : Si p se transforme en q par une application d'une des règles 4 à 7 alorsψ(p)> ψ(q).
Démonstration : exercice
Le théorème de terminaison
Proposition : Soitψ:Form→Ndénie par récurrence :
I ψ(x) =2 si x ∈V
I ψ((p1∧p2)) = (ψ(p1))2∗ψ(p2)
I ψ((p1∨p2)) =2ψ(p1) +ψ(p2) +1
I ψ(¬p) =ψ(p)
Alors pour toute formule p∈Form : Si p se transforme en q par une application d'une des règles 4 à 7 alorsψ(p)> ψ(q).
Démonstration : exercice
Mise en forme DNF
Théorème : Pour toute formule il existe une formule équivalente en forme disjonctive normale.
Démonstration : Mettre en forme NNF, puis appliquer les règles de transformaton en DNF tant que possible. À montrer :
1. Le processus termine.
2. Le résultat est équivalent à la formule de départ.
3. À la n on obtient une DNF
Mise en forme DNF
Théorème : Pour toute formule il existe une formule équivalente en forme disjonctive normale.
Démonstration : Mettre en forme NNF, puis appliquer les règles de transformaton en DNF tant que possible. À montrer :
1. Le processus termine.
2. Le résultat est équivalent à la formule de départ.
3. À la n on obtient une DNF
Mise en forme DNF
Théorème : Pour toute formule il existe une formule équivalente en forme disjonctive normale.
Démonstration : Mettre en forme NNF, puis appliquer les règles de transformaton en DNF tant que possible. À montrer :
1. Le processus termine.
2. Le résultat est équivalent à la formule de départ.
3. À la n on obtient une DNF
Mise en forme DNF
Théorème : Pour toute formule il existe une formule équivalente en forme disjonctive normale.
Démonstration : Mettre en forme NNF, puis appliquer les règles de transformaton en DNF tant que possible. À montrer :
1. Le processus termine.
2. Le résultat est équivalent à la formule de départ.
3. À la n on obtient une DNF
Mise en forme DNF
Théorème : Pour toute formule il existe une formule équivalente en forme disjonctive normale.
Démonstration : Mettre en forme NNF, puis appliquer les règles de transformaton en DNF tant que possible. À montrer :
1. Le processus termine.
2. Le résultat est équivalent à la formule de départ.
3. À la n on obtient une DNF
Démonstration du Théorème de mise en DNF (I)
1. Le processus termine : conséquence de la proposition (décroissance de la fonction ψ).
2. La résultat est équivalent à la formule de départ : conséquence du fait que chaque étape de transformation est une
équivalence (voir les lois de la logique propositionnelle)
Démonstration du Théorème de mise en DNF (I)
1. Le processus termine : conséquence de la proposition (décroissance de la fonction ψ).
2. La résultat est équivalent à la formule de départ : conséquence du fait que chaque étape de transformation est une
équivalence (voir les lois de la logique propositionnelle)