Université de Sherbrooke
Département d’informatique
Logique et mathématiques discrètes
MAT115
Notes de cours
Version du 2015-09-18
Marc Frappier, Ph.D.
professeur
UNIVERSITÉ DE
SHERBROOKE
Contents
1 Introduction à la logique propositionnelle et la logique du premier ordre 1
1.1 Logiquepropositionnelle.................................. 2
1.1.1 Syntaxe ....................................... 2
1.1.2 Tables de vérité des connecteurs logiques . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Expression de faits en logique propositionnelle . . . . . . . . . . . . . . . . . . 5
1.1.4 Tautologies ..................................... 8
1.1.5 Preuve en logique propositionnelle . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.6 La déduction naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.7 Cohérence...................................... 15
1.1.8 Formesnormales .................................. 17
1.2 Logiquedupremierordre ................................. 18
1.2.1 Syntaxe ....................................... 18
1.2.2 Lois ......................................... 21
1.2.3 Règlesdinférence.................................. 23
2 Les mathématiques discrètes 24
2.1 Conventions......................................... 24
2.2 La logique du premier ordre en B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3 Lesensembles........................................ 24
i
Chapter 1
Introduction à la logique propositionnelle
et la logique du premier ordre
La logique est au centre du développement des sciences et du bon fonctionnement de la société en
général. L’humain est capable de raisonnement, c’est-à-dire de déduire des faits ou de nouvelles
connaissances, à partir d’autres faits. On qualifie d’esprit “logique” une personne capable d’agir
avec cohérence et rigueur, de raisonner correctement. Les mathématiques constituent le langage
commun des sciences, et la logique est le fondement des mathématiques. L’informatique a été
fondée dans les années 30 en tenant de résoudre un problème fondamental de la logique, proposé
par David Hilbert et Wilhelm Ackermann en 1928, soit de déterminer si une formule quelconque est
un théorème (Entscheidungsproblem en allemand). Ce problème a été résolu par Alonzo Church et
Alan Turing, de manière indépendante, en 1935 et 1936. Ils ont démontré que cela était impossible
en général. Ces travaux ont nécessité le développement de la notion d’algorithme et d’ordinateur,
sous la forme de la machine de Turing1(par Turing) et du lambda calcul (par Church et Kleene).
La logique date d’Aristote, mais sa version moderne date de la fin du 19ième au début du 20ième
siècle. Ses pionniers furent Boole, De Morgan, Frege, Peano, Peirce, Whitehead, Russell, Hilbert,
Ackermann, Gödel, ainsi que plusieurs autres.
La logique permet principalement deux choses:
1. exprimer de manière formelle des faits;
2. duire de manière formelle de nouveaux faits.
L’adjectif formel utilisé ici signifie “sans ambiguïté”, “avec rigueur”, “objectif (par opposition à “sub-
jectif”), “calculable”, “analysable par une machine”. Les faits sont exprimés comme des formules. Un
ensemble de formules logiques peut être analysé pour déterminer sa cohérence, c’est-à-dire l’absence
de contradiction entre les formules. Les règles utilisées pour faire de la déduction peuvent aussi être
analysées pour déterminer leur cohérence, c’est-à-dire l’impossibilité de déduire une formule fausse
1Alan Turing est devenu “célèbre” en 2015 suite au très populaire film The imitation game qui raconte le développe-
ment par Alan Turing d’une machine pouvant déchiffrer le code Enigma utilisé par les allemands durant la deuxième
guerre mondiale, et qui se mérita l’oscar du meilleur scénario adapté. L’équivalent du prix Nobel en informa-
tique, le ACM Turing Award, est nommé en l’honneur d’Alan Turing, qui est souvent considéré comme le “père”
de l’informatique. Il est décerné chaque année depuis 1966 à un informaticien ayant effectué une contribution ex-
ceptionnelle à l’informatique. Deux canadiens se sont mérités ce prix: Stephen Arthur Cook (né aux États-Unis,
mais professeur à l’Université de Toronto depuis 1970) en 1982 pour ses travaux en théorie de la complexité des
algorithmes, et William Morton Kahan en 1986 pour ses travaux en analyse numérique. Google offre maintenant un
prix de 1 000 000 $ au récipiendaire du prix Alan Turing.
1
à partir de formules considérées comme vraies. Une preuve, au sens de la logique formelle, est une
suite de déductions.
Les formules de logique sont énoncées à l’aide d’une syntaxe formelle (c’est-à-dire précise et sans
ambiguïté). Plusieurs types de logiques ont été proposées. La logique propositionnelle constitue
la base de tous les types de logique. Une formule est une représentation formelle d’un fait, d’une
connaissance à propos d’un concept d’intérêt pour l’humain. La première compétence que vous
devrez acquérir sera de représenter des faits, des connaissances, sous forme de formules logiques.
La deuxième sera de raisonner sur ces formules. Le verbe “représenter” a une importance capitale:
une formule n’est rien d’autre qu’une suite de symboles. Il faut aussi associer ces symboles à des
objets, des concepts, des faits du “monde” représenté par la formule. Le “monde” dénote ce dont la
formule traite, sur quoi porte la formule. On appelle interprétation le lien entre les symboles d’une
formule et les objets du monde qu’ils représentent La beauté de la logique est que le raisonnement
et les calculs effectués sont indépendants du “monde” en question.
La logique est utilisée dans tous les domaines de l’informatique. Tous les langages de program-
mation utilisent les connecteurs (c’est-à-dire les opérateurs) de la logique propositionnelle. Les
méthodes les plus avancées pour déterminer la correction d’un logiciel (c’est-à-dire vérifier qu’un
logiciel fait bien ce qu’il est supposé faire, vérifier qu’un logiciel est correct, vérifier qu’un logiciel
ne contient pas de faute (bug)) sont fondées sur la logique. Les logiciels contrôlent maintenant une
foule d’objets comme des trains, des avions, des autos, des centrales nucléaires, des stimulateurs
cardiaques, des appareils de radiologie. Une erreur dans ces logiciels peut entraîner des conséquences
dramatiques pour les humains et l’environnement. L’étude de leur correction est primordiale. Cela
ne serait possible sans la logique. Les opérations les plus élémentaires d’un ordinateur (opéra-
tions arithmétiques) sont exprimées en logique propositionnelle. Le fonctionnement de base d’un
ordinateur est fondé sur l’algèbre de Boole, qui est essentiellement la même chose que la logique
propositionnelle. Une algèbre permet de faire des calculs, c’est-à-dire appliquer des opérateurs à
des opérandes. La logique permet aussi de faire des calculs, comme déterminer si une formule est
vrai ou fausse pour une interprétation donnée, mais aussi de déduire de nouvelles formules.
1.1 Logique propositionnelle
1.1.1 Syntaxe
Une formule de la logique propositionnelle est construite à l’aide de connecteurs logiques, de vari-
ables propositionnelles et des constantes vrai (parfois représentée par “1” ou “>”) et faux (parfois
représentée par “0” ou “”). Les connecteurs logiques usuels sont les suivants:
¬ : la gation,
: la conjonction, aussi appelé le “et” logique,
: la disjonction, aussi appelé le “ou” logique,
: la disjonction exclusive, aussi appelé le “ou exlusif”,
: l’implication, aussi noté “ dans certains textes et logiciels,
: l’implication inverse, aussi noté “ dans certains textes et logiciels,
: l’équivalence, aussi noté “ dans certains textes et logiciels.
2
Une variable propositionnelle peut prendre la valeur vrai ou la valeur faux. Dans les exemples et
définitions, nous utiliserons, par convention, Xpour dénoter une variable propositionnelle (possi-
blement indexée par un nombre, comme X0, X1, . . ., si plusieurs variables sont nécessaires). Nous
utiliserons A,B,C, . . . pour désigner des formules propositionnelles.
Définition 1 Une formule propositionnelle est une suite de symboles construite seulement à partir
des règles suivantes:
1. vrai et faux sont des formules propositionnelles;
2. si Xest une variable propositionnelle, alors Xest une formule propositionnelle;
3. si Aest une formule propositionnelle, alors ¬A est une formule propositionnelle;
4. si Aet Bsont des formules propositionnelles, alors
A ∧ B
A ∨ B
A ⊕ B
A ⇒ B
A ⇐ B
A ⇔ B
sont des formules propositionnelles;
5. si Aest une formule propositionnelle, alors (A)est une formule propositionnelle.
Les parenthèses servent à définir un ordre dans l’évaluation des connecteurs logiques, exactement
comme dans les expressions arithmétiques.
Remarque 1 Dans le cadre du cours, par souci de lisibilité, les connecteurs ¬,,sont parenthésés
selon les priorités suivantes, de la plus forte à la plus faible; les opérateurs sur une même ligne ont
la même priorité:
1. ¬,
2. ,
3. ,
4. ,
5. .
Attention : Il n’existe pas de convention universelle pour la priorité en logique. Elle peut varier
d’un livre à l’autre et d’un outil à l’autre. Il vous incombe de prendre connaissance de la priorité
utilisée selon le livre ou l’outil.
3
1 / 30 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 !