Rappels de logique des prédicats du 1er ordre G. Falquet Langage • Vocabulaire : symboles de variables, constantes, fonctions, prédicats. – arité des fonctions et prédicats • parenthèses • connecteurs logiques: ¬ • quantificateurs: $, " Grammaire terme --> constante | variable terme --> fonction ( terme, ... ) atome --> prédicat ( terme, ... ) littéral --> atome | ¬atome formule --> atome | f. k f. formule --> " var. f. | $ var. f. Sémantique Interprétation I d’un vocabulaire W • domaine D • pour chaque constante c de W, cI de D • pour chaque symbole de fonction n-aire f, fonction fI de Dn dans D • pour chaque symbole de prédicat n-aire P, relation PI sur Dn Interprétation des formules • assigner des valeurs de D aux variables libres • f(t1, …, tn)I = fI(t1I, …, tnI) • P(t1, …, tn)I = vrai ssi (t1I, …, tnI) dans PI "x w(x) I = vrai ssi w(x)[x = d] I = vrai pour tout d de D $x w(x) I = vrai ssi w(x)[x = d] I = vrai pour au moins un d de D Modèle Soit F = {w1, …, wn} un ensemble de formules fermées, un modèle de F est une interprétation I telle que w1I = vrai , …, wnI = vrai. F est dit satisfaisable s’il existe au moins un modèle de F. S’il n’existe pas de modèle de F on dit que F est inconsistant. Exemple F = {P(a, b), ¬ $y P(a, y) } est inconsistant Calculabilité (1) • Problème: prouver la satisfaisabilité de F • Trouver un modèle • S'il n'y a pas de variables ni de fonctions (logique des propositions) – algorithme: • énumérer toutes les interprétations • vérifier si c'est un modèle de F – on ne peut faire mieux (NP-complet) Théorie logique du 1er ordre • Approche syntaxique • Axiomes • Règles d'inférence • But: produire des théorèmes qui sont "vrais" c-à-d conséquences logiques des axiomes Axiomes (schémas) • v (w v) • (v (w u)) ((v w) (v u)) • (¬ w ¬ v) ((¬ w v) w) "x w w(t/x) où t est un terme qui est “librement substituable pour x dans w” ("x (v w)) (v "x w) si v ne contient aucun occurrence libre de x. Règles • Modus ponens – u v, u --> v • Généralisation – u --> "x u Bonnes propriétés La théorie est • valide (sound), tout théorème déduit à l’aide des règles est une tautologie (valide); • consistante, il n’y a pas de formule w telle que w et ¬ w; • complète, toute tautologie est un théorème; • on a un théorème de déduction. si u --> v alors --> (u v) sous quelques conditions Théories "pratiques" • Remplacer les deux règles MP et GEN par des règles "plus efficaces" – p.ex. principe de résolution de Robinson • Utiliser des équivalences – u v == ¬u v, etc. – normaliser les formules Calculabilité (2) • Il n'y a pas d'algorithme de test de satisfaisabilité • On peut appliquer les règles d'inférence mais on ne peut prédire l'arrêt • L'ensemble des formules fermées non satisfaisable est récursivement énumérable mais pas récursif – il y a un algorithme qui répond "non sat." ou tourne indéfiniment, c'est tout ce qu'on peut faire