5- Logique propositionnelle
I. Syntaxe
Définition : formule propositionnelle
On se donne
- (cas de base)
, pour ; - (induction) si
et sont des formules : , la négation de ; , la conjonction ; , la disjonction.
Définition : connecteurs supplémentaires
On utilise parfois des connecteurs logiques supplémentaires :
ou pour l'équivalence ; ou pour l'implication ; , ou , pour le "faux" ; , ou , pour le "vrai".
Ces symboles pourront être exprimés à partir des symboles de base.
Par exemple,
Définition : hauteur et taille
On définit :
- la taille d'une formule comme le nombre de symboles nécessaires pour l'écrire ;
- la hauteur d'une formule comme la hauteur de l'arbre correspondant.
Par exemple,
II. Sémantique
On va maintenant donner un sens à nos formules.
Définition : valuation
On appelle valuation une application
Définition : valeur de vérité
Pour
- pour
, ; - si
, sont des formules avec une valeur de vérité et , alors : avec le "non", le "et" et le "ou" usuels.
Si
Définition : satisfiabilité
On dit qu'une formule
- satisfiable si elle a un modèle ;
- une tautologie si pour toute valuation
, est un modèle de .
Définition : équivalence de deux formules
Deux formules
L'outil ci-dessous calcule la table de vérité d'une formule (et son arbre, avec sa taille et sa hauteur). Avec une deuxième formule, il vérifie si elles sont équivalentes :
| a | b | c | (a ∨ b) ∧ (¬a ∨ c) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Taille : 8, hauteur : 3
f est satisfiable (4 modèles sur 8 valuations), mais pas une tautologie.
III. Simplification de formules
Grâce à la notion d'équivalence, on peut simplifier ou reformuler les formules, à l'aide d'opérations.
Propriétés : opérations sur les formules
- Distributivité :
et sont distributives l'une sur l'autre : - Tiers exclu :
(c'est une tautologie). - Lois de De Morgan :
Propriétés : réécriture de l'implication et de l'équivalence
On peut réécrire l'implication et l'équivalence avec les autres opérateurs :
Simplifiez au maximum la formule suivante :
Vérification avec les tables de vérité :
| a | b | ¬(¬a ∨ ¬b) ∨ (b ∧ ¬a) | b |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Taille : 11, hauteur : 4
f est satisfiable (2 modèles sur 4 valuations), mais pas une tautologie.
f et g sont équivalentes : f ≡ g.
IV. Conséquence logique
Définition : modèle d'un ensemble de formules
Soit
Définition : conséquence logique d'un ensemble de formules
Soit
On note alors
Par exemple,
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
V. Formes normales
Définition : littéral
Un littéral est soit une variable, soit la négation d'une variable.
Définition : clause
Une clause conjonctive (resp. disjonctive) est une conjonction (resp. disjonction) de littéraux.
Conjonction = "et", disjonction = "ou".
Définition : formes normales
Une formule
- en forme normale conjonctive si c'est une conjonction de clauses disjonctives, c'est-à-dire qu'elle est de la forme :
- en forme normale disjonctive si c'est une disjonction de clauses conjonctives, c'est-à-dire qu'elle est de la forme :
La forme la plus courante est la forme normale conjonctive, et donc on dit parfois simplement "clause" au lieu de "clause disjonctive".
Propriété : lien avec la table de vérité
Une formule est en forme normale disjonctive complète si chaque clause contient toutes les variables.
Dans ce cas, pour remplir la table de vérité, il suffit de mettre un "1" sur la ligne correspondant à chaque clause, et un "0" sur les autres.
Par exemple,
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
VI. Le problème SAT
On a plusieurs problèmes très célèbres en informatique : la famille des problèmes SAT.
Définition : problèmes SAT
- SAT : étant donné une formule, est-elle satisfiable ?
- CNF-SAT : étant donné une formule en forme normale conjonctive, est-elle satisfiable ?
- k-SAT : étant donné une formule en forme normale conjonctive avec au plus
littéraux par clause, est-elle satisfiable ?
Exemples d'instances de ces problèmes :
- SAT :
est-elle satisfiable ? - 2-SAT :
est-elle satisfiable ?
Théorème (hors programme)
3-SAT est NP-complet. Il en découle que SAT, CNF-SAT, et k-SAT pour
Globalement, un problème NP-complet est un problème qui ne peut a priori pas être résolu en temps polynomial : c'est donc un problème (très) difficile. Cela vaut si
Le problème SAT est important car il est assez facile d'"encoder" plein d'autres problèmes avec, et de montrer que ceux-ci sont également NP-complets.
Exercices
Exercice 1
Montrer que
Exercice 2
Mettre la formule
FNC :
Exercice 3
A-t-on
- Oui : si
est vraie, est fausse, et comme est vraie, est vraie. - Non : la valuation
, rend vraies et , mais pas .
| a | b | (a → b) ∧ (b → a) | (a ∧ b) ∨ (¬a ∧ ¬b) |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Taille : 7, hauteur : 2
f est satisfiable (2 modèles sur 4 valuations), mais pas une tautologie.
f et g sont équivalentes : f ≡ g.