Académique Documents
Professionnel Documents
Culture Documents
ExercicesLogPropPredEnsRel Corr Etud24
ExercicesLogPropPredEnsRel Corr Etud24
Logique Prop/Prédicats/
Ensembles/Relations
- CORRECTION –
Exercice 1:
Soient deux ensembles abstraits PERSONNES et PLATS, et la relation repas qui associe à
chaque client d’une cafétéria ce qu’il a pris à manger. La relation repas est ainsi définie de la
façon suivante :
1. ran (repas)
2. dom(repas)
3. repas -1([{pomme}])
4. repas|> {pomme}
5. repas([repas -1([{pomme}])])
6. (repas ; repas -1) – Id(PERSONNES)
7. repas |>>{pomme, pizza, salade}
8. repas {(foued, carotte)}
Exercice 2:
1. Donner une formule équivalente à (x,y) S <| R uniquement en terme d’appartenance
à S et R
2. Donner une formule équivalente à (x,y)R ;Q uniquement en terme d’appartenance à
R et Q puis en utilisant l’anti-restriction (restriction de co-domaine) |>.
Exercice 3:
Soientle relations suivantes
- haswheels : WheeledVehicles N1
haswheels = {(Unicycle,1), (Bicycle,2), (Tricycle ,3)}
- rides : Toms WheeledVehicles
rides = {(Ben,Unicycle), (Ben, Bicycle), (Alice, Bicycle), (Henry, Bicycle)}
On voudrait construire une relation ridesonwheels, qui donne le nombre de roues du véhicule
conduit par chaque élément de Toms.
4. Qu’exprime-t-on avec
2
a. dom(rides |>{Bicycle})
b. # (dom(rides {Bicycle}))
5. Déterminez
a. rides([{Ben, Alice}])
b. rides([{Kate, Alice}])
c. rides−1([{Unicycle}])
6. Exprimez
a. L’ensemble des personnes qui conduisent un bicylce ;
b. Le nombre de personnes qui conduisent un unicycle ;
c. L’ensemble des personnes qui ne consuidsent pas d’unicycle.
Exercice 4:
Soient les ensembles abstraits PERSONNES, VOITURES et, la relation conduit telle que
I. Sur la base de ces instantiations, donnez les resultats des expressions suivantes :
1. Id(MARQUES)
2. conduit ([{salah, foued}])
3. ran(conduit) dom(construit)
4. conduit |>{clio, 207}
5. {foued, asma} <<|conduit
6. conduit {(salah, C5), (asma, 207)}
7. conduit {(salah, C5), (asma, 207)}
8. conduit ; {(salah, C5), (asma, 207)}
9. conduit ο{(salah, C5), (asma, 207)}
10. construit(C5)
3
Exercice 5 :(A modifier : prédicats ---> relations)
Soient les ensembles suivants :
MèrePERSONNE ↔ PERSONNE
EpouxPERSONNE ↔ PERSONNE
Exprimez chacun des énoncés suivants en utilisant des ensembles, des relations et des
fonctions:
Epouse = Epoux-1
4
Enfant PERSONNE → (PERSONNE x PERSONNE)fonction totale
6- Fils :(x, y)Fils signifie y est le père ou la mère dexqui est masculin
Fils = (MASCULIN<| Parent-1)
Fils PERSONNE ↔ PERSONNErelation
FilsMASCULIN↔ PERSONNErelation
7- Fille : (x, y)Fille signifie y est le père ou la mère dexqui est féminin
Fille = (FEMININ<| Parent-1)
Fille = Parent-1- Fils
Fille PERSONNE ↔ PERSONNErelation
FilleFEMININ↔ PERSONNErelation
8- Frère : (x, y)Frére signifie x est le frère dey (x et y ont même père et même mère)
Frère = (MASCULIN < |(Enfant ; Enfant-1)) – Id (MASCULIN)
=((MASCULIN <| Enfant) ; Enfant-1) – Id (MASCULIN)
Frère PERSONNE ↔ PERSONNErelation
FrèreMASCULIN↔ PERSONNErelation
11- Frère1 : (x, y)Frére1 signifie x est le frère dey (x et y ont au moins un parent en
commun)
Frère1 = Demi-frère-paternelDemi-frère-maternelFrère
=(MASCULIN <| Parent-1 ; Parent) – Id (MASCULIN)
=(Fils ; Parent) – Id (MASCULIN)
Frère1 PERSONNE ↔ PERSONNErelation
Frère1MASCULIN↔ PERSONNErelation
12- Sœur : (x, y)Sœur signifie x est lasœur dey (x et y ont même père et même mère)
Sœur = (FEMININ < | (Enfant ; Enfant-1)) – Id (FEMININ)
=((FEMININ<| Enfant) ; Enfant-1) – Id (FEMININ)
5
Sœur PERSONNE ↔ PERSONNErelation
SœurFEMININ↔ PERSONNErelation
15- Sœur1: (x, y)Sœur1 signifie x est laSœur dey (x et y ont au moins un parent en
commun)
Sœur1 = Demi-Sœur-paternelleDemi-Sœur-maternelle Sœur
=(FEMININ<| Parent-1 ; Parent) – Id (FEMININ)
=(Fille ; Parent) – Id (FEMININ)
Sœur1 PERSONNE ↔ PERSONNErelation
Sœur1FEMININ↔ PERSONNErelation
16- FrèreOuSoeur: (x, y)FrèreOuSoeur signifie x est le frère ou lasœur dey (x et y ont
même père et même mère)
FrèreOuSoeur = FrèreSœur
=(Enfant ; Enfant-1) – Id (PERSONNE)
FrèreOuSoeur PERSONNE ↔ PERSONNE relation
17- Demi-FrèreOuSoeur-paternel
18- Demi-FrèreOuSoeur-maternel
19- FrèreOuSoeur1
20- Grand-père-paternel
21- Grand-père-maternel
22- Grand-père
23- Grand-mère-paternel
24- Grand-mère-maternel
25- Grand-mère
26- Grand-parent-paternel
27- Grand-parent-maternel
28- Grand-parent
29- Grand-parents-paternel
6
30- Grand-parents-maternel
31- Grand-parents
32- Tante-paternelle
33- Tante-maternelle
34- Tante
35- Oncle-paternelle
36- Oncle-maternelle
37- Oncle
38- Cousin
39- Cousin-paternel
40- Cousin-maternel
41- Cousine
42- Cousine-paternelle
43- Cousine-maternelle
44- CousinOuCousine
45- Wafa a une fille (peut être plusieurs, et peut être des fils aussi).
(Mère {Wafa})FEMININ≠ou bien
Ran({Wafa} <| Mère)FEMININ≠ou bien
({Wafa} <| Mère); Id (FEMININ)≠ou bien
Card(Ran({Wafa} <| Mère)FEMININ)> 0ou bien
Card({Wafa} <| Mère); Id (FEMININ))> 0
46- Wafa a exactement une fille (mais peut aussi avoir des fils).
Card((Mère {Wafa})FEMININ)= 1ou bien
Card(Ran({Wafa} <| Mère)FEMININ)= 1ou bien
Card({Wafa} <| Mère); Id (FEMININ))= 1
47- Wafa a exactement un enfant, qui est une fille.
Card(Ran({Wafa} <| Mère)FEMININ)= 1etRan({Wafa} <| Mère)FEMININ
(({Wafa} <| (Mère ; Père-1 )) |> {Jamel}) ≠(ou bien ={(Wafa, Jamel)})
Card(({Wafa} <| (Mère ; Père-1)) |> {Jamel} )= 1
49- Wafa a au moins un enfant avec Jamel, et aucun avec personne d’autre
{Wafa} <| (Mère ; Père-1)= {(Wafa, Jamel)} ou bien
-1
(Mère ; Père ){{Wafa}}={Jamel}
7
50- Jamel est le grand père de Wafa
(Jamel, Wafa) (Père ; (Mère Père ))
51- Jamel et Kamel sont des frères (deux personnes sont des frères s’ils ont au moins un
parent en commun)
((Mère Père-1 ) {Jamel}) ((Mère-1 Père-1 ){Kamel}) ≠
-1 ou bien
({{Jamel}} <| (Mère-1 Père-1 )) ;((Mère Père )|>{{Kamel}}) ≠ ou bien
({{Jamel}} <| ((Mère Père ) ;(Mère Père )))|>{{Kamel}} ≠
-1 -1 ou bien
(Jamel, Kamel) ((Mère Père ) ; (Mère Père ))
-1 -1
Exercice 6 :
En associant les énoncés élémentaires « Béchir est étudiant », « Kamel est étudiant »,
Exercice 7 :
On a un système de tuyaux et de vannes. L’état de chaque vanne est représenté par une variable
qui est vrai si la vanne est ouverte, fausse si elle est fermée. Les invariants, correspondant à des
8
règles de sécurité du système, sont :
F1 : si la vanne a est fermée, la vanne b doit être ouverte
F2 : si b est ouverte, soit c soit d est ouverte
F3 : si c est ouverte e est fermée
F4 : si d est ouverte f est ouverte
1. Exprimer les invariants Fi en logique propositionnelle
2. Un état correct du système est un état qui respecte tous les invariants. Exprimer cette
notion (état correct) en logique propositionnelle
3. Démontrer en utilisant la logique propositionnelle, Parmi les états suivants, quels
sont les états corrects et les états incorrects :
a. Toutes les vannes sont fermées
b. Toutes les vannes sont ouvertes
c. Les vannes a et e sont fermées et toutes les autres vannes sont ouvertes
4. Démontrer que la spécification (l’ensemble des invariants) du système est cohérente
(consistante) ?
5. Démontrer que dans un état correct les vannes ne peuvent jamais être ouvertes
simultanément.
Exercice 8 :
Lors d’un semestre un étudiant doit s’inscrire à des cours parmi les cinq cours proposés
C1,…, C5, en respectant les règles suivantes :
Remarque : Pour chacune des questions 2) et 3) indiquer de quelle notion logique il s’agit
(satisfiabilité, validité, conséquence logique, etc …) et écrire la formule correspondante à
démontrer.
Exercice 9 :
9
Lors d’un semestre un étudiant doit s’inscrire à des cours parmi les cinq cours proposés
C1,…, C5, en respectant les règles suivantes :
Exercice 10 :
1. Soit le connecteur défini par : (P Q) =déf (P → Q)
Transformer, en utilisant les lois d’équivalences, chacune des propositions suivantes
en une proposition équivalente ( ) qui contient seulement le connecteur
a- P, b- P Q
a- P P ˅ P P P (P P)ou
P P ˅ Faux P Faux P Vrai (P Vrai)ou
P P ˅ Faux P ˅ Vrai Vrai P (VraiP)
2. Lesquelles parmi les implications suivantes sont vraies. Donner un contre exemple
(deux prédicats P et Q) pour les implications qui ne sont pasvraies
i. ( x (P(x) ˅ Q(x)) ) ( ( x P(x)) ˅ ( x Q(x)))
ii. ( ( x P(x)) ˅ ( x Q(x)) ) ( x (P(x) ˅ Q(x)))
iii. ( x (P(x) Q(x)) ) ( ( x P(x)) ( x Q(x)) )
iv. ( ( x P(x)) ( x Q(x)) ) ( x (P(x) Q(x)) )
i. Faux
Exemple 1 :
On considère le domaine d’objet D = N (l’ensemble des entiers
naturels), P(x) : x est un nombre pair, Q(x) : x est un nombre impair.
10
( x pair(x)) ˅ ( x impair(x))est faux puisque
( x pair(x)) est faux et ( x impair(x)) est faux aussi
Exemple 2 :
D est quelconque , P est quelconque et Q = P
ii. Vrai
iii. Vrai
iv. Faux
Même exemples que i :
( x pair(x)) ( x impair(x)) est vrai puisque, par exemple,
pair(2) impair(3) est vrai mais il n’existe pas un entier n qui
est à la fois pair et impair (c.-à-d. pair(n) impair(n)) donc
x (pair(x) impair(x)) est faux.
Exercice 11 :
Soient les prédicatsU(x) : x est un utilisateur, Co(x) : x est connecté, E(x) : x est un
employé, Cl(x) : x est un client. Soit le domaine d’objets D : l’ensemble de toutes les
personnes. On a enregistré des personnes comme utilisateurs d’un système informatique.
4a. Il y’a seulement deux groupes d’utilisateurs : les employés et les clients
x U(x) E(x) ˅ Cl(x)
4b. Il y’a seulement deux groupes d’utilisateurs qui sont disjoints : les employés et
les clients
11
x U(x) ( E(x) ¬ Cl(x)) ˅ (¬E(x) Cl(x))
x U(x) ¬ (E(x) Cl(x))
x U(x) (¬E(x) Cl(x))
7. Les utilisateurs connectés sont soit tous des employés soit tous des clients
( x . U(x) Co(x) E(x)) ˅ ( x . U(x) Co(x) Cl(x))
7a. Les utilisateurs connectés sont tous des employés ou des clients
( x . U(x) Co(x) E(x) ˅ Cl(x)))
Exercice 12 :
En supposant les prédicats Père(p,q), Mère(p,q)(signifie p est père (mère) de q) et
Féminin(q)(signifie q est féminin) et les constantes Jamel, Kamel et Wafa, exprimez chacun
des énoncés suivants en logiques des prédicats :
1- Wafa a une fille (peut être plusieurs, et peut être des fils aussi).
x Féminin(x) Mère(Wafa, x)
2- Wafa a exactement une fille (mais peut aussi avoir des fils).
x (Féminin(x) Mère(Wafa, x)( y Féminin(y) Mère(Wafa, y) x = y))ou
bien
12
5- Jamel est le grand père de Wafa
x ((Mère(x, Wafa)˅ Père( x, Wafa)) Père(Jamel, x))
7- Wafa n’a pas des frères (elle peut avoir des sœurs)
a. Même père et même mère :
Féminin(x)
Exercice 13:
Soient les prédicats J et G et les constantes a et f définis de la manière suivante :
Exprimer en logique du premier ordre, en utilisant les prédicats et les constantes définis ci-
dessus, les assertions suivantes :
Exercice 14 :
Soient les prédicats suivants :
13
– R(x; y) pour x est en retard à l’examen dans la matière y.
– A(x; y) pour x est admis pour son examen dans la matière y.
– B(x; y) pour x est bon dans la matière y.
– S(x) pour x est sérieux.
– E(x) pour x est étudiant.
– M(x) pour x est une matière.
Exercice 15 :
Soit un vocabulaire possédant les symboles suivants :
Prédicats: Pays (p) signifie p est un pays, Ville (v) signifie v est une ville,
Dans (v, p) signifie la ville v est dans le pays p et Frontière (p, q) signifie le pays p a des
frontières avec le pays q.
14
– M(x) pour x est une matière.
1. Quel que soit la matière, il y a un élève sérieux ou bon dans cette matière.
2. Si un élève est sérieux, alors il sera à l’heure à tous ses examens.
3. Si un élève est bon dans une matière et qu’il n’est pas en retard à l’examen de cette
matière, alors il sera admis pour l’examen.
4. Si un élève est à l’heure à un examen alors, s’il est sérieux, il réussira son examen.
5. Si un élève est en retard à l’examen d’une matière, alors, s’il n’est pas bon dans cette
matière, il ratera l’examen.
6. Il y a un élève qui a réussi tous ses examens.
Exercice 17 (draft):
Soit un vocabulaire possédant les symboles suivants :
Prédicats: Pays (p) signifie p est un pays, Ville (v) signifie v est une ville,
Dans (v, p) signifie la ville v est dans le pays p et Frontière (p, q) signifie le pays p a des
frontières avec le pays q.
15
1. Utilisateurs, l’ensemble des personnes enregistrées comme utilisateurs.
Utilisateurs PERSONNES
6. Il y’a seulement deux groupes d’utilisateurs qui sont disjoints : les employés et les
clients
employés clients = Utilisateurs et employés clients = ou bien
employés Utilisateurs et clients = Utilisateurs – employés
Note : Pour résoudre les questions 3-8, utilisez les ensembles Utilisateurs et Connectés et des
opérations ensemblistes
Exercice 19:
Soient deux ensembles abstraits PERSONNES et PLATS, et la relation repas qui associe à
chaque client d’une cafétéria ce qu’il a pris à manger. La relation repas est ainsi définie de la
façon suivante :
16
C. Formaliser en langage B, sans utiliser de quantificateur existentiel () ou universel
(), les ensembles et les relations correspondant aux définitions suivantes :
(utiliser seulement les opérations ensemblistes et relationnelles)
10. plat_consomme, l’ensemble des plats qui ont été consommés
plat_consomme = ran(repas)
11. client, l’ensemble des personnes qui ont mangé au moins un plat
client = dom(repas)
14. personne_pas_de_pizza, l’ensemble des personnes qui n’ont pas mangé de la pizza
15. client_pas_de_pizza, l’ensemble des personnes qui ont mangé mais qui n’ont pas
mangé de la pizza
16. plats_clients_pizza, l’ensemble des plats mangés par les personnes ayant mangé de
la pizza.
17
17. client_plat_commun, la relation associant, deux à deux, les différentes personnes
ayant mangé au moins un plat semblable
18. pizza_non_salade : toute personne qui a mangé de la pizza, elle n’a pas mangé de
salade.
pizza_non_salade = (repas -1([ {pizza} ])) (repas -1([ {salade} ])) = ou bien
= client_pizza (repas -1([ {salade} ])) =
9. ran (repas)
18
13. repas ([ repas -1([ {pomme} ]) ])
Exercice 20:
On veut modéliser en B un système d’enregistrement de l’attribution des places de passagers
sur un avion.
Exprimer les énoncés suivant en B en utilisant les ensembles, les relations et les
fonctions (ne pas utiliser la logique des prédicats) :
19
Card(réservéPour ([{p}]))
Exercice 21:
On veut modéliser en B un système de gestion des patients et des médicaments. On doit
prescrire des médicaments aux patients. Certains patients sont allergiques pour certains
médicaments. Il faut donc que le système empêche la prescription de ces médicaments à un
patient. On peut prescrire plusieurs médicaments en même temps à un patient. Certains
médicaments sont incompatibles. Il faut donc que le système ne permette pas la prescription
de deux médicaments incompatibles en même temps pour un patient.
Les types concernés ici sont les ensembles suivants:
Partie A :
Formaliser en langage B les relations et les fonctions suivantes (sans utiliser de
quantificateur existentiel () ou universel ()):
20
2) Prescription : la relation qui associe à chaque personne les médicaments qui l’ont été
prescrits
(p, m) Prescription : le médicament m a été prescrit pour la personne p
Prescription : PERSONNES MEDICAMENTS
3) Allergie : la relation qui associe à chaque personne les médicaments pour lesquels elle
est allergique.
(p, m) Allergie : le patient p est allergique pour le médicament m
Allergie : PERSONNES MEDICAMENTS
21
= PERSONNES - Patient_doliprane
= Prescription ([Patient_doliprane])
Patients_médecin_commun =
(A_pour_médecin ; A_pour_médecin -1) – Id(PERSONNES)
Médecin_patient_pas_allergie =
({dom Allergie} <<| A_pour_médecin) -1
22
id(MEDICAMENT) Incompatibilité =
13) Une prescription ne doit pas contenir des médicaments pour lesquels le patient est
allergique
Allergie Prescription =
14) Une prescription ne doit pas contenir des médicaments incompatibles
(Prescription-1 ; Prescription) Incompatibilité =
15) La personne p est allergique au pénicilline seulement
17) Il y’a une seule personne qui est allergique à l’aspirine et au pénicilline
Exercice 22 (extended):
On veut modéliser en B un système de gestion des patients et des médicaments. On doit
prescrire des médicaments aux patients. Certains patients sont allergiques pour certains
médicaments. Il faut donc que le système empêche la prescription de ces médicaments à un
patient. On peut prescrire plusieurs médicaments en même temps à un patient. Certains
médicaments sont incompatibles. Il faut donc que le système ne permette pas la prescription
de deux médicaments incompatibles en même temps pour un patient.
Les types concernés ici sont les ensembles suivants :
Exprimer les énoncés suivant en B en utilisant les ensembles, les relations et les fonctions :
23
(p, m) Allergie : le patient p est allergique pour le médicament m
11) Prescription : la relation qui associe à chaque personne les médicaments qui l’ont été
prescrits
12) Une prescription ne doit pas contenir des médicaments pour lesquels le patient est
allergique
24
25) Médecin_patient_pas_allergie : la relation qui associe à chaque médecin ses patients
qui n’ont pas d’allergie
(m, p) Médecin_patient_pas_allergie : m est le médecin du patient p et p n’est pas
allergique.
Exercice 23:
Soit l’ensemble abstrait EQUIPE et soient les relations J et G et les constantes a et f définis
de la manière suivante :
G irreflexive, asymetrique,…..)
Fr Dom(G) Fr ran(G)
Dom(G)
4. Les équipes qui ont joué et qui n’ont gagné aucun match
Dom(J) - Dom(G)
25
Dom (J – (G U G-1))
11. Les équipes qui ont perdu tous leurs matchs.
PT = Dom(J) – (Dom(G) U Dom (J – (G U G-1)))
Exercice 24 :
A- Quel est le type de chacune des expressions suivantes ?
a- {0, 1} b- 37 c- {{1, 2}, {2, 3}} d- (1, 2) e- ({1}, 1) f- {1, {1}}
haswheels : WheeledVehicles N1
On voudrait construire une relation qui donne le nombre de roues du véhicule conduit par
chaque élément de Toms.
Toms wheeledVehicles N1
Ben Unicycle 1
Kate 2
Alice Bicycle 3
Henr
Tricycle
rides haswheels
26
1. Donnez la relation ridesonwheels à l’aide de rides et haswheels,
e. rides {Bicycle}
4. Qu’exprime-t-on avec
a. dom(rides {Bicycle})
b. # (dom(rides {Bicycle}))
5. Déterminez
a. rides([{Ben, Alice}])
b. rides([{Kate, Alice}])
c. rides−1([{Unicycle}])
6. Exprimez
Exercice 25:
Soient X et Y deux ensembles et R une relation, R X ↔ Y
Calculer le résultat des expressions suivantes :
R ; {}
R o {}
R {}
R >< {} (Produit direct)
R ; Id(X)
R o Id(X)
R Id(X)
R >< Id(X) (Produit direct)
27
28