Programmation par Answer Set Cours 1Programmation par Answer Set1 PreliminairesNous de nirons dans cette section les di erents elements du langage logique que nous utiliserons,et introduirons la notion de programme logique. Cette section donne donc la syntaxe utilisee enprogrammation par Answer Set.1.1 LangageOn considere un langage de logique du premier ordreL, sans fonctions, muni de deux types denegations :{ la negation classique, ou explicite (:).:p signi e explicitement que p est faux.{ la n par l’echec, negation as failure ou NAF en anglais (not). not p signi e que l’on apas "p vrai", c’est a dire que l’on a aucune preuve que p soit vrai.Ces deux negations peuvent se combiner. Ainsi not:p signi e que l’on a aucune preuve que p soitfaux.Nous rappelons ici quelques de nitions :Terme. Un terme t est une constante ou une variable du langageL.Atome. Un atome a est un element de la forme P (t ;:::;t ) ou t ;:::;t sont n termes, et P est un1 n 1 npredicat d’arite n.Literal. Un literal est usuellement un atome ou un atome precede d’un symbole de negation. Etantdonne que nous considerons deux types de negations, nous distinguerons les literaux classiquesdes NAF-literaux :Literal classique. Un literal classique L est un atome (a) ou un atome precede de la negationexplicite (:a). On note::L le complementaire d’un literal classique : si L = a,::L =:aet si L =:a,::L = a. Dans ce qui suit, sauf mention explicite du ...
Voir