Le module sympy.logic Python

sympy logic module

1. Description du module sympy.logic

Le module sympy.logic de SymPy est utilisé pour travailler avec la logique symbolique, notamment pour créer et manipuler des expressions booléennes, simplifier des expressions logiques, évaluer des formules booléennes, etc.
Le module sympy.logic de SymPy offre de nombreuses fonctionnalités pour travailler avec la logique symbolique. Voici une liste des principales possibilités offertes par sympy.logic :

  1. Opérateurs logiques : Le module sympy.logic fournit des opérateurs logiques tels que And, Or, Not, Implies, Equivalent, etc., pour créer des expressions logiques complexes.
  2. Simplification logique : Vous pouvez simplifier des expressions logiques en utilisant la fonction simplify_logic.
  3. Évaluation de vérité : Vous pouvez évaluer des expressions logiques en substituant des valeurs de vérité aux symboles à l'aide de la méthode subs.
  4. Tables de vérité : Vous pouvez générer des tables de véTruthTable.
  5. Résolution d'équations logiques : Le module propose une fonction solve_logic pour résoudre des équations logiques, c'est-à-dire trouver les valeurs de vérité qui satisfont une expression logique donnée.
  6. Manipulation de formules CNF et DNF : Vous pouvez convertir des expressions logiques en formes normales conjonctives (CNF) ou disjonctives (DNF) en utilisant les fonctions to_cnf et to_dnf.
  7. Simplification de clauses : Vous pouvez simplifier des clauses logiques en utilisant la fonction simplify_logic_clauses.
  8. Création de diagrammes de Karnaugh : Bien que le module sympy.logic ne prenne pas en charge la création de diagrammes de Karnaugh directement, vous pouvez extraire des termes simplifiés à partir d'une expression logique et les utiliser pour créer manuellement un diagramme de Karnaugh.
  9. Conversion vers des expressions LaTeX : Vous pouvez convertir des expressions logiques en code LaTeX pour les intégrer dans des documents.
  10. Manipulation avancée de logique symbolique : sympy.logic prend en charge la manipulation avancée de logique symbolique, y compris la substitution conditionnelle, la simplification conditionnelle, etc.

2. Création de variables booléennes

Créer une variable booléenne

Pour créer une variable booléenne, vous pouvez utiliser la fonction symbols et spécifier bool=True comme suit :

Explication:

  1. symbols('A', bool=True) : La fonction symbols est utilisée pour créer un objet symbolique, dans ce cas, nommé "A".
  2. L'argument bool=True : spécifie que "A" doit être une variable booléenne, c'est-à-dire qu'elle ne peut prendre que deux valeurs : True (vrai) ou False (faux).

Accéder à la valeur de la variable booléenne

Vous pouvez accéder à la valeur de la variable booléenne en utilisant la fonction de substitution de sympy subs() en spécifiant la valeur de vérité que vous souhaitez pour la variable :

Exemple complet




3. Opérations sur les variables booléenne avec sympy.logic

Afin de pouvoir combiner entre les variables booléennes, sympy.logic nous offre des opérateurs logique spécifiques: And, Or et Not qui peuvent être utilisés pour créer des expressions logiques en combinant des propositions logiques. Voici une description de chacun de ces opérateurs :

  1. And (ET) : L'opérateur And permet de créer une expression logique qui est vraie (True) si toutes les propositions logiques données sont vraies.
  2. Or (OU) : L'opérateur Or permet de créer une expression logique qui est vraie (True) si au moins l'une des propositions logiques données est vraie.
  3. Not (NON) : L'opérateur Not permet de créer une expression logique qui est vraie (True) si la proposition logique donnée est fausse, et vice versa.

3.1 Syntaxe ( Conjonction Et (And))

Exemple (Conjonction Et ( And)

3.2 Syntaxe de la disjonction OU ( Or)

Exemple ( disjonction OU ( Or) )

3.2 Syntaxe de la négation Non ( Not)

Exemple ( Négation Non (Not))




4. Opérateur implication

4.1 Rappel mathématique

Définition

L'implication logique mathématique est une opération binaire entre deux proposition mathématiques A et B ( variables booléennes A et B) définie par : (Not A) Or B , notée A ⇒ B à lire "A implique B" qui est fausse seulement si la proposition A est vraie et la proposition B est fausse (on dit que le vraie n'implique jamais le faux). L'implication est vraie dans tous les autres cas.

Voici la table de vérité d'une implication :

A B A ⇒ B
Valeur  True  True True
Valeur False False True
Valeur False True True
Valeur True False False

Syntaxe

Exemple

5. Table de vérité d'une expression logique

Pour générer la table de vérité d'une expression logique, sympy.logic nous offre la fonction truth_table()

Exemple (Table de vérité de la conjonction Et (And))

Exemple (table de vérité d'une implication)

6. Simplification d'une expression logique

Le module sympy.logic nous offre aussi la possibilité de simplifier les expressions logiques qui est une opération exremement utile lors des calculs compliqués des prédicats. A cet effet sympy.logic nous offre la fonction spécifique simplify_logic()

Exemple

 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply