Nous allons définir maintenant l'objet de notre étude: les
'propositions'
(ou encore les
'assertions'
).
Une proposition concerne en général un
'sujet'
et propose une valeur de vérité (VRAI ou FAUX) concernant une
'propriété'
de ce sujet.
Les sujets, les êtres dont on parle, constitue
'l'univers du discours'
(ou encore
'domaine du discours'
).
Voici quelques exemples:
Le nombre 17 est premier
Le triangle ABC est isocèle.
2 et 5 sont premiers entre eux. (le sujet est ici un couple d'entiers)
Ces propositions sont exprimées ici en langage naturel (en français).
La
traduction formalisée de ces affirmations prendra une forme
mathématique avec des notations utilisées dans la théorie des fonctions
et des opérateurs (voir les paragraphes correspondants).
Ainsi si Prime(x) représente
l'affirmation "Le nombre x est premier", notre premier exemple s'écrira Prime(17).
Cette
première formalisation n'a pour but que de s'affranchir des complexités
et des subtilités des grammaires des langues naturelles.
Tout tel énoncé basique peut donc, en définitive, prendre une forme:
P(x1,x2,...,xn)
pouvant être
énoncé: "Le n-uple (x1,...,xn) possède la propriété P"
Pour
nos exemples, nous prendrons un univers du discours très simple, nous
ayant déjà servi pour présenter la théorie des ensembles et des
relations.
Nous rappelons donc les objets dont nous parlons:
Chaque objet possède les propriétés suivantes:
Un forme (cercle, carré, triangle)
Une couleur (rouge, bleu, vert, jaune, orange, marron, violet)
Un nom qui est une chaîne de caractères, ici réduite en pratique à un seul caractère ("x")
Notons
ici que tous les objets ont des noms différents, ce qui nous autorise à
prendre le nom comme 'identifiant'. Dans d'autres exemples il n'en sera
pas forcément ainsi
Voici donc quelques exemples de propositions concernant ces objets:
L'objet de nom "b" (objet b) est de couleur rouge
L'objet de nom "a" (objet a) a une forme de cercle
Traductions formalisées possibles de ces assertions:
Si x désigne un objet quelconque de notre univers, nous désignons par Couleur(x) sa couleur, et par Forme(x) sa forme.
Introduisons encore des 'constantes' de couleurs ("Rouge", "Bleu", etc...)
Introduisons également des constantes de formes ("Cercle", "Triangle", etc...)
Une traduction formalisée pourrait donc être:
Couleur(b)="Rouge"
Forme(a)="Cercle"
Ici,
on utilise à la fois une notation fonctionnelle et une relation
binaire (l'égalité). Pour une forme plus standardisée, on pourrait
utiliser la notation fonctionnelle:
Est_de_couleur(x,C) pour exprimé que l'objet x est de couleur C.
Notre formalisation standardisée
deviendrait alors:
Est_de_couleur(b,"Rouge")
Est_de_forme(a,"Cercle")
L'une
ou l'autre de ces formes standardisée pourrait être lue et mémorisée
par un ordinateur, mais il n'en va pas de même pour les formes
utilisant le langage naturel.
L'objet de nom "a" est un cercle
a est circulaire
a a une forme de cercle
a est en forme de cercle
a est coloré en rouge
sont
des assertions qui ne posent aucun problème à un humain, mais éduquer
un ordinateur à reconnaître toutes ces phrases et à leur donner du sens est déjà une tâche fort complexe.
Nous
n'entrerons pas trop, pour le moment, dans le détail de la valeur de
vérité de nos assertions. Le lecteur daltonien pourra se poser des
questions quand à l'évidence de certaines propositions. Le lecteur
scrupuleux, ira peut être mesurer les pixels de la forme de l'objet v
pour constater que ce n'est pas effectivement un carré ...mais ces
problèmes existent. On peut parfois les résoudre en introduisant des
contraintes (par exemple appeler "Rouge" une valeur de couleur
RGB=(n,0,0) avec n entre 128 et 255. Dans ce cas c'est
l'ordinateur qui décide ce qui est rouge et ce qui ne l'est pas, et non
pas l'impression rétinienne du lecteur.
La valeur de phrases en langage naturel en tant que propositions logiques est toujours délicate.
Ainsi une affirmation comme : "Il fait chaud!" a une valeur de vérité qui dépend de paramètres à la fois
'relatifs'
et
'subjectifs'.
Une telle affirmation doit toujours être relativisée pour un lieu et
une saison, telle personne trouve qu'il fait chaud, mais c'est
peut-être simplement qu'elle a chaud et croit que tout un chacun
éprouve la même sensation.
Des affirmations générales du type
"Les français sont grincheux", "Les italiens sont bavards", demandent à
être précisées avant de pouvoir leur attribuer une valeur de vérité.
S'agit-il de dire que tous les français (sans exception) sont
grincheux, s'agit-il de comparaison par rapport à une moyenne ? Dans le
second cas comment est établie cette moyenne, quel est le protocole de
vérification, quelles sont les normes? On voit qu'on peut
discourir longtemps sur tous les lieux communs et leur valeur de vérité.
Le
langage naturel est donc peu adapté au raisonnement, tant il faut de
précautions pour définir le sens exact des affirmations. Les
mathématiques constituent un domaine d'exception où des phrases telles
que "Le triangle ABC est isocèle" ont une valeur de proposition logique
indiscutable.
Le problème de la
vérité, quand on sort du cadre strict des mathématiques, devient un
problème philosophique complexe sur lequel on a toujours écrit et on
écrira toujours. Nous renvoyons le lecteur intéressé à des ouvrages
spécialisés, ce n'est pas ici notre propos.
Café Python
Les variables pouvant contenir des valeurs logiques s'appellent des 'booléens'.
La valeur 'vrai' en python correspond à la constante 'True', et la valeur 'faux' à la constante 'False'.