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.
Interprétation I d’un vocabulaire W 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