Logique :
Introduction :
Étude de la logique.
Définition : Formalisation du raisonnement mathématique.
Historiquement, on attribue les débuts de la logique à Aristote (syllogismes).
Puis Leibniz.
Au début du Xxème siècle, il y a une refondation des mathématiques.
Boole, Hilbert, de Morgan, Russel.
1950 : Connexion entre la logique et l'informatique.
I) Calcul propositionnel :
1) Définition :
Une proposition est une phrase non ambigüe à laquelle on peut donner une valeur de vérité.
« 2 est pair »
«
est rationnel »
« Il fait beau »
Une proposition peut dépendre de paramètres.
x
, «
sin x1
2
»
Définition : Une variable propositionnelle est une variable qui peut être remplacée par une
proposition.
Notation :
p, q …
=> Calcul sur les propositions.
Exemple de calcul : p et (q ou r)
2) Syntaxe :
a) Connecteurs usuels :
Connecteur logique Nom Notations
Négation
Conjonction
Ou exclusif
Implication
Équivalence
Non et
Non ou
non
et
nor
=>
<=>
n and
nor
non p,
p
,
¬p
p+q,p and q,
pq
, p.q
p xor q, p (+) q
p => q
p <=> q
non (p et q)
non (p ou q)
L'arité d'un connecteur : nombre de ses paramètres.
Ou, et : connecteurs binaires.
Non : connecteur unaire.
=> ternaire.
Définition : Une proposition logique (formule) est une formule syntaxiquement correcte
construite à l'aide de variables propositionnelles et de connecteurs.
Remarque : La parenthèsage est important.
Par ordre décroissant :
¬
,
,
, => , <=>
Exemple :
n'est pas ambigüe.
V : ensemble des variables propositionnelles.
P : ensemble des propositions.
Définition : Un littéral est soit une variable propositionnelle, soit la négation d'une variable
propositionnelle.
b) En Ocaml :
Définition : Une proposition logique est :
Une variable propositionnelle.
La négation d'une proposition.
La conjonction de deux propositions.
La disjonction de 2 propositions.
2 constantes V et F.
En informatique, on dispose de
V={ p1,... , pn}
On définit en Caml, un type proposition.
On utilise un type récursif.
Type proposition =
Var of char
| Non of propositionnel
| Et of proposition*proposition
| Ou of proposition*proposition
| V
| F
;;
Exemple :
p
q∨r
let p1 = Ou(Et(Var 'p', Non(Var 'q')),Var 'r');;
II) Sémantique des propositions logiques :
1) Évaluation booléenne :
Définition : Un booléen est un élément d'un ensemble de cardinal 2.
On note B l'ensemble des booléens.
Définition : Une distribution de vérité (ou environnement) est une application de V dans B.
Exemple : V = {p,q,r}
:
VB={0,1}
p1
q0
r1
Si
Card V =n
, il y a
2n
distributions de vérité sur V.
On les présentent dans une table de vérité. V = {p,q,r}
P Q R
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
En Caml,
est représenté par un tableau de booléens.
est défini sur V.
Problème : Prolonger
à P l'ensemble des propositions logiques => on effectue un prolongement
par induction.
Définition de
:PB
:
Si P est une valeur propositionnelle :
P= P
Si P est la négation d'une proposition Q.
 P=1  Q
Si P est une conjonction de deux propositions Q et R.
P= Q×  R
.
Si P est une disjonction de deux propositions Q et R.
P=   Q   R   Q R
Justification de la terminaison : Nombre strictement décroissant de connecteurs.
Connecteurs usuels :
p q
p
pq
pq
p => q P <=> q p xor q p nand q p nor q
1 1 0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1 1 0
0 1 1 0 1 1 0 1 1 0
0 0 1 0 0 1 1 0 1 1
2) Propositions logiquement équivalentes :
Définition : Deux propositions logiques P et Q sont logiquement équivalentes ssi, pour toute
distribution de vérité
,
 P=  Q
, et on note :
PQ
.
On distingue
PQ
et
PQ
(le premier est une relation, le second un connecteur).
Exemple :
PQ
PQ
Problème : Pour construire P, combine de connecteurs ?
On utilise un système complet
{¬ ,,∨ }
(ou parfois
{¬ ,,,⇒ }
).
Autres systèmes complet :
{¬ ,∧ }
, le
est inutile, en effet
PQ
P
Q
.
Ou encore {nand}.
Démontrons que
{¬ ,∧ }
est un système complet :
Raisonnement par induction :
Hypothèse d'induction : Tout proposition logique s'exprime en utilisant uniquement
¬
et
.
Cas de base : Une valeur propositionnelle
pp
.
Sinon, on considère
PP
.
Si P est une négation, alors
P=
Q
. Par hypothèse d'induction,
QQ
, Q* n'utilisant que
¬ et
, alors
PQ
.
Si P est une conjonction :
P=QR
.
Or
{
QQ
RR
, alors
PQR
Si P est une disjonction :
P=QR
.
{
QQ
RR
, alors
PQR
.
Justification de la terminaison : Nombre de connecteurs de Q et R < nombre de connecteurs de P.
En Caml :
type proposition = Var | Et | Ou
Définir une fonction supprime_ou :
let rec supprime_ou = function
Var 'p' Var 'p'
| Non p Non (supprime_ou p)
3) Tautologie :
Définition : Une proposition logique est une tautologie si elle est vraie pour tout distribution
de vérité.
∀  ,  P=1
.
Une antilogie est la négation d'une tautologie.
Définition : Une proposition est P est satisfiable s'il existe une distribution de vérité pour
laquelle elle est vraie.
Problème : Il s'agit d'un problème NP-complet, c'est à dire une complexité exponentielle.
Si Card V = n =>
2n
lignes de la table de vérité à vérifier.
Exemple : fonction satisfiable en Caml.
Il s'agit de générer tous les tableaux de booléens.
4) Fonctions booléennes :
Définition :
V={ p1,... , pn}
, P une proposition logique définie sur V.
La fonction booléenne de P est l'application :
f|P:
{0,1}n {0,1}
  p1,... ,  pn  P
Exemple :
P=pq∧
r
P fP correspond au fait de construire la table de vérité de P.
Problème : Réciproque.
On considère
f:{0,1}n {0,1}
P tel que
f=f|P
, f fonction boléenne de P ?
Théorème : L'application
PF {0,1}n,{0,1}
Qf|Q
est surjective.
III) Formes disjonctives et conjonctives :
1) Vocabulaire :
P=P1P2...Pn
est une disjonction.
P=P1P2...Pn
est une conjonction.
Un littéral est une variable propositionnelle ou sa négation.
Un mintermes est une conjonction de littéraux dans laquelle figure une et une seule fois
chaque variable propositionnelle.
Un maxterme est une disjonction de littéraux dans laquelle figure une et une seule fois
chaque variable propositionnelle.
Exemples : littéraux : q,
r
.Minterme :
pq
r
Maxterme :
p
qr
Définition : La forme normale disjonctive (FND) d'une proposition P est une proposition
logiquement équivalente et construite comme disjonction de mintermes.
La forme normale conjonctive (FNC) de P est une conjonction de maxtermes logiquement
équivalente à P.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !