Cours 2 Logique de Prédicats Vocabulaire- Syntaxe - Sémantique Kaninda Musumbu 1 Département d Informatique Université de Bordeaux Notes du cours et TD : http://dept-info.labri.u-bordeaux.fr/ musumbu/expert
Introduction Remarque En logique des propositions on considère une proposition comme un tout, représenté par une variable, dont on ne détaille pas le contenu. On ne s intéresse qu à sa vérité ou à sa fausseté. En logique des prédicats, ou logique du premier ordre, on regarde les propositions de plus près. Exemple : Charles est grand est grand est un prédicat (ce qu on dit à propos du sujet) Qu on réécrit sous une forme qui met en évidence le prédicat: estgrand(charles)
Introduction Notation Suivant ce modèle, la logique des prédicats représente les propositions élémentaires (atomiques) sous la forme : nom-prédicat(objet1,objet2,...) où objet1,objet2,...) sont les objets sur lesquels porte le prédicat (le sujet et ses éventuels complément)
Motivation Définition Comment exprimer les phrases suivantes "No all birds fly" est équivalente à "Some birds don t fly". "Not all integers are even" equiv est équivalente à "Some integers are not even". "Not all cars are expensive" equiv "Some cars are not expensive". Remarque Logique propositionnelle pas suffisament expressive (puissante) pour représenter tous types d assertions telle que " ". x 1
Extension de la logique propositionnnelle Objectif On veut parler des individus et leur donner un nom. On veut parler de propriétés de ces individus et des relations entre eux. Remarques Les variables représentent non pas des propositions mes des objets sur lesquels portent les prédicats. L introduction de variables permet de formuler deux types d énoncés: énoncés universels Si X est une girafe alors X est un animal énoncés existentiels Il y a au moins un nombre entier N tel que N > 3etN N < 30.
Syntaxe de la logique de Prédicat Langage Pour écrire des formules de logique des prédicats, on a besoin d un vocabulaire constantes (a, b, c,...) variables (x,y,z,...) fonctions (f,g,h,...) prédicats (p,q,r,...) quantificateurs (, ):
Grammaire de la logique de Prédicat terme = constante variable fonction"("terme,...,terme")" atome = prédicat"("terme,...,terme")" formule = atome variable formule variable formule formule formule connecteur formule connecteur =
Priorité des connecteurs Ordre de priorité (, ) >, > >, > > Exemples:Parenthéser ces formules 1 a b q 2 x b q 3 x E y E r(x) w(y, x) g(x) 4 x p(x) yq(y, x)
Définition de Prédicat Prédicat: Tout énoncé exprime une propriété d un ensemble ou d une collection d ensemble. Soient E 1,..., E n, des ensembles d Univers on appelle prédicat ou relation toute application de E 1 E 2... E n dans V. Donc E 1,..., E n, la donnée de G ( n-uplets (x 1, x 2,..., x n )) telle que (x 1, x 2,..., x n ) G P(x 1,..., x n ) arité nombre d argument associé à chaque prédicat.
Exemples "La robe de Monica est blue", "Le ciel est blue", "La couverture de ce livre est blue", est blue", est un prédicat, on lui associe un nom est_blue ou Blue ou B. Ainsi une phrase qui affirme qu un objet est blue s ecrit: "B(x)", où x représente un objet quelconque. B(x) se lit "x est blue".
Calcul de Prédicats Objectif Définir quels sont les énoncés qui sont valides et quels sont ceux qui ne le sont pas. Arité Chaque symbole de prédicat a une arité qui détermine le nombre d arguments ou d objets auxquels il est appliqué B(x), B(x,y), B(x,y,z)
Valeur d un Prédicat Valuation Soit θ une application (ou valuation) de E dans V. La valeur de vérité d un prédicat P est toute valuation θ telle que Pθ V. Un prédicat clos n a qu une seule valeur possible de vérité. C est, donc, une proposition. Un prédicat qui ne contient aucune variable libre admet une et une seule valeur de vérité. Les prédicats à deux places sont dits binaires. Les prédicats à une place sont dits unaires ou monadiques. Il y a deux prédicats à 0 places, chacun d eux est identifiable à l un des éléments de V.
Quantificateurs Définition opérateur reliant une ou plusieurs variables à un ensemble Soit A un énoncé contenant ou non des occurrences libres de la variable x de domaine E: xa signifie pour tout x de E, A(x). xa signifie il existe au moins un x de E, tel que A(x). Remarque Un prédicate avec variables libre n est pas une proposition. Exemple: x > 1 n est pas une proposition. Ce sont des opérateurs qui transforment des prédicats n aires en prédicats (n 1) aires ( et en particulier les prédicats monadiques en propositions)
Valeur d une expression quantifiée xa = v si chaque x 0 de l ensemble E: A(x 0 ) = v. xa = v s il y a au moins un x 0 de E:A(x 0 ) = v. Exemples: 1 x(18 = 3x) signifie 18 est multiple de 3. 2 x(x 1 = x) signifie 1 est neutre pour. 3 x E y E(x 0 x y = 1) signifie (E, ) est un groupe.
Négation d une Formule Quantifiée Soit A un énoncé ( x : A(x)) x( A(x)) ( x : A(x)) x( A(x))
Portée des Quantificateurs Définition Le concept de portée est central pour un système d infèrence. Elle permet de distinguer les différents usages du même symbole de variable. Porté atome ou formule à laquelle la quantification s applique xa(x), A(x) est la portée de x
Portée des Quantificateurs Variables liées variables sous la portée de quantificateurs Ensemble de variables liées Si A est un atome ou formue, l ensemble Varlie(A) de variables liées de A est défini par : si A est un atome alors Varlie(A)Porté= si A est de la forme B C alors Varlie(A)= Varlie(B) Varlie(C) si A est de la forme B alors Varlie(A) = Varlie(B) si A est de la forme xb ou xb alors Varlie(A) = Varlie(B)\ { x } Exemple x(enfant(x) y(mere(y, x)) x( yr(x, y) z S(x, z, v))
Variables libres et liées Variables libres Une occurrence d une variable est libre si elle n est dans la portée d aucun quantificateur. Sinon elle est liée. y(p(x) x(p(x) Q(y)) formule close ou ouverte formule sans variables libres, sinon elle est ouverte. x(entier(x) y(entier(y) plusgrand(y, x)
Variables libres et liées Exemple mere(x) pere(y) x(mere(x) pere(y, x) x(enfant(x) y(mere(y, x)) x yr(x, y) z S(x, z)) x yr(x, y) R(y, x) z S(x, z))
Exemples de formalisation Tous les hommes sont mortels Seulement les hommes sont mortels Il existe un homme mortel Il n existe pas d homme mortel
Exemples de formalisation Tous les hommes sont mortels x(h(x) M(x)) Seulement les hommes sont mortels x(m(x) H(x)) Il existe un homme mortel x(h(x) M(x)) Il n existe pas d homme mortel x(h(x) M(x))
Localité de la notion de Variable Définition Dans un système basé sur la logique, le nom d une variable est complètement local à la règle dans laquelle elle apparaît. Exemple si si X est mortel X est humain X est un commerçant X possède une boutique Remarque : il n y a aucun lien entre les occurrences de X dans les deux règles ci-dessus.
Quantification Revisitée 1 Les quantificateurs sont implicites dans la manière dont sont écrites les règles. Donc, on peut considérer toutes les variables comme étant quantifiées. 2 Si une variable apparaît dans la conclusion d une règle elle est supposée vraie pour toute constante pour laquelle la règle est appliquée. On dit que les variables de conclusions sont quantifiées universellement. 3 Les variables qui apparaissent uniquement dans les prémisses et non dans la conclusion d une règle sont dites quantifiées existentiellement
Quantification Revisitée Exemple Si Y est un sport et X pratique Y alors X est athlétique Pour chaque valeur de X, la règle est vraie, si une certaine valeur de Y peut-être trouvée Autrement dit: du moment qu on trouve Y, on n a pas besoin de savoir de quel Y il s agit. Remarque La raison de cette convention se base sur l analyse de la manière dont les règles sont exécutée
Substitution et Instance Définition une substitution est une application des variables dans les termes θ : Variable Terme L application d une substitution à une expression E est le résultat du remplacement simultané de toutes les occurrences libres des variables dans E par leur terme associé. Définition Si E est une expression et θ une substitution alors Eθ est appelé une instance de E. Notation Soit x = {x 1,..., x n } tel que θ(x) x, La substitution θ, est alors notée θ(x) = {x 1 t 1,..., x n t n }
Unificateur, Most general unifier Unificateur: Soient t 1, t 2, deux termes et θ une substitution. θ est dit unificateur ssi t 1 θ = t 2 θ Définition : mgu t 1, t 2, admettent une instance commune t ssi θ 1, θ 2 t.q. t 1 θ 1 = t 2 θ 2 = t Exemple t 1 = f (a, g(y )) et t 2 = f (X, g(b)) t 1 est plus général que t 2 ssi t 2 est une instance de t 1 et t 1 non de t 2. un unificateur de t 1, t 2 est une substitution θ t.q. t 1 θ = t 2 θ. un unificateur général (mgu) de t 1, t 2 est un unificateur telle que l instance associée aux 2 soit la plus générale.
Algorithme d Unification (1/3) Entrée: T 1 et T 2 à unifier Sortie: θ = mgu(t 1, T 2 ) ou echec Algorithme Initialisation θ = {}; vide_pile(p); echec=false; empile(p,t 1 = T 2 );
Algorithme d Unification (2/3) Tant_que( non_vide(p) et non(echec)) faire eq=depile(p); (* eq=(x=y) *) eqθ ; case: (var(x) et var(y)) ou (const(x) et const(y)) et X==Y continue; var(x) et X occ(y ); subst Y à X dans P et θ ; θ= θ {X Y }
Algorithme d Unification (3/3) var(y) et Y occ(x) subst X à Y dans P et θ ; θ= θ {Y X} X = f (X 1,..., X n ) et Y = f (Y 1,..., Y n ) empile(p,x i = Y i, i = 1..n) sinon echec = true; Fin TQ Si echec alors sortie= echec sinon sortie= θ Fin
Exercice Les expressions suivantes sont-elles unifiables, si oui quel est leur mgu p(f (a), g(x)) et p(y, Y ) p(a, X, h(g(z ))) et p(z, h(y ), h(y )) p(x, X) et p(y, f (Y ))