Logique : le calcul de prédicats

Documents pareils
Chapitre 2. Eléments pour comprendre un énoncé

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Logique. Plan du chapitre

Calculabilité Cours 3 : Problèmes non-calculables.

Bases de données Cours 5 : Base de données déductives

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Université Paris-Dauphine DUMI2E 1ère année, Applications

Quelques algorithmes simples dont l analyse n est pas si simple

Logique : ENSIIE 1A - contrôle final

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

MIS 102 Initiation à l Informatique

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Algorithmique des Systèmes Répartis Protocoles de Communications

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

3 Approximation de solutions d équations

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Cours 1 : Qu est-ce que la programmation?

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Le chiffre est le signe, le nombre est la valeur.

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Qu est-ce qu une probabilité?

Le produit semi-direct

Fondements de l informatique Logique, modèles, et calculs

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

ALGORITHMIQUE ET PROGRAMMATION En C

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Intelligence Artificielle Planification

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Probabilités. C. Charignon. I Cours 3

Compression Compression par dictionnaires

Cours 1 : La compilation

Cours de Probabilités et de Statistique

Résolution d équations non linéaires

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

choisir H 1 quand H 0 est vraie - fausse alarme

STAGE IREM 0- Premiers pas en Python

Utilisation des tableaux sémantiques dans les logiques de description

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Chapitre 5 : Flot maximal dans un graphe

Calculs de probabilités

Groupe symétrique. Chapitre II. 1 Définitions et généralités

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Quelques tests de primalité

Cours d initiation à la programmation en C++ Johann Cuenin

Réalisabilité et extraction de programmes

TP3 : Manipulation et implantation de systèmes de fichiers 1

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Représentation des Nombres

OM 1 Outils mathématiques : fonction de plusieurs variables

Probabilités et Statistiques. Feuille 2 : variables aléatoires discrètes

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Fonctions de deux variables. Mai 2011

Équations non linéaires

Amphi 3: Espaces complets - Applications linéaires continues

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Les nombres entiers. Durée suggérée: 3 semaines

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Initiation à la programmation en Python

Algèbre binaire et Circuits logiques ( )

Probabilités sur un univers fini

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

LE PROBLEME DU PLUS COURT CHEMIN

Algorithmique et Programmation, IMA

Définitions. Numéro à préciser. (Durée : )

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Conception des bases de données : Modèle Entité-Association

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Glossaire des nombres

6. Les différents types de démonstrations

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Exo7. Probabilité conditionnelle. Exercices : Martine Quinio

Programmation linéaire

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

1.1 Codage de source et test d hypothèse

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Feuille TD n 1 Exercices d algorithmique éléments de correction

Raisonnement par récurrence Suites numériques

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

ASR1 TD7 : Un microprocesseur RISC 16 bits

Polynômes à plusieurs variables. Résultant

Sur certaines séries entières particulières

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Évaluation et implémentation des langages

Espérance conditionnelle

Chapitre 10 Arithmétique réelle

L exclusion mutuelle distribuée

Comparaison de fonctions Développements limités. Chapitre 10

Une introduction aux codes correcteurs quantiques

CHAPITRE 1. Suites arithmetiques et géometriques. Rappel 1. On appelle suite réelle une application de

Transcription:

Logique : le calcul de prédicats Sophie Pinchinat sophie.pinchinat@irisa.fr IRISA, Université de Rennes 1 UE LOG année 2015-2016 Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 1/41

1 Introduction 2 Un exemple 3 Syntaxe du calcul des prédicats 4 Sémantique du calcul des prédicats Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 2/41

Motivation Le calcul des propositions est bien trop limité pour décrire des situations réelles. Il ne permet que de décrire des phrases dont la vérité ne dépend pas des individus comme par exemple Il pleut. Il ne peut pas représenter des phrases qui mettent en jeu des individus ou des objets comme par exemple Si x est le père de y et si z est le père de x alors z est un grand-père de y Tout individu a un père. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 3/41

Vue d ensemble du calcul des prédicats Le calcul des prédicats (ou Logique du premier ordre) permet d exprimer de telles relations entre individus. Il est donc bien plus riche que le calcul propositionnel. Il contient : des individus (ou entités) (donnés par des symboles de variables x, y, z,...) des fonctions (f, g,..., s,...) permettant de transformer des entités en autres entités (ex. la fonction x père de x ) des relations (..., P, Q, R,...) permettant de lier les individus entre eux (ex. la relation binaire sont amis ). Les relations appliquées aux entités, ex. R(x, f (y)), peuvent être évaluées à vrai ou faux (selon les interprétations attribuées aux entités, aux fonctions et aux relations) et servent de briques de base à un langage du premier ordre obtenu à l aide des connecteurs logiques du calcul propositionnel et de deux autres connecteurs appelés quantificateurs, notés et (ceux de nos mathématiques). Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 4/41

Relation avec le calcul propositionnel Le calcul des prédicats hérite des propriétés établies pour celui des propositions. On aura des formules définies inductivement à partir des symboles de prédicats et de fonctions. On les interprétera dans divers mondes possibles et alors elles deviendront vraies ou fausses. Remarque (Différence algorithmique importante) Le calcul des prédicat est indécidable : il est absolument impossible de vérifier qu une formule est valide. Ceci tient au fait que les formules du premier ordre ont une infinité d interprétations. Il devient alors difficile de vérifier qu une formule est valide. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 5/41

Rappels sur les fonctions Étant donnés un ensemble E et k IN, une fonction k-aire (ou d arité k) sur E est une fonction de E k (= E E... E, k fois) dans E. Exemple 1. E = IN et soit f la fonction d arité 1 définie par f (n) = n + 1 2. E = {1, 2, 3} et soit f la fonction binaire (d arité 2) définie pour tout couple (a, b) E 2 par : f (1, 2) = 1, f (2, 3) = 2, f (3, 1) = 3, et f (a, b) est indéfinie sinon (i.e., pour les couples (1, 1), (2, 2), (3, 3)(3, 2), (2, 1), (1, 3)). Remarque Une fonction d arité 0 sur E est une constante c E. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 6/41

Rappels sur les relations Étant donnés un ensemble E et k IN, une relation k-aire (ou d arité k) sur E est un sous-ensemble de E k Exemple 1. E = {1, 2, 3} et R est la relation binaire (d arité 2) définie par R = {(1, 1), (2, 2), (3, 3)} E 2. 2. E = IN et S est la relation d arité 2 définie par S = {(n, n + 1) n IN}. 3. E = {1, 2, 3} et R est la relation unaire (d arité 1) définie par R = {1, 2}. 4. L ensemble E 0 est un ensemble à UN élément. Par conséquent, les seules relations d arité 0 sur E, c-à-d. les sous-ensembles de E 0 sont soit soit E 0 lui-même. Remarque Si R est une relation d arité n, on note R(a 1,..., a n) pour (a 1,..., a n) R. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 7/41

Valeur de vérité Exemple Considérons les formules suivantes : 1. ϕ G : x y z(p(x, y) P(y, z)) G(x, z) 2. ϕ P : x yp(y, x) 3. ϕ C : x yg(y, x) 4. ϕ D : x zp(z, f (x)) G(z, x) 5. ϕ F : (ϕ G ϕ P ) ϕ C Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 8/41

Valeur de vérité Exemple Considérons les formules suivantes : 1. ϕ G : x y z(p(x, y) P(y, z)) G(x, z) 2. ϕ P : x yp(y, x) 3. ϕ C : x yg(y, x) 4. ϕ D : x zp(z, f (x)) G(z, x) 5. ϕ F : (ϕ G ϕ P ) ϕ C Il est impossible (ou presque) de donner une valeur de vérité à ces formules, et ce pour différentes raisons : on ne sait dans quel ensemble les variables x, y, z prennent keur valeur. on ne connaît pas la valeur de la fonction f. on ne sait par interpréter les relations binaires P et G. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 8/41

Valeur de vérité Exemple Considérons les formules suivantes : 1. ϕ G : x y z(p(x, y) P(y, z)) G(x, z) 2. ϕ P : x yp(y, x) 3. ϕ C : x yg(y, x) 4. ϕ D : x zp(z, f (x)) G(z, x) 5. ϕ F : (ϕ G ϕ P ) ϕ C Il est impossible (ou presque) de donner une valeur de vérité à ces formules, et ce pour différentes raisons : on ne sait dans quel ensemble les variables x, y, z prennent keur valeur. on ne connaît pas la valeur de la fonction f. on ne sait par interpréter les relations binaires P et G. Il est donc nécessaire de choisir une interprétation pour évaluer les formules. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 8/41

Interprétation 1 Les individus sont les êtres humains, avec tout ce qui en découle. P(x, y) signifie que x est le père de y, G(x, y) signifie que x est un grand-père de y, et f retourne la mère d un individu. ϕ G = x y z(p(x, y) P(y, z)) G(x, z) signifie pour tous êtres humains x, y, z, si x est le père de y et y est le père de z, alors x est un grand-père de z. ϕ P = x yp(y, x) signifie pour tout individu x il existe un individu y tel que y est le père de x c-à-d. tout individu a un père. ϕ C = x yg(y, x) signifie pour tout individu x il existe un individu y tel que y est le grand père de x, c-à-d. tout individu a un grand-père. ϕ D = x zp(z, f (x)) G(z, x) signifie si z est le père de la mère de x, alors z est un grand-père de x. Ces quatre formules sont vraies dans l Interprétation!. L énoncé ϕ F = ((ϕ G ϕ P ) ϕ C ) est donc aussi vraie. Remarque Les deux formules ϕ P et ϕ G sont loin de modéliser toutes les propriétés des relations P et G, respectivement. Par exemple, on n a pas énoncé que le père de chaque individu est unique, ni qu un individu x peut-être le grand-père d un autre z sans qu il existe un individu dont x soit le père et qui soit le père de z. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 9/41

Interprétation 2 Les individus sont les trois sommets a, b, c du graphe P décrit la relation prédécesseur, donc les couples (a, b), (b, c) et (c, a), et G décrit la relation successeur, donc les couples (b, a), (c, b) et (a, c). La fonction f s interpréte comme a a, b b, c a. ϕ P = x yp(y, x) tout point a un prédécesseur immédiat Elle est vraie dans ce graphe. ϕ G = x y z(p(x, y) P(y, z)) G(x, z) pour tous points x, y, z, si x précède imméd. y et si y précède imméd. z, alors x suit imméd. z Elle est vraie dans ce graphe. ϕ C = x yg(y, x) tout point a un successeur immédiat Elle est vraie dans ce graphe. ϕ F = ((ϕ P ϕ G ) ϕ C ) est donc vraie dans ce graphe. ϕ D = x zp(z, f (x)) G(z, x) pour tout z et pour tout x, si z précède immédiatement f (x), alors z suit immédiatement x. Elle est fausse. b a c Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 10/41

Interprétation 3 Les individus sont les quatre sommets a, b, c, d du graphe P(x, y) x précède immédiatement y sur le graphe. G(x, y) x suit immédiatement y sur le graphe. ϕ P = x yp(y, x) tout point a un prédécesseur immédiat. Elle est vraie. ϕ G = x y z(p(x, y) P(y, z)) G(x, z) pour tous points x, y, z, si x précède imméd. y et si y précède imméd. z, alors x suit imméd. z. Elle est fausse. ϕ C = x yg(y, x) tout point a un successeur immédiat. Elle est vraie. a d b c ϕ F = ((ϕ P ϕ G ) ϕ C ) est donc vraie dans cette interprétation. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 11/41

Interprétation 4 Les individus sont les quatre sommets a, b, c, d du graphe P(x, y) x précède imméd. y et G(x, y) pour aller de x à y on rencontre exactement un point z différent de x et de y. ϕ P = x yp(y, x) tout point a un prédécesseur immédiat. Elle est vraie. ϕ G = x y z(p(x, y) P(y, z)) G(x, z) pour tous points x, y, z, si x précède imméd. y et si y précède imméd. z, alors x suit imméd. z.elle est vraie. ϕ C = x yg(y, x) tout point a un successeur immédiat. Elle est vraie. a d b c ϕ F = ((ϕ P ϕ G ) ϕ C ) est donc vraie dans cette interprétation. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 12/41

Interprétation 5 Les individus sont les éléments de IN, les entiers naturels. P(x, y) x = y + 1. Ex. P(5, 4) est vraie, mais P(4, 5) est fausse. G(x, y) x = y + 2. Ex. G(6, 4) est vraie, mais G(4, 6) est fausse. ϕ P = x yp(y, x) pour tout x IN, il existe y IN tel que y = x + 1. VRAIE. ϕ G = x y z(p(x, y) P(y, z)) G(x, z) pour tous x, y, z IN, si x = y + 1 et z = y + 1 alors z = x + 2. VRAIE. ϕ C = x yg(y, x) pour tout x IN, il existe y IN tel que y = x + 2. VRAIE. ϕ F = ((ϕ P ϕ G ) ϕ C ) est donc vraie dans cette interprétation. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 13/41

Interprétation 6 Les individus sont les éléments de IN, les entiers naturels. P(x, y) y = x + 1. Ex. P(5, 4) est vraie, mais P(4, 5) est fausse. G(x, y) y = x + 2. Ex. G(6, 4) est vraie, mais G(4, 6) est fausse. ϕ P pour tout xinin, il existe un entier y tel que x = y + 1. FAUSSE. ϕ G pour tous entiers x, y, z, si x = y + 1 et z = y + 1 alors z = x + 2. VRAIE. ϕ C pour tout x IN, il existe z setn tel que x = z + 2. FAUSSE ((ϕ P ϕ G ) ϕ C ) est donc vraie dans cette interprétation. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 14/41

Comparaison des interprétations : leurs points communs Les formules possèdent autant d interprétations que l on peut imaginer, de sorte que certains énoncés y sont vrais ou faux. Une interprétation c est la donnée : d un domaine pour les objets, e.g., l ensemble des entiers naturels, l ensemble des étudiants d une classe, l ensemble des sommets d un graphe, l ensemble des graphes, etc. d opérateurs sur le domaine pour les symboles de fonctions Exercice Trouver ces symboles dans les formules de l introduction et les opérateurs qui leur correspondent pour chacune des interprétations. Exercice de relations sur les objets du domaine, Trouver ces symboles de relations dans les formules de l introduction et les relations qui leur correspondent pour chacune des interprétations. Certaines interprétations ont finies (Interprétations 2,3,4), d autres sont infinies (Interprétations 1,5,6). Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 15/41

Les termes Ils s interprètent comme des objets du domaine de l interprétation choisie. Définition Une signature est un ensemble F = {f, g,...} de symboles muni d une application ar : F IN, appelée arité, qui indique combien d arguments ce symbole de fonction prend. On notera par exemple F = {f (1), g(2),...} pour indiquer que ar(f ) = 1, ar(g) = 2, etc. Si on a c(0) F, le symbole c ne prend pas d argument, on dit que c est une constante. Étant donnés une signature F et un ensemble Var (de variables), l ensemble des termes sur F et Var est le plus petit ensemble noté T F[Var] tel que : x T F[Var] pour toute variable x Var c T F[Var] pour tout symbole d arité 0 (constante) si ar(f ) = n et t 1,..., t n T F[Var], alors f (t 1,..., t n) T F[Var]. Un terme est dit clos s il ne contient aucune variable. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 16/41

Exemple de termes Exemple On se donne la constante 0, le symbole s d arité 1 les symboles + et d arité 2. Donc la signature F = {0(0), s(1), +(2), (2)}. Soient x, y Var. L expression +( (s(s(0)), x), s(y)) est un terme que l on peut représenter par l arbre suivant : s s 0 + s x y Parfois, nous noterons ABUSIVEMENT (s(s(0)) x) + s(y)) Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 17/41

Langage/vocabulaire pour les énoncés Définition Un langage (ou vocabulaire) du premier ordre est une paire S = (F, P) où : F est une signature pour les termes. P est une signature pour les formules atomiques/prédicats. Exemple Le langage qu on a envie d utiliser pour la théorie des ensembles est : F = { (0), (2), (2), C(1)} P = {= (2), (2)} et on pourra écrire l énoncé ( (x, C( )), x) (en maths on écrit (x C ) x)) Exercice Quel(s) langage(s) peut-on imaginer pour les entiers naturels? Exercice Quel langage des énoncés ϕ P,..., ϕ F de l introduction? Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 18/41

Remarque Le rôle des relations et des fonctions est très différent. Les symboles de fonctions (dont les constantes) sont dédiées à la description des termes (i.e., les objets du langage) tandis que les symboles de relations sont dédiées à l expression de formules simples entre les termes (i.e., des propriétés sur ces objets). Exemple 1 + 2 est un terme (il désigne un objet) tandis que 1 + 2 4 est une formule. (Sauf mention contraire) chaque langage contient le symbole de relation binaire = et un symbole de relation, sans argument (d arité 0) qui représentera l énoncé toujours faux. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 19/41

Les formules du calcul des prédicats Étant donné un langage S = (F, P), on construit les formules de la logique du premier ordre en utilisant les connecteurs de la logique propositionnelle et les quantificateurs et. Les formules sont construites à partir des formules atomiques (qui peuvent contenir des termes) : une formule atomique est obtenue en appliquant un symbole de relation à des termes. On se fixe pour toute la suite un ensemble Var = {x, x 0, x 1,..., y, y 0, y 1,..., z, z 0, z 1,...} de variables (du premier ordre). Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 20/41

Formules Définition Soit S = (F, P) un langage, une formule atomique sur S est une expression de la forme r(t 1,..., t n) où r P et ar(r) = n 1 et t 1, t 2,..., t n T F[Var] sont des termes. Définition Étant donné un langage S, l ensemble F po(s, Var) des formules du premier ordre sur S et Var est le plus petit ensemble tel que : 1. toute formule atomique sur S appartient à F po(s, Var) 2. si ϕ, ψ F po(s, Var) sont deux formules, alors ϕ ψ, ϕ ψ, ϕ ψ, ϕ F po(s, Var) 3. si ϕ F po(s, Var) et x Var, alors xϕ, xϕ F po(s, Var). Exercice Définir par induction sur les formules de F po(s, Var) l ensemble des variables Var(ϕ) d une formule ϕ. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 21/41

Arbre d une formule Comme pour le calcul propositionnel, on peut voir une formule comme un arbre. Exemple Soit la formule [( xf (x)) ( xk(g(x)) H(f (y, x), g(x)))] [( yg(x, g(y))) F (h(y))] x y F (h(y)) F (x) x H(f (y, x), g(x)) G(x, g(y)) K(g(x)) Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 22/41

Occurrences libres et liées d une variable Definition Lorsqu une variable x appartient à une sous-formule précédée d un quantificateur, x ou x, elle est dite liée par ce quantificateur. Si une variable n est liée par aucun quantificateur, elle est libre. Remarque La distinction entre variable libre et variable liée est importante : une variable liée ne possède pas d identité propre et peut être remplacée par n importe quel autre nom de variable qui n apparaît pas dans la formule. Exemple La formule x(x < y) peut aussi s écrire z(z < y). Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 23/41

Occurrences libres et liées d une variable Définition L ensemble des variables libres ( free variables ) FV (ϕ), et l ensemble des variables liées ( bound variables ) BV (ϕ) d une formule ϕ sont des sous-ensembles de Var(ϕ) définis par induction sur la structure de ϕ : { FV (ϕ) = Var(ϕ) si ϕ est une formule atomique : BV (ϕ) = FV ( ϕ) = FV (ϕ) BV ( ϕ) = BV (ϕ) FV (ϕ ψ) = FV (ϕ ψ) = FV (ϕ ψ) = FV (ϕ) FV (ψ) BV (ϕ ψ) = BV (ϕ ψ) = BV (ϕ ψ) = BV (ϕ) BV (ψ) FV ( xϕ) = FV ( xϕ) = FV (ϕ) \ {x} BV ( xϕ) = BV ( xϕ) = BV (ϕ) {x} Définition Une formule ϕ est close si toutes ses variables sont liées, i.e., BV (ϕ) = Var(ϕ). Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 24/41

Exemple Exemple x y F (h(y)) F (x) x H(f (y, x), g(x)) G(x, g(y)) K(g(x)) On peut renommer les variables liées x 1 x 3 F (h(y)) F (x 1) x 2 H(f (y, x), g(x)) G(x, g(x 3)) K(g(x 2)) Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 25/41

Sémantique du calcul des prédicats Les formules n ont encore aucune signification, en partie car nous n avons pas donné de signification aux symboles des langages. Une signature ne donne qu un ensemble de symboles, sans en donner d interprétation. Soit S = (F, P) un langage du calcul des prédicats. On note F n et P n les symboles de fonction et les symboles de relation d arité n, respectivement. On interpréte les formules du calcul des prédicats sur des structures. Définition Une S-structure M est la donnée d un ensemble D M (le domaine) et pour chaque f F n, d une fonction totale f M : D n M D M pour chaque r P n, d une relation r M D n M Remarque Si c F 0 (constante), alors c M D M. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 26/41

Exemples d interprétations Soit le langage S = ({o(0), f (1)}, {P(2)}). Exemple Soit M la structure/interprétation définie par : D M = IN o M = 0 f M (n) = n + 1 P M = {(n, n ) n n } Exemple Soit M la structure/interprétation définie par : D M = {Paul, Anne, Ida} o M = Paul f M (Paul) = Anne, f M (Anne) = Paul, f M (Ida) = Anne, pour héritier P M = {(Anne, Paul), (Paul, Ida), (Anne, Ida)}, pour est plus âgé que Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 27/41

Quelques structures importantes Domaine Fonctions Relations Nom IN 0, s, +, =, Arithmétique de Péano IN 0, s, + =, Arithmétique de Presburger IR 0, s, +, =, Théorie des réels IR 0, s, + =, Théorie additive des réels {0} {p 0, p 1, p 2,...} Structure propositionnelle Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 28/41

Interprétation des variables libres On se donne un moyen de savoir à quel élément du domaine une variable correspond. Définition Une valuation des variables de Var dans une structure M est une fonction ν : Var D M qui associe chaque variable à un élément du domaine. On note Val M (ou plus simplement Val) l ensemble des valuations dans M. Pour ν Val, x Var et d D M, on définit : { d si y = x ν[x := d](y) = ν(y) sinon. Ainsi, ν[x := d] est comme ν sauf pour la variable x qui maintenant est associée à d. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 29/41

Valeur d une formule On se fixe un langage S = (F, P) et un ensemble de variables Var pour écrire des formules. On se fixe aussi une S-structure M, et ν Val M une valuation pour les variables de Var. Pour savoir ce que vaut la formule x(p(f (x), y) Q(g(x, y))) dans M, il faut savoir 1. ce que vallent les termes f (x), y, et g(x, y) 2. ce que vallent les formules atomiques P(f (x), y) et Q(g(x, y)), dont on déduira ce que vaut P(f (x), y) Q(g(x, y)) 3. et enfin, ce que vaut x(p(f (x), y) Q(g(x, y))) Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 30/41

Valeur d un terme On a fixé un langage S = (F, P) et un ensemble de variables Var, une S-structure M, et ν Val M une valuation pour les variables de Var. Définition Soit t T F[Var], sa valeur dans M pour la valuation ν est un élément du domaine D M, noté [[ t ]] M,ν, et défini par induction sur t : 1. si t = x est une variable, alors [[ t ]] M,ν = [[ x ]] M,ν = ν(x) 2. sinon t = f (t 1,..., t n), et alors [[ t ]] M,ν = [[ f (t 1, t 2,..., t n) ]] M,ν = f M ([[ t 1 ]] M,ν, [[ t 2 ]] M,ν,..., [[ t n ]] M,ν) Remarque Le cas d une constante c est un cas particulier de 2. pour un symbole d arité 0 : [[ c ]] M,ν = c M D M Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 31/41

Valeur d une formule atomique (de la forme r(t 1, t 2,..., t n )) On a fixé un langage S = (F, P) et un ensemble de variables Var, une S-structure M, et ν Val M une valuation pour les variables de Var. Définition La valeur de r(t 1, t 2,..., t n) dans M pour ν, notée [[ r(t 1, t 2,..., t n) ]] M,ν, est dans {0, 1} et est donnée par : [[ r(t 1, t 2,..., t n) ]] M,ν = 1 ssi ([[ t 1 ]] M,ν, [[ t 2 ]] M,ν,..., [[ t n ]] M,ν) r M Exemple Considérons la formule atomique P(f (x), y) que l on évaluer dans la structure N de domaine les entiers naturels IN, et pour laquelle f N (n) = n + 1 et P N est la relation, et pour la valuation ν définie par [x := 42, y := 3, z :=...]. Par définition pour les formules atomiques, [[ P(f (x), y) ]] M,ν = 1 dès lors que (ν(f (x)), ν(y)) P N, ce qui se lit 42 + 1 3 qui est bien vraie. Exercice Trouver une structure M et une valuation ν pour lesquelle [[P(f (x), y)]] M,ν = 0. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 32/41

Valeur d une formule Maintenant que l on connaît les valeurs des formules atomiques, on peut définir les valeurs de formules plus complexes. Définition Soit ϕ F po une formule non atomique. La valeur de ϕ dans M pour la valuation ν, notée [[ ϕ ]] M,ν, est dans {0, 1} et est définie par (induction) : [[ ϕ ψ ]] M,ν = 1 ssi [[ ϕ ]] M,ν = 1 et [[ ψ ]] M,ν = 1 [[ ϕ ψ ]] M,ν = 1 ssi [[ ϕ ]] M,ν = 1 ou [[ ψ ]] M,ν = 1 [[ ϕ ]] M,ν = 1 ssi [[ ϕ ]] M,ν = 0 [[ ϕ ψ ]] M,ν = 0 ssi [[ ϕ ]] M,ν = 1 et [[ ψ ]] M,ν = 0 [[ xϕ ]] M,ν = 1 ssi il existe d D M tel que [[ ϕ ]] M,ν[x:=d] = 1 [[ xϕ ]] M,ν = 1 ssi pour tout d D M, [[ ϕ ]] M,ν[x:=d] = 1 Lorsque [[ ϕ ]] M,ν = 1, on dit que ϕ est vraie..., et on note M, ν = ϕ. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 33/41

Prenons un peu de temps pour... Définition Soit ϕ F po une formule non atomique. La valeur de ϕ dans M pour la valuation ν, notée [[ ϕ ]] M,ν, est dans {0, 1} et est définie par (induction) :. [[ xϕ ]] M,ν = 1 ssi il existe d D M tel que [[ ϕ ]] M,ν[x:=d] = 1 [[ xϕ ]] M,ν = 1 ssi pour tout d D M, [[ ϕ ]] M,ν[x:=d] = 1 Des exemples au tableau... Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 34/41

Remarques [[ xϕ ]] M,ν = 1 ssi il existe d D M tel que [[ ϕ ]] M,ν[x:=d] = 1 [[ xϕ ]] M,ν = 1 ssi pour tout d D M, [[ ϕ ]] M,ν[x:=d] = 1 Remarque On a vu que les valeurs [[ xϕ ]] M,ν et [[ xϕ ]] M,ν sont indépendantes de ν(x). Plus généralement, les valeurs [[ ϕ ]] M,ν et [[ ϕ ]] M,ν ne dépendent pas des valuations des variables x BV (ϕ) (variables liées), mais de celles de variables libres. Remarque Lorsque ϕ est une formule close (i.e. pas de variables libres), sa valeur [[ ϕ ]] M,ν ne dépend pas de la valuation ν. Lorsque ϕ est close, on note [[ ϕ ]] M sa valeur dans M, et on écrit M = ϕ lorsque [[ ϕ ]] M = 1. La notion pertinente est celle de formule close, les formules non closes ne servent qu à donner la sémantique. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 35/41

Exemple d application de la sémantique : Ordre des quantificateurs Avec notre sémantique des formules, on peut montrer que l ordre dans lequel sont écrits certains quantificateurs est important : par exemple, les formules y xp(x, y) et x yp(x, y) ne signifient pas la même chose puisqu il existe une structure dans laquelle y xp(x, y) est vraie, mais x yp(x, y) est fausse. On choisit la structure des entiers ordonnées N = (IN, ), dans laquelle P s interprète comme. [[ y xp(x, y) ]] N = 1 ssi pour tout n IN, [[ xp(x, y) ]] N,[y:=n] = 1 ssi pour tout n IN, il existe m IN, [[ P(x, y) ]] N,[y:=n,x:=m] = 1 ssi pour tout n IN, il existe m IN, ([[ x ]] N,[y:=n,x:=m], [[ y ]] N,[y:=n,x:=m] ) P N ssi pour tout n IN, il existe m IN, m n c est VRAI! [[ x yp(x, y) ]] N = 1 ssi il existe m IN t.q, [[ yp(x, y) ]] N,[x:=m] = 1 ssi il existe m IN, pour tout n IN, [[ P(x, y) ]] N,[x:=m,y:=n] = 1 ssi il existe m IN, pour tout n IN, ([[ x ]] N,[x:=m,y:=n], [[ y ]] N,[x:=m,y:=n] ) P N ssi il existe m IN, pour tout n IN, m n c est FAUX! Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 36/41

Notions sémantiques Comme pour le calcul propositionnel, on définit les notions de : modèles d une formule close thérorème validité/satisfaisabilité conséquence logique équivalence etc. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 37/41

Modèles, théorèmes, et tout et tout... Soit S un langage du premier ordre. Définition Soit M une S-structure. Soit ϕ F po une formule close sur S. La structure M est un modèle de ϕ si M = ϕ (c-à-d. [[ ϕ ]] M = 1). Soit Γ F po un ensemble de formules closes sur S. La structure M est un modèle de Γ si M = ϕ, pour tout ϕ Γ. Définition Une formule close ϕ F po est insatisfaisable si elle n a pas de modèle, sinon elle est satisfaisable. Une formule close ϕ F po sur S est valide (ou une tautologie), noté = ϕ, si M = ϕ, pour toute S-structure M. Définition Deux formules closes ϕ et ψ de F po sont dites équivalentes (noté ϕ ψ) si pour toute S-structure M, on a M = ϕ ssi M = ψ. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 38/41

Equivalences classiques (1/2) Loi de conversion des quantificateurs xϕ x ϕ xϕ x ϕ Loi de distribution des quantificateurs x(ϕ ψ) ( xϕ xψ) x(ϕ ψ) ( xϕ xψ) Lois de permutation des quantificateurs de même sorte x yϕ y xϕ x yϕ y xϕ Exercice Utiliser la sémantique de et celle des formules pour démontrer ces équivalences. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 39/41

Equivalences classiques (2/2) Lois de réalphabétisation (renommage) des variables. On peut toujours renommer une variable liée et la variable du quantificateur au sein d une formule. Cependant, le nouveau nom ne doit pas être un nom déjà utilisé pour une variable libre ou liée de la formule. Exemple Dans x( xf (x, y) (G(x) q)), on peut opérer deux renommages : z( tf (t, y) (G(z) q)) Lois de passage : si x / FV (ψ), x(ϕ ψ) ( xϕ) ψ x(ϕ ψ) ( xϕ) ψ x(ϕ ψ) ( xϕ) ψ x(ϕ ψ) ( xϕ) ψ x(ϕ ψ) ( xϕ) ψ x(ϕ ψ) ( xϕ) ψ x(ψ ϕ) ψ ( xϕ) x(ψ ϕ) ψ ( xϕ) Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 40/41

Conséquence logique Définition Une formule close ϕ est conséquence logique d un ensemble de formules closes Γ si tout modèle de Γ est un modèle de ϕ. On écrit alors Γ = ϕ. Une théorie est l ensemble des conséquences logiques d un ensemble de formules closes. Exemple La théorie des groupes est l ensemble des conséquences logiques de l ensemble de formules suivantes, appelées axiomes de la théorie des groupes : Par exemple, Associativité x y z[(x y) z = x (y z)] (Ass) Élément neutre x[(x e = x) (e x = x)] (EN) Inverse x[(x i(x) = e) (i(x) x = e)] (Inv) {Ass, EN, Inv} = x y[(x y = e) (y = i(x))] qui exprime que l inverse à droite de tout élément est unique. Sophie Pinchinat Logique : le calcul de prédicats UE LOG année 2015-2016 41/41