INFO-F-302, Cours d Informatique Fondamentale Logique pour l Informatique

Documents pareils
Logique : ENSIIE 1A - contrôle final

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

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

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

Espérance conditionnelle

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

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

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

Résolution d équations non linéaires

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Introduction à l étude des Corps Finis

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

Suites numériques 3. 1 Convergence et limite d une suite

Logique. Plan du chapitre

SEANCE 4 : MECANIQUE THEOREMES FONDAMENTAUX

La fonction exponentielle

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

Initiation à la Programmation en Logique avec SISCtus Prolog

Texte Agrégation limitée par diffusion interne

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

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

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

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

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Développements limités. Notion de développement limité

Licence MASS (Re-)Mise à niveau en Probabilités. Feuilles de 1 à 7

Théorème du point fixe - Théorème de l inversion locale

Intégration et probabilités TD1 Espaces mesurés Corrigé

Commun à tous les candidats

Algorithmique des Systèmes Répartis Protocoles de Communications

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Utilisation des tableaux sémantiques dans les logiques de description

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

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Sur certaines séries entières particulières

6 Equations du première ordre

I. Ensemble de définition d'une fonction

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Problèmes de Mathématiques Filtres et ultrafiltres

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Théorèmes de Point Fixe et Applications 1

Continuité en un point

Probabilités sur un univers fini

MIS 102 Initiation à l Informatique

Image d un intervalle par une fonction continue

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

Un K-espace vectoriel est un ensemble non vide E muni : d une loi de composition interne, c est-à-dire d une application de E E dans E : E E E

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

Réalisabilité et extraction de programmes

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

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

EXERCICE 4 (7 points ) (Commun à tous les candidats)

CHAPITRE IV. L axiome du choix

Programmation linéaire

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

Limites finies en un point

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

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

1.1 Codage de source et test d hypothèse

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Moments des variables aléatoires réelles

3. Caractéristiques et fonctions d une v.a.

chapitre 4 Nombres de Catalan

CCP PSI Mathématiques 1 : un corrigé

I. Polynômes de Tchebychev

ÉPREUVE COMMUNE DE TIPE Partie D

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème.

Programmes des classes préparatoires aux Grandes Ecoles

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

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)

Correction du Baccalauréat S Amérique du Nord mai 2007

M2 IAD UE MODE Notes de cours (3)

Correction du baccalauréat ES/L Métropole 20 juin 2014

ANALYSE TRAMEs LIAISON SERIE

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

Équations non linéaires

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

Le produit semi-direct

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

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

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

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Géométrie dans l espace Produit scalaire et équations

Model checking temporisé

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Analyse de sécurité de logiciels système par typage statique

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

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

Atelier B. Prouveur interactif. Manuel Utilisateur. version 3.7

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

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

Cours de mathématiques

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Fonctions de plusieurs variables

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Transcription:

1- INFO-F-302 - / INFO-F-302, Cours d Informatique Fondamentale Logique pour l Informatique Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles Année académique 2011-2012 Basé sur le cours Logique Informatique du Pr. J.-F. Raskin

La Logique des Prédicats ou logique du premier ordre 2- INFO-F-302 - La Logique des Prédicats /

3- INFO-F-302 - La Logique des Prédicats / Introduction Les situations suivantes ne sont pas modélisables en logique propositionnelle : certains étudiants assistent à tous les cours ; aucun étudiant n assiste à un cours non intéressant ; dans toute salle d examen, il y a un étudiant qui, s il échoue, alors tout le monde échoue.

4- INFO-F-302 - La Logique des Prédicats / Introduction Ce qui manque à la logique propositionnelle, c est de pouvoir parler d objets, de propriétés d objets et de mettre en relation des objets. Par exemple : tel cours est intéressant ; tel étudiant assiste au cours de logique.

5- INFO-F-302 - La Logique des Prédicats / Introduction La logique propositionnelle ne permet pas de quantifier sur les objets. On ne peut pas par exemple exprimer : tous les cours sont intéressants ; il existe des cours intéressants. La logique du premier ordre nous permettra de modéliser ces situations. Par exemple, l énoncé tous les cours sont intéressants sera modélisé par : x : Cours(x) Interessant(x)

6- INFO-F-302 - La Logique des Prédicats / Plan 1 Syntaxe des formules du premier ordre 2 Sémantique construction des termes construction des formules variables libres, variables liées structures et langages structures et satisfaction des formules formules valides, formules équivalentes substitution 3 Formes prénexes et formes de Skolem 4 Procédure de résolution pour le premier ordre mise sous forme de clauses modèles de Herbrand unification méthode de résolution 5 Déduction naturelle pour le premier ordre

7- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre on parle ici de langages car les objets syntaxiques qui seront à la base de la construction des formules sont déterminés par des vocabulaires qu on fixera (symboles de relations, de fonctions,...). Il existera donc une grande variété de langages du premier ordre selon le vocabulaire choisi. L expression premier ordre différencie ces langages de langages d ordre supérieur, dans lesquels il est possible de quantifier sur d autres objets que les variables (par ex. sur les fonctions, prédicats,...)

8- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : alphabet L alphabet d un langage du premier ordre comporte d abord les symboles suivants qui sont communs à tous ces langages : les connecteurs,,,, ; les parenthèses (, ) ; le quantificateurs universel et le quantificateur existentiel ; un ensemble infini V de symboles de variables x, y, z,...

9- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : alphabet Un langage L de la logique du premier ordre est caractérisé par : des symboles de relations ou prédicats, p, q, r, s... ; des symboles de fonctions, f, g, h,... ; des symboles de constantes, c, d, e,... A chaque prédicat p, respectivement fonction f, on associe un entier strictement positif appelé l arité de p, respectivement de f, c est-à-dire le nombre d arguments de p, respectivement f. On utilise le prédicat = pour dénoter l égalité. Si = fait partie du vocabulaire du langage L, on dit que L est égalitaire.

10- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : alphabet Exemples de langages : L 1 contient un prédicat unaire r et une constante c ; L 2 contient un prédicat binaire r, une fonction unaire f, deux symboles de fonctions binaires g et h, et deux constantes c et d.

11- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : construction des termes L ensemble des termes d un langage L est le plus petit ensemble qui contient les symboles de constantes et de variables et qui est clos par application des fonctions. L ensemble des termes, noté T, est le plus petit ensemble satisfaisant : 1 tout symbole de constante ou variable est un terme ; 2 si f est un symbole de fonction d arité n et t 1, t 2,..., t n sont des termes alors f (t 1, t 2,..., t n ) est un terme. Remarque : les prédicats ne fournissent pas des termes ; ils serviront pour construire les formules.

12- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : construction des termes Exemples : les seuls termes du langage L 1 sont la constante c et les variables ; les expressions suivantes sont des termes du langage L 2 : f (c) ; f (h(f (c), d)) ; f (y) ; f (h(f (x), f (d))). Un terme est clos s il est sans variable. Par exemple f (c) est clos.

13- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : construction des formules L ensemble des formules atomiques d un langage L est l ensemble des formules de la forme : p(t 1, t 2,..., t n ) ou p est un prédicat d arité n et t 1, t 2,..., t n sont des termes du langage L ; t 1 = t 2 si L est égalitaire et t 1, t 2 sont des termes du langage L.

14- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : construction des formules L ensemble des formules du langage L, que l on désigne par F(L), est le plus petit ensemble qui satisfait : 1 toute formule atomique est une formule ; 2 si φ est une formule alors φ est une formule ; 3 si φ et ψ sont des formules alors φ ψ, φ ψ, φ ψ, φ ψ sont des formules ; 4 si φ est une formule et x une variable, alors x φ et x φ sont des formules.

15- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : exemples de formules La formule r(c) x r(x) est une formule du langage L 1. Exemples de formules du langage L 2 : x y(g(x, y) = c g(y, x) = c) x (f (x) = c) Exemples de formules du langage L 3 = {p} où p est un symbole de prédicat binaire : x y (p(x, y) p(y, x)) x p(x, x) x y (p(x, y) p(y, x)) x y z (p(x, y) p(y, z) p(x, z)) Comment exprimer que p doit être interprétée par une fonction?

15- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : exemples de formules La formule r(c) x r(x) est une formule du langage L 1. Exemples de formules du langage L 2 : x y(g(x, y) = c g(y, x) = c) x (f (x) = c) Exemples de formules du langage L 3 = {p} où p est un symbole de prédicat binaire : x y (p(x, y) p(y, x)) x p(x, x) x y (p(x, y) p(y, x)) x y z (p(x, y) p(y, z) p(x, z)) Comment exprimer que p doit être interprétée par une fonction? x y z (p(x, y) p(x, z) y = z), mais L 3 doit être égalitaire.

16- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : règles de précédence pour les connecteurs Booléens, on garde les mêmes règles de précédence que dans la logique propositionnelle les quantificateurs ont la même priorité que la négation Exemple : x p(x, y) p(y, x) ( x (p(x, y))) p(y, x)

17- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : décomposition d une formule Avec ces règles de précédence, toute formule d un langage du premier ordre se décompose de manière unique sous l une, et une seule, des formes suivantes : une formule atomique, φ, où φ est une formule, φ ψ, φ ψ, φ ψ, φ ψ où φ et ψ sont des formules, x φ ou x φ où φ est une formule et x est une variable. Une formule φ est une sous-formule de ψ si φ apparaît dans la décomposition de ψ.

18- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : variables libres et liées Une occurrence d une variable dans une formule est un couple constitué de cette variable et d une place effective, c est-à-dire qui ne suit pas un quantificateur. Par exemple, dans la formule r(x, z) z (r(y, z) y = z) la variable x possède une occurrence, la variable y deux et la variable z trois.

19- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : variables libres et liées Une occurrence d une variable x dans une formule φ est une occurrence libre si elle ne se trouve dans aucune sous-formule de φ, qui commence par une quantification x ou x. Dans le cas contraire, l occurrence est dite liée. Une variable est libre dans une formule si elle a au moins une occurrence libre dans cette formule. Une formule close est une formule sans variable libre.

19- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : variables libres et liées Une occurrence d une variable x dans une formule φ est une occurrence libre si elle ne se trouve dans aucune sous-formule de φ, qui commence par une quantification x ou x. Dans le cas contraire, l occurrence est dite liée. Une variable est libre dans une formule si elle a au moins une occurrence libre dans cette formule. Une formule close est une formule sans variable libre. Exemples : dans x p(x, y), l occurrence de x est liée et celle de y est libre dans r(x, z) z (r(y, z) y = z), la première occurrence de z est libre et les deux suivantes sont liées

19- INFO-F-302 - La Logique des Prédicats / Syntaxe Langages du premier ordre : variables libres et liées Une occurrence d une variable x dans une formule φ est une occurrence libre si elle ne se trouve dans aucune sous-formule de φ, qui commence par une quantification x ou x. Dans le cas contraire, l occurrence est dite liée. Une variable est libre dans une formule si elle a au moins une occurrence libre dans cette formule. Une formule close est une formule sans variable libre. Exemples : dans x p(x, y), l occurrence de x est liée et celle de y est libre dans r(x, z) z (r(y, z) y = z), la première occurrence de z est libre et les deux suivantes sont liées On note souvent φ(x 1,..., x n ) pour indiquer que φ possède exactement x 1,..., x n comme variables libres.

20- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et langages Une structure M pour un langage L se compose d un ensemble non vide M, appelé le domaine et : d un sous-ensemble de M n, noté r M, pour chaque symbole de prédicat r d arité n dans L ; d une fonction de M m dans M, notée f M, pour chaque symbole de fonction f d arité m dans L ; d un élément de M, noté c M, pour chaque symbole de constante c dans L.

21- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et langages : Exemples Un ensemble D muni d une relation unaire E et d un élément distingué a est une structure pour le langage L 1 = {r, c}, notée (D, E, a). On peut également donner un exemple plus concret d interprétation pour le langage L 1 = {r, c} en prenant l ensemble des nombres naturels comme domaine d interprétation, l ensemble des nombres premiers pour interpréter le prédicat r et le nombre 2 pour interpréter la constante c.

22- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et langages : Exemples L ensemble des réels R permet de construire une structure pour L 2 = {r, f, g, h, c, d} de la façon suivante : on interprète le prédicat r comme l ordre sur les réels ; on interprète f comme la fonction +1, g comme +, et h comme ; on interprète les constantes c et d comme 0 et 1. On note cette structure M 2 = (R,, +1, +,, 0, 1)

23- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules Etant donné un ensemble de variables V et un domaine M, une valuation pour les variables de V dans M est une fonction v : V M qui attribue à chaque variable x V, une valeur v(x) M. Etant données une structure M et une valuation v pour V, on définit inductivement la valeur d un terme t (dont les variables sont dans V), que l on note t M,v, de la façon suivante : si t est une constante c, alors t M,v est c M ; si t est la variable x alors t M,v est v(x) ; si t est de la forme f (t 1, t 2,..., t n ) et si t M,v i est b i alors t M,v = f M (b 1, b 2,..., b n ) ;

24- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules : exemple Soit le langage L 2 = {r, f, g, h, c, d} et M 3 la structure (N,, +1, +,, 0, 1), où N est l ensemble des entiers positifs (nombres naturels). La valeur du terme t 1 g(y, h(c, x)) pour une valuation v telle que v(x) = 3, v(y) = 4, v(z) = 6 est :

24- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules : exemple Soit le langage L 2 = {r, f, g, h, c, d} et M 3 la structure (N,, +1, +,, 0, 1), où N est l ensemble des entiers positifs (nombres naturels). La valeur du terme t 1 g(y, h(c, x)) pour une valuation v telle que v(x) = 3, v(y) = 4, v(z) = 6 est : La valeur du terme est : t M 3,v 1 = 4 + (0 3) = 4 t 2 f (g(d, h(y, z)))

24- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules : exemple Soit le langage L 2 = {r, f, g, h, c, d} et M 3 la structure (N,, +1, +,, 0, 1), où N est l ensemble des entiers positifs (nombres naturels). La valeur du terme t 1 g(y, h(c, x)) pour une valuation v telle que v(x) = 3, v(y) = 4, v(z) = 6 est : La valeur du terme est : t M 3,v 1 = 4 + (0 3) = 4 t 2 f (g(d, h(y, z))) t M 3,v 2 = (1 + (4 6)) + 1 = 26

25- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules Une formule φ construite sur un langage L est satisfaite dans une structure M et pour une valuation v donnant une valeur aux variables de l ensemble V, noté M, v =φ, si et seulement si : si L est égalitaire et φ t 1 = t 2 alors φ est vrai ssi t M,v 1 = t M,v 2 ; si φ r(t 1, t 2,..., t n ) et t M,v i = b i pour i = 1, 2,..., n, alors φ est vraie ssi (b 1, b 2,..., b n ) r M ;

26- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules si φ ψ 1, φ ψ 1 ψ 2, φ ψ 1 ψ 2, φ ψ 1 ψ 2, φ ψ 1 ψ 2 alors la valeur de φ est calculée à partir des valeurs de ψ 1 et ψ 2 comme dans le cas propositionnel ; si φ x ψ, alors φ est vraie ssi il existe une valuation v et une valeur u M telles que { v (y) = v(y) si y x v (y) = u si y x et ψ est vraie dans (M, v ), c est-à-dire M, v =ψ ;

27- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules si φ x ψ, alors φ est vraie ssi pour toute valuation v et valeur u M telles que { v (y) = v(y) si y x v (y) = u si y x ψ est vraie dans (M, v ) ; La valeur d une formule φ dans une structure M est l ensemble W des valuations telles que pour toute valuation v W, M, v =φ.

28- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules Notons que, si φ est une formule close, alors sa valeur de vérité dans un couple (M, v), ne dépend pas de v. Dans le cas où une formule close φ est vraie dans une structure M, ce que l on note, M =φ On dit que M est un modèle pour φ.

29- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules : exemples La structure (D, R, a) du langage L 1 = {r, c} est un modèle de la formule x y (r(x, y) r(y, x)) ssi la relation R est symétrique. La formule close suivante x r(x, x) x y (r(x, y) r(y, x)) x y z (r(x, y) r(y, z) r(x, z)) exprime que si une structure (D, R, a) est un modèle de la formule, alors R est une relation d équivalence. la formule y r(x, y) est vraie dans la structure (N,, +1, +,, 0, 1) et la valuation v ssi v(x) = 0 (Rappel : r est interprété par )

30- INFO-F-302 - La Logique des Prédicats / Sémantique Structures et satisfaction des formules : exemples la formule x y r(x, y) est vraie dans la structure (N,, +1, +,, 0, 1) ; la formule close x z y (x = c g(h(x, y), z) = c) du langage L 2 est vraie dans la structure (R,, +1, +,, 0, 1) et fausse dans la structure (N,, +1, +,, 0, 1).

31- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Soit φ(x 1, x 2,..., x n ) une formule du premier ordre avec les variables libres x 1, x 2,..., x n. On appelle clôture universelle de φ la formule x 1 x 2... x n φ(x 1, x 2,..., x n ) Soit L un langage du premier ordre, on définit les notions suivantes : une structure M satisfait une formule φ(x 1, x 2,..., x n ) si elle satisfait la clôture universelle de φ ; une formule φ est valide si elle est satisfaite par toutes les structures du langage L ; deux formules φ et ψ sont équivalentes si, pour toute structure M et pour toute valuation v, on a (M, v) =φ ssi (M, v) =ψ.

32- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Théorème Deux formules φ et ψ sont equivalentes si et seulement si la formule φ ψ est valide. Théorème Si, dans une formule, on remplace une sous-formule par une formule équivalente, alors on obtient une formule équivalente à la formule de départ. (Preuves à faire comme exercice).

33- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Exercices : démontrer que si φ et φ ψ sont des formules valides, alors ψ est une formule valide ; la formule ( x y φ(x, y)) ( y x φ(x, y)) est valide ; la formule ( y xφ(x, y)) ( x y φ(x, y)) n est pas valide.

34- INFO-F-302 - La Logique des Prédicats / Sémantique Montrons que la formule x. y.φ(x, y) y. x.φ(x, y) est valide Rappel : soient Ψ Ψ 1 Ψ 2 Ψ 1 x. y.φ(x, y) Ψ 2 y. x.φ(x, y) Ψ valide ssi pour toute structure µ : µ = Ψ Ψ valide ssi pour toute structure µ : si µ = Ψ 1 alors µ = Ψ 2 Ψ valide ssi pour toute structure µ : soit µ = Ψ 1, ou µ = Ψ 1 et µ = Ψ 2

35- INFO-F-302 - La Logique des Prédicats / Sémantique or si µ = Ψ 1 alors pour toute valuation v, u D µ : µ, v [x u] = y.φ(x, y) si µ = Ψ 1 alors pour toute valuation v, u D µ w D µ : µ, v [x µ,y w] = φ(x, y) On a donc que w D µ : µ, v [x u,y w] = φ(x, y). Donc on sait que φ(x, y) est vérifiée pour n importe quelle valeur attribuée à y si on attribue à x la valeur u. Il suffit donc de choisir cette valeur lors de l évaluation de la quantification existentielle dans la formule y x φ(x, y)

36- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Définition (substitution dans les termes) Étant donné un terme t et une variable x apparaissant dans ce terme, on peut remplacer toutes les occurrences de x par un autre terme t. Le nouveau terme est dit obtenu par substitution de t à x et est noté t(t /x). Exemple : le résultat de la substitution de f (y, z) à x dans le terme h(x, y) est le terme h(f (y, z), y) ; le résultat de la substitution de g(y, z) à x dans le terme g(x, x) est g(g(y, z), g(y, z)).

37- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Remarque sur la substitution dans les formules Avant d effectuer la substitution d un terme à une variable libre dans une formule, il est nécessaire de prendre quelques précautions. Sinon, la signification de la formule peut être complètement modifiée par un phénomène appelé capture de variables. Exemple : soit φ(x) la formule y g(y, y) = x. Dans la structure M = (N,, +1, +,, 0, 1), où g est interprété par l addition, la signification de φ(x) est claire : (M, v) = φ(x) ssi v(x) est pair. Si l on remplace la variable x par z, cette signification est conservée. Par contre si l on remplace la variable x par y, on obtient : y g(y, y) = y qui est une formule close qui est vraie dans M (en effet, il suffit de choisir la valeur 0 pour la variable y).

38- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Définition (Substitution dans les formules) La substition d un terme t à une variable libre x dans une formule φ est obtenue en remplaçant toutes les occurrences libres de cette variable par le terme t, sous réserve que la condition suivante soit vérifiée : pour chaque variable y apparaissant dans t, x n a pas d occurrence libre qui se trouve dans une sous-formule de φ commençant par une quantification y ou y. Le résultat de cette substitution, si elle existe, est une formule notée φ(t/x).

39- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Exemple : le résultat de la substitution du terme f (z) à la variable x dans la formule φ(x) suivante : est la formule ((r(c, x) x = c) ( yg(y, y) = x)) ((r(c, f (z)) f (z) = c) ( yg(y, y) = f (z))) Notons que la substitution de y à x n est pas possible dans cette même formule.

Formules valides, formules équivalentes Théorème Si φ est une formule, x est une variable libre dans φ et t un terme tel que la substitution de t à x dans φ soit définie, alors les formules sont valides. ( x φ(x)) φ(t/x) et φ(t/x) ( x φ(x)) Preuve. Etant données une structure µ et une valuation v, on suppose que µ, v = x φ(x) et on va montrer que µ, v = φ(t/x). Nous montrons d abord que µ, v = φ(t/x) si et seulement si µ, v [x t µ,v ] = φ(x), ce qui suffira pour conclure car par hypothèse, µ, v [x u] = φ(x) pour toute valeur u de D µ. Nous montrons l équivalence par induction sur la formule. Les seuls cas où il faut faire attention sont les cas où φ commence par un quantificateur. Prenons le cas d un quantification existentielle : φ(x) y Ψ(x, y). 40- INFO-F-302 - La Logique des Prédicats / Sémantique

41- INFO-F-302 - La Logique des Prédicats / Sémantique D après l hypothèse de la substitution de t à x, la quantification porte sur une variable y distincte à la fois de x et de toutes variables de t. On obtient donc : µ, v = y Ψ(t/x, y) ssi il existe u D µ tel que µ, v = Ψ(t/x, y) oú v = v [y u] ssi (par hypothèse d induction) il existe u D µ tel que µ, v = Ψ(x, y) [x t µ,v ] ssi (comme t µ,v = t µ,v puisque y n apparaît pas dans t) il existe u D µ tel que µ, v [x t µ,v ] = Ψ(x, y) ssi (puisque v et v sont égales sauf éventuellement sur y) µ, v [x t µ,v ] = y Ψ(x, y)

42- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Les couples de formules suivants sont des exemples de formules équivalentes : φ et x φ si x n est pas libre dans φ ; φ et x φ si x n est pas libre dans φ ; x (φ ψ) et ( x φ) ( x ψ) x (φ ψ) et ( x φ) ( x ψ) x (φ ψ) et x ( φ ψ) x φ et y φ(y/x) si x est libre dans φ et y n apparaît pas dans φ x φ et y φ(y/x) si x est libre dans φ et y n apparaît pas dans φ Si x n est pas libre dans ψ, on obtient les équivalences suivantes : x (φ ψ) et ( x φ) ψ x (φ ψ) et ( x φ) ψ

43- INFO-F-302 - La Logique des Prédicats / Sémantique Formules valides, formules équivalentes Les équivalences suivantes nous permettent de faire passer en tête de formule tous les quantificateurs. Soit φ une formule, x une variable et ψ une formule dans laquelle x n est pas libre : x φ et x φ x φ et x φ ( x φ) ψ et x (φ ψ) ( x φ) ψ et x (φ ψ) (ψ x φ) et x (ψ φ) (ψ x φ) et x (ψ φ) ( x φ) ψ et x (φ ψ) ( x φ) ψ et x (φ ψ) Notons également que les formules suivantes sont équivalentes : x y φ et y x φ x y φ et y x φ