Cláusulas Conjuntos de cláusulas – Cláusula: conjunto finito de literais C1= {Small(a), Cube(a), Backof(b,a)} C2= {Small(a), Cube(b)} – Cláusula é satisfeita por uma atribuição de verdade h: – Cláusula vazia: pelo menos um dos literais da cláusula tem o valor V em h não é satisfeita por qualquer atribuição C : h satisfaz C sse a disjunção das frases em C tem o valor V em h’ Satisfação de um conjunto S de cláusulas – – S é satisfeito por h desde que cada cláusula de S seja satisfeita por h A fórmula (CNF) obtida pela conjunção das disjunções correspondentes às fórmulas de S é satisfeita por h’ Tópicos de Lógica Proposicional-1 Resolução Para mostrar que um conjunto S de cláusulas não é satisfazível: – – mostrar que um conjunto maior S’ obtido do primeiro também não o é válido desde que S e S’ sejam satisfeitos exactamente pelas mesmas atribuições Método: provar que a frase S (em CNF) não é satisfazível – transformar S num conjunto de cláusulas – adicionar sistematicamente novas cláusulas - resolventes – disjunções de literais passam a cláusulas com os mesmos literais conjunção passa a conjunto de cláusulas novas são tais que o conjunto é satisfeito pelas mesmas atribuições se chegarmos a um conjunto que contém , a frase inicial não é satisfazível Tópicos de Lógica Proposicional-2 Resolventes Exemplo1 – C1= {Small(a), Cube(a), Backof(b,a)} C2= {Small(a), Cube(b)} Para satisfazer {C1, C2} é preciso atribuir V a pelo menos 1 de Cube(a) Backof(b,a) Cube(b) C3 = {Cube(a), Cube(b), Backof(b,a)} é um resolvente de C1 e C2 – {C1, C2, C3} é satisfeito pelas mesmas atribuições que {C1, C2} – Exemplo2 – – C1= {NaSala(Rui), NaSala(Ana)} C2= {NaSala(Rui)} C3= {NaSala(Ana)} Uma atribuição que satisfaz {C1, C2, C3} satisfaz C4 = {NaSala(Rui)} {C1, C2, C3, C4} não é satisfazível Tópicos de Lógica Proposicional-3 Resolvente Definição: (resolvente) – R é uma resolvente das cláusulas C1 e C2 se existe uma fórmula atómica numa delas e a sua negação na outra, sendo R o conjunto de todos os restantes literais de ambas. Exemplos {A,D} {A} {A, A} {D} {B,C} {B, D} {C, D} {A} {A} {D} {D} { } Tópicos de Lógica Proposicional-4 Correcção da resolução Teorema: Sendo S um conjunto não satisfazível de cláusulas numa linguagem com frases atómicas independentes, é sempre possível, por resolução sucessiva, chegar a . Exemplo A (B C B) (C D) (A D) (B D) – – Conversão em conjunto de cláusulas A}, {B, C}, {C, D}, {A, D}, {B, D} Usar resolução para mostrar que o conjunto não é satisfazível {B,C} {C, D} {A,D} {A} {D} {B, D} {B, D} {D} Tópicos de Lógica Proposicional-5 Consequência lógica Provar consequência lógica usando resolução Para mostrar que C é consequência lógica de P1, P2, …, Pn Usar resolução para provar que P1 P2 … Pn C não é satisfazível – – – reduzir a forma normal conjuntiva converter em conjunto de cláusulas aplicar resolução Tópicos de Lógica Proposicional-6 Forma condicional (NaSala(Ana) NaSala(Rui)) Feliz(Luis) Substituindo o condicional pela sua definição em termos de e NaSala(Ana) NaSala(Rui) Feliz(Luis) obtém-se uma disjunção com um só literal positivo Em geral – frase de Horn é conjunção de frases cada frase da conjunção é disjunção com 1 literal positivo e vários negativos A1 A2 … An B pode ser reescrita como – (A1 A2 … An) B Casos particulares – – Disjunção sem literal positivo: (A1 A2 … An) False Disjunção sem literais negativos: True B Tópicos de Lógica Proposicional-7 Forma condicional de frase de Horn Uma frase de Horn em lógica proposicional é logicamente equivalente a uma conjunção de afirmações condicionais de uma das três formas seguintes (A1 A2 … An) B (A1 A2 … An) False True B Resolução: – – – proposto e desenvolvido por Alan Robinson (1965) apropriado para a demonstração automática de teoremas problemas formulados como séries de condicionais e bicondicionais: a transformação em CNF é imediata Tópicos de Lógica Proposicional-8