Chapitre 2
Dénition de la logique propositionnelle Cours 3
Sémantique de la logique propositionnelle
Aectations
Valeurs de vérités : 0 et 1.
Denition
Une aectation est une fonction
v :V → {0,1} Lesupportd'une aectation v est déni comme
supp(v) ={x ∈V |v(x) =1}
Aectations
Valeurs de vérités : 0 et 1.
Denition
Une aectation est une fonction
v :V → {0,1} Lesupportd'une aectation v est déni comme
supp(v) ={x ∈V |v(x) =1}
Il existe des dénitions diérentes
I Pour 0 : False, , . . .
I Pour 1 : True, tt,. . .
I Les aectations sont parfois dénies comme des fonctions partielles.
Il existe des dénitions diérentes
I Pour 0 : False, , . . .
I Pour 1 : True, tt,. . .
I Les aectations sont parfois dénies comme des fonctions partielles.
Notation pour les aectations
I Nous écrivons
[x1 7→1,x2 7→1,x37→1, . . . ,xn7→1]
pour l'aectation qui aux variables x1, . . . ,xn associe la valeur 1, et qui associe à toute autre variable la valeur 0.
I On ne peut pas écrire toutes les aectations de cette façon.
Notation pour les aectations
I Nous écrivons
[x1 7→1,x2 7→1,x37→1, . . . ,xn7→1]
pour l'aectation qui aux variables x1, . . . ,xn associe la valeur 1, et qui associe à toute autre variable la valeur 0.
I On ne peut pas écrire toutes les aectations de cette façon.
Exemple aectation
[x1 7→1,x27→0,x3 7→1]
est l'aectation qui associe à x1 et x3 la valeur 1, et à toute autre variable la valeur 0.
Son support est{x1,x3}.
Interprétation d'un formule
L'interprétation[[p]]v d'une formule p par rapport à l'aectation v est dénie par récurrence sur la structure de p:
[[x]]v = v(x)
[[¬p1]]v =
0 si [[p1]]v =1 1 si [[p1]]v =0 [[(p1∧p2)]]v =
0 si [[p1]]v =0 ou[[p2]]v =0 1 si [[p1]]v =1 et[[p2]]v =1 [[(p1∨p2)]]v =
0 si [[p1]]v =0 et[[p2]]v =0 1 si [[p1]]v =1 ou[[p2]]v =1
Interprétation d'un formule
L'interprétation[[p]]v d'une formule p par rapport à l'aectation v est dénie par récurrence sur la structure de p:
[[x]]v = v(x)
[[¬p1]]v =
0 si [[p1]]v =1 1 si [[p1]]v =0 [[(p1∧p2)]]v =
0 si [[p1]]v =0 ou[[p2]]v =0 1 si [[p1]]v =1 et[[p2]]v =1 [[(p1∨p2)]]v =
0 si [[p1]]v =0 et[[p2]]v =0 1 si [[p1]]v =1 ou[[p2]]v =1
Interprétation d'un formule
L'interprétation[[p]]v d'une formule p par rapport à l'aectation v est dénie par récurrence sur la structure de p:
[[x]]v = v(x)
[[¬p1]]v =
0 si [[p1]]v =1 1 si [[p1]]v =0 [[(p1∧p2)]]v =
0 si [[p1]]v =0 ou[[p2]]v =0 1 si [[p1]]v =1 et[[p2]]v =1 [[(p1∨p2)]]v =
0 si [[p1]]v =0 et[[p2]]v =0 1 si [[p1]]v =1 ou[[p2]]v =1
Interprétation d'un formule
L'interprétation[[p]]v d'une formule p par rapport à l'aectation v est dénie par récurrence sur la structure de p:
[[x]]v = v(x)
[[¬p1]]v =
0 si [[p1]]v =1 1 si [[p1]]v =0 [[(p1∧p2)]]v =
0 si [[p1]]v =0 ou[[p2]]v =0 1 si [[p1]]v =1 et[[p2]]v =1 [[(p1∨p2)]]v =
0 si [[p1]]v =0 et[[p2]]v =0 1 si [[p1]]v =1 ou[[p2]]v =1
Exemples
Pour l'aectation v1= [y 7→1]on a que
I [[x]]v1 =0 (car v1(x) =0)
I [[y]]v1 =1 (car v1(y) =1)
I Donc : [[(x ∧y)]]v1=0
I et [[(x∨y)]]v1=1.
Exemples
Pour l'aectation v1= [y 7→1]on a que
I [[x]]v1 =0 (car v1(x) =0)
I [[y]]v1 =1 (car v1(y) =1)
I Donc : [[(x ∧y)]]v1=0
I et [[(x∨y)]]v1=1.
Exemples
Pour l'aectation v1= [y 7→1]on a que
I [[x]]v1 =0 (car v1(x) =0)
I [[y]]v1 =1 (car v1(y) =1)
I Donc : [[(x ∧y)]]v1=0
I et [[(x∨y)]]v1=1.
Exemples
Pour l'aectation v1= [y 7→1]on a que
I [[x]]v1 =0 (car v1(x) =0)
I [[y]]v1 =1 (car v1(y) =1)
I Donc : [[(x ∧y)]]v1=0
I et [[(x∨y)]]v1=1.
Stratégie d'interprétation
Théorème : Soient p et q des formules propositionnelles et v une aectation, alors
[[(p∧q)]]v =
0 si[[p]]v =0 [[q]]v si[[p]]v =1 [[(p∨q)]]v =
1 si[[p]]v =1 [[q]]v si[[p]]v =0
Démonstration
Nous démontrons seulement le premier des deux énoncés; le second se montre de façon analogue. Il y deux cas, selon la valeur de[[p]]v : Cas[[p]]v =0: Nous avons à montrer que dans ce cas
[[(p∧q)]]v =0. C'est une conséquence immédiate de la dénition.
Cas[[p]]v =1: Nous avons à montrer que dans ce cas
[[(p∧q)]]v = [[q]]v. Il y a deux cas, selon la valeur de [[q]]v:
Cas [[q]]v =0: Nous avons[[(p∧q)]]v =0= [[q]]v Cas [[q]]v =1: Nous avons[[(p∧q)]]v =1= [[q]]v
Démonstration
Nous démontrons seulement le premier des deux énoncés; le second se montre de façon analogue. Il y deux cas, selon la valeur de[[p]]v : Cas[[p]]v =0: Nous avons à montrer que dans ce cas
[[(p∧q)]]v =0. C'est une conséquence immédiate de la dénition.
Cas[[p]]v =1: Nous avons à montrer que dans ce cas
[[(p∧q)]]v = [[q]]v. Il y a deux cas, selon la valeur de [[q]]v:
Cas [[q]]v =0: Nous avons[[(p∧q)]]v =0= [[q]]v Cas [[q]]v =1: Nous avons[[(p∧q)]]v =1= [[q]]v
Démonstration
Nous démontrons seulement le premier des deux énoncés; le second se montre de façon analogue. Il y deux cas, selon la valeur de[[p]]v : Cas[[p]]v =0: Nous avons à montrer que dans ce cas
[[(p∧q)]]v =0. C'est une conséquence immédiate de la dénition.
Cas[[p]]v =1: Nous avons à montrer que dans ce cas
[[(p∧q)]]v = [[q]]v. Il y a deux cas, selon la valeur de [[q]]v:
Cas [[q]]v =0: Nous avons[[(p∧q)]]v =0= [[q]]v Cas [[q]]v =1: Nous avons[[(p∧q)]]v =1= [[q]]v
Démonstration
Nous démontrons seulement le premier des deux énoncés; le second se montre de façon analogue. Il y deux cas, selon la valeur de[[p]]v : Cas[[p]]v =0: Nous avons à montrer que dans ce cas
[[(p∧q)]]v =0. C'est une conséquence immédiate de la dénition.
Cas[[p]]v =1: Nous avons à montrer que dans ce cas
[[(p∧q)]]v = [[q]]v. Il y a deux cas, selon la valeur de [[q]]v:
Cas [[q]]v =0: Nous avons[[(p∧q)]]v =0= [[q]]v Cas [[q]]v =1: Nous avons[[(p∧q)]]v =1= [[q]]v
L'intérêt de ce théorème
I Pour évaluer[[(p∧q)]]v on évalue d'abord[[p]]v, et selon le résultat obtenu il se peut qu'il ne soit plus nécessaire d'évaluer [[q]]v, ce qui est bon à savoir quand q est une très grande expression.
I On aurait pu donner une variante du théorème dans laquelle on interprète d'abord q au lieu de p, ou encore des variantes avec des critères plus sophistiqués (par exemple: on commence avec l'interprétation de la formule parmi p, q qui est est la plus petite).
L'intérêt de ce théorème
I Pour évaluer[[(p∧q)]]v on évalue d'abord[[p]]v, et selon le résultat obtenu il se peut qu'il ne soit plus nécessaire d'évaluer [[q]]v, ce qui est bon à savoir quand q est une très grande expression.
I On aurait pu donner une variante du théorème dans laquelle on interprète d'abord q au lieu de p, ou encore des variantes avec des critères plus sophistiqués (par exemple: on commence avec l'interprétation de la formule parmi p, q qui est est la plus petite).
Évaluation et interprétation
I En général, une application d'une fonction à des arguments est évaluée.
I Plus spéciquement, une formule propositionnelle est interprétéepar rapport à une aectation.
L'interprétation de p par rapport à v est obtenue par l'évaluation de[[p]]v.
Dénition
Soit p une formule propositionnelle.
I On écrit v |=p si[[p]]v =1, et on dit p estvraie par rapport àv .
I On écrit v 6|=p si [[p]]v =0, et on dit p est fausse par rapport àv .
I On dit que p est satisfaisables'il existe une aectation v telle que v |=p.
I On dit que p est falsiables'il existe une aectation v telle que v 6|=p.
I On écrit |=p si v |=p pour toute aectation v, et on dit que p estvalide(ou une tautologie).
I On écrit 6|=p si v 6|=p pour toute aectation v, et on dit que p estcontradictoire.
Dénition
Soit p une formule propositionnelle.
I On écrit v |=p si[[p]]v =1, et on dit p estvraie par rapport àv .
I On écrit v 6|=p si [[p]]v =0, et on dit p est fausse par rapport àv .
I On dit que p est satisfaisables'il existe une aectation v telle que v |=p.
I On dit que p est falsiables'il existe une aectation v telle que v 6|=p.
I On écrit |=p si v |=p pour toute aectation v, et on dit que p estvalide(ou une tautologie).
I On écrit 6|=p si v 6|=p pour toute aectation v, et on dit que p estcontradictoire.
Dénition
Soit p une formule propositionnelle.
I On écrit v |=p si[[p]]v =1, et on dit p estvraie par rapport àv .
I On écrit v 6|=p si [[p]]v =0, et on dit p est fausse par rapport àv .
I On dit que p est satisfaisables'il existe une aectation v telle que v |=p.
I On dit que p est falsiables'il existe une aectation v telle que v 6|=p.
I On écrit |=p si v |=p pour toute aectation v, et on dit que p estvalide(ou une tautologie).
I On écrit 6|=p si v 6|=p pour toute aectation v, et on dit que p estcontradictoire.
Dénition
Soit p une formule propositionnelle.
I On écrit v |=p si[[p]]v =1, et on dit p estvraie par rapport àv .
I On écrit v 6|=p si [[p]]v =0, et on dit p est fausse par rapport àv .
I On dit que p est satisfaisables'il existe une aectation v telle que v |=p.
I On dit que p est falsiables'il existe une aectation v telle que v 6|=p.
I On écrit |=p si v |=p pour toute aectation v, et on dit que p estvalide(ou une tautologie).
I On écrit 6|=p si v 6|=p pour toute aectation v, et on dit que p estcontradictoire.
Dénition
Soit p une formule propositionnelle.
I On écrit v |=p si[[p]]v =1, et on dit p estvraie par rapport àv .
I On écrit v 6|=p si [[p]]v =0, et on dit p est fausse par rapport àv .
I On dit que p est satisfaisables'il existe une aectation v telle que v |=p.
I On dit que p est falsiables'il existe une aectation v telle que v 6|=p.
I On écrit |=p si v |=p pour toute aectation v, et on dit que p estvalide(ou une tautologie).
I On écrit 6|=p si v 6|=p pour toute aectation v, et on dit que p estcontradictoire.
Dénition
Soit p une formule propositionnelle.
I On écrit v |=p si[[p]]v =1, et on dit p estvraie par rapport àv .
I On écrit v 6|=p si [[p]]v =0, et on dit p est fausse par rapport àv .
I On dit que p est satisfaisables'il existe une aectation v telle que v |=p.
I On dit que p est falsiables'il existe une aectation v telle que v 6|=p.
I On écrit |=p si v |=p pour toute aectation v, et on dit que p estvalide(ou une tautologie).
I On écrit 6|=p si v 6|=p pour toute aectation v, et on dit que p estcontradictoire.
Exemples
La formule(x∨y) est
I satisfaisable (elle est vraie par rapport à[x 7→1])
I falsiable (elle est fausse par rapport à [])
I pas une tautologie
I pas contradictoire
Exemples
La formule(x∨y) est
I satisfaisable (elle est vraie par rapport à[x 7→1])
I falsiable (elle est fausse par rapport à [])
I pas une tautologie
I pas contradictoire
Exemples
La formule(x∨y) est
I satisfaisable (elle est vraie par rapport à[x 7→1])
I falsiable (elle est fausse par rapport à [])
I pas une tautologie
I pas contradictoire
Exemples
La formule(x∨y) est
I satisfaisable (elle est vraie par rapport à[x 7→1])
I falsiable (elle est fausse par rapport à [])
I pas une tautologie
I pas contradictoire
Exemples
I (x∨ ¬x)est une tautologie.
I (x∧ ¬x)est contradictoire.
Exemples
I (x∨ ¬x)est une tautologie.
I (x∧ ¬x)est contradictoire.
Notions de sémantique
Ne pas confondre les notations:
I Une formule est vraieou faussetoujours par rapport à une aectation.
I Une formule peut êtresatisfaisable ou falsiabletout court. Il n'y a pas de satisfaisable par une aectation .
I Une formule peut êtrevalideou contradictoire.
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition :
Une formule p est valide si et seulement si¬p n'est pas satisfaisable.
Démonstration :
On a la chaîne d'équivalences suivante : p est valide
ssi v |=p pour toute aectation v ssi [[p]]v =1 pour toute aectation v ssi [[¬p]]v =0 pour toute aectation v ssi v |=¬p pour aucune aectation v ssi ¬p n'est pas satisfaisable
Proposition : Une formule p est contradictoire si et seulement si
¬p est valide.
(Exercice !)
Décider validité etc.
I Pour savoir si une formule propositionnelle donnée est satisfaisable ou valide il faut donc en principe évaluer la formule sur toutes les aectations possibles.
I Problème : il y a un nombre inni d'aectations possibles car il y a un nombre inni de variables propositionnelles !
I Heureusement, le théorème suivant dit que seulement les variables qui aparaissent dans les formules sont pertinentes.
Décider validité etc.
I Pour savoir si une formule propositionnelle donnée est satisfaisable ou valide il faut donc en principe évaluer la formule sur toutes les aectations possibles.
I Problème : il y a un nombre inni d'aectations possibles car il y a un nombre inni de variables propositionnelles !
I Heureusement, le théorème suivant dit que seulement les variables qui aparaissent dans les formules sont pertinentes.
Décider validité etc.
I Pour savoir si une formule propositionnelle donnée est satisfaisable ou valide il faut donc en principe évaluer la formule sur toutes les aectations possibles.
I Problème : il y a un nombre inni d'aectations possibles car il y a un nombre inni de variables propositionnelles !
I Heureusement, le théorème suivant dit que seulement les variables qui aparaissent dans les formules sont pertinentes.
D'abord une proposition
Proposition : Soit p une formule propositionnelle et v1,v2 des aectations telles que v1(x) =v2(x)pour toute variable x ∈ V(p).
Alors[[p]]v1 = [[p]]v2. Exercice (sera fait en TD) !
Le théorème de coïncidence
Théorème : Une formule p est
1. satisfaisable si et seulement s'il existe une aectation v telle que supp(v)⊆ V(p) et v |=p.
2. valide si et seulement si v |=p pour toute aectation v avec supp(v)⊆ V(p).
Démonstration du premier énoncé
Si v |=p avec supp(v)⊆ V(p) alors p est, par dénition satisfaisable.
Si p est satisfaisable il y a une aectation w telle que w |=p. Nous construisons une nouvelle aectation v comme suit:
v(x) =
w(x) si x ∈ V(p) 0 si x 6∈ V(p)
On a que supp(v)⊆ V(p), et v |=p par la proposition précédente.
Démonstration du premier énoncé
Si v |=p avec supp(v)⊆ V(p) alors p est, par dénition satisfaisable.
Si p est satisfaisable il y a une aectation w telle que w |=p. Nous construisons une nouvelle aectation v comme suit:
v(x) =
w(x) si x ∈ V(p) 0 si x 6∈ V(p)
On a que supp(v)⊆ V(p), et v |=p par la proposition précédente.
Démonstration du premier énoncé
Si v |=p avec supp(v)⊆ V(p) alors p est, par dénition satisfaisable.
Si p est satisfaisable il y a une aectation w telle que w |=p. Nous construisons une nouvelle aectation v comme suit:
v(x) =
w(x) si x ∈ V(p) 0 si x 6∈ V(p)
On a que supp(v)⊆ V(p), et v |=p par la proposition précédente.
Une méthode pour décider satisfaisabilité
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour toute aectation v ∈A. Dès qu'on tombe sur un v tel que[[p]]v =1 on sait que p est satisfaisable, si on n'en trouve pas alors p n'est pas satisfaisable.
Combien d'aectations est-ce qu'il y a tester, si la formule a n variables ?
Une méthode pour décider satisfaisabilité
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour toute aectation v ∈A. Dès qu'on tombe sur un v tel que[[p]]v =1 on sait que p est satisfaisable, si on n'en trouve pas alors p n'est pas satisfaisable.
Combien d'aectations est-ce qu'il y a tester, si la formule a n variables ?
Une méthode pour décider satisfaisabilité
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour toute aectation v ∈A. Dès qu'on tombe sur un v tel que[[p]]v =1 on sait que p est satisfaisable, si on n'en trouve pas alors p n'est pas satisfaisable.
Combien d'aectations est-ce qu'il y a tester, si la formule a n variables ?
Une méthode pour décider satisfaisabilité
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour toute aectation v ∈A. Dès qu'on tombe sur un v tel que[[p]]v =1 on sait que p est satisfaisable, si on n'en trouve pas alors p n'est pas satisfaisable.
Combien d'aectations est-ce qu'il y a tester, si la formule a n variables ?
Décider validité d'une formule
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour tout v ∈A. Dès qu'on tombe sur un v tel que [[p]]v =0 on sait que p n'est pas valide, si on n'en trouve pas alors p est valide.
Décider validité d'une formule
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour tout v ∈A. Dès qu'on tombe sur un v tel que [[p]]v =0 on sait que p n'est pas valide, si on n'en trouve pas alors p est valide.
Décider validité d'une formule
1. Calculer V(p)
2. Engendrer l'ensemble A des aectations v avec supp(v)⊆ V(p)
3. Évaluer [[p]]v pour tout v ∈A. Dès qu'on tombe sur un v tel que [[p]]v =0 on sait que p n'est pas valide, si on n'en trouve pas alors p est valide.
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Tables de vérité
x1 x2 x3 ¬x2 (x1∧x2) (x3∧ ¬x2) ((x1∧x2)∨(x3∧ ¬x2)) (1) (2) (3) (4) (5) (6) (7)
¬(2) (1)∧(2) (3)∧(4) (5)∨(6)
0 0 0 1 0 0 0
1 0 0 1 0 0 0
0 1 0 0 0 0 0
1 1 0 0 1 0 1
0 0 1 1 0 1 1
1 0 1 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 1
Ecacité de notre algorithme
I Si la formule a n variables : 2n aectations possibles à essayer (dans le pire des cas)
I Temps d'exécution exponentiel
I Acceptable seulement pour des petites formules.
I Comment faire pour des formules avec 10.000 variables ? Voir dans quelques semaines !
Ecacité de notre algorithme
I Si la formule a n variables : 2n aectations possibles à essayer (dans le pire des cas)
I Temps d'exécution exponentiel
I Acceptable seulement pour des petites formules.
I Comment faire pour des formules avec 10.000 variables ? Voir dans quelques semaines !
Ecacité de notre algorithme
I Si la formule a n variables : 2n aectations possibles à essayer (dans le pire des cas)
I Temps d'exécution exponentiel
I Acceptable seulement pour des petites formules.
I Comment faire pour des formules avec 10.000 variables ? Voir dans quelques semaines !
Ecacité de notre algorithme
I Si la formule a n variables : 2n aectations possibles à essayer (dans le pire des cas)
I Temps d'exécution exponentiel
I Acceptable seulement pour des petites formules.
I Comment faire pour des formules avec 10.000 variables ? Voir dans quelques semaines !
Raccourcis
I On a le droit d'enchaîner des applications de l'opérateur ∧: (p1∧p2∧. . .∧pn)
ainsi que de l'opérateur∨ :
(p1∨p2∨. . .∨pn)
I On se permet d'omettre la paire de parenthèses qui est autour de la formuleentière.
Raccourcis
I On a le droit d'enchaîner des applications de l'opérateur ∧: (p1∧p2∧. . .∧pn)
ainsi que de l'opérateur∨ :
(p1∨p2∨. . .∨pn)
I On se permet d'omettre la paire de parenthèses qui est autour de la formuleentière.
Récupérer la syntaxe stricte
I Remplacer
(p1∧p2∧p3∧. . .∧pn) par
(p1∧(p2∧(p3. . .∧pn). . .)) et pareil pour les chaînes ∨.
I Mettre une paire de parenthèses extérieures autour de la formule si nécessaire
Récupérer la syntaxe stricte
I Remplacer
(p1∧p2∧p3∧. . .∧pn) par
(p1∧(p2∧(p3. . .∧pn). . .)) et pareil pour les chaînes ∨.
I Mettre une paire de parenthèses extérieures autour de la formule si nécessaire
Exemple
(x1∧x2∧x3)∨y1∨(z1∧z2∧z3∧z4) s'écrit en syntaxe stricte comme
(x1∧(x2∧x3))∨
y1∨(z1∧(z2∧(z3∧z4)))
Exemple
(x1∧x2∧x3)∨y1∨(z1∧z2∧z3∧z4) s'écrit en syntaxe stricte comme
(x1∧(x2∧x3))∨
y1∨(z1∧(z2∧(z3∧z4)))
Syntaxe stricte ou raccourcie ?
I On autorise la syntaxe raccourcie dans les exemples.
I Par contre, quand on vous demande de démontrer une propriété de la syntaxe (comme: |w|(=|w|) pour toute w ∈Form) c'est toujours la syntaxe stricte !
Syntaxe stricte ou raccourcie ?
I On autorise la syntaxe raccourcie dans les exemples.
I Par contre, quand on vous demande de démontrer une propriété de la syntaxe (comme: |w|(=|w|) pour toute w ∈Form) c'est toujours la syntaxe stricte !