Soit p une proposition logique, la négation de p se notera ¬p, ou ~p, ou encore p[1].
Dans la mesure du possible, j'utiliserai la notation p; mais dans le cas par exemple d'une double négation, j'utiliserai la notation ¬¬p (simplement parce que je n'ai pas trouvé le moyen de surligner deux fois un caractère...).
p = vrai <=> p = faux
p = faux <=> p = vrai
| p | p |
|---|---|
| 0 | 1 |
| 0 | 1 |
| 1 | 0 |
| 1 | 0 |
les valeurs sont purement et simplement inversées; nous pouvons parler de négation
Soit la proposition (instruction) suivante:
if (a>b) printf("%d", a); else a++;
La négation ("!" en langage c) de la proposition donne:
if (!(a>b)) printf("%d",a); a++;
Remarques:
Une double négation s'annule: ¬¬p = p.
Exemple: "if (!(!(a>b))) printf("%d",a); a++;" est égal à "if (a>b)printf("%d",a); a++;"
L'équivalent en électricité de l'opérateur logique de négation est l'inverseur.
Notation américaine:![]()
Notation européenne:![]()
L'opérateur de négation porte sur une seule proposition, même si cette dernière peut être composée d'opérations, ou être très complexe.
Soit p et q des propositions logiques, leur conjonction se notera p ^ q, ou p . q (attention: il ne s'agit pas ici d'algèbre traditionnel).
p . q = vrai <=> p = vrai ET q = vrai
| p | q | p . q |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Nous pouvons donc en déduire que le zéro (valeur faux) est absorbant, comme en multiplication dans l'algèbre traditionnel.
if (a>10 && a<20) printf("%d", a);
Les deux conditions doivent être réunies pour que l'instruction soit exécutée; si une seule (ou aucune des deux) condition est réunie, l'instruction n'est pas exécutée.
En langage c ce type d'opérateur est figuré par la suite de caractères suivante: &&.
Dans notre exemple, les valeurs de 11 à 19 réunissent les conditions pour l'impression vers le fichier de sortie standard (l'écran).
Soit t une tautologie et i une ineptie:
| p | q | r | p . q | (p . q).r | q . r | p.(q . r) |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |

Notation américaine:![]()
Notation européenne:![]()
Soit p et q des propositions logiques, le OU inclusif se notera p + qou p v q.
p + q = vrai si p ou q = vrai.
p + q = faux <=> p et q = faux.
| p | q | p + q |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Nous pouvons donc en déduire que le un (valeur vrai) est absorbant.
if ((a>5) || (b>10)) instruction1;
else instruction2;
a = 6 et b = 11 => instruction1
a = 6 et b = 6 => instruction1
a = 4 et b = 6 => instruction2
a = 4 et b = 11 => instruction1
Soit 1 une tautologie et 0 une ineptie:

Notation américaine:![]()
Notation européenne:![]()
Soit p et q des propositions logiques, le OU exclusif se notera p
qou p v q.
Nous pouvons appeler XOR ou exclusif car il exclut le AND
p
q = p. q + p . q
p
q = (p. q) . pq
| p | q | p |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Soit 1 une tautologie et 0 une ineptie:
Notation américaine:![]()
Notation européenne:![]()
Soit p et q des propositions logiques, l'équivalence se notera p => q.
L'expression "p implique q" revient à nier l'antécédent et ajouter le conséquent. La proposition "p" est l'antécédent, et la proposition "q" est le conséquent. p => q ⇔ p + q
Mais keskidit?
Nous pouvons dire que "p implique q" est faux seulement si "p" est vrai et que "q" est faux.
| p | q | p => q | p+q |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Soit p et q des propositions logiques, l'équivalence se notera p ° q ou p ⇔ q.
| p | q | p <=> q |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
p = "ce triangle est équilatéral"
q = "ce triangle a trois côtés égaux"
p <=> q
(p => q) . (q => p) ⇔(p+ q) . (q+ q)
⇔p. q+ p. p + q . q+ q . p
⇔p. q+ q . p ⇔(p <=> q) (cf. propriété1)
cqfd: (p => q) . (q => p) ⇔ (p <=> q)
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
52 mots clés dont 40 définis manuellement (plus d'information...).
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)