530 likes | 721 Views
Lógica de 1ª Ordem. Sintaxe. Def. 1 Um alfabeto de 1ª ordem, , é a união dos conjuntos: = P símbolos predicativos F símbolos funcionais C símbolos de constantes V variáveis
E N D
Sintaxe • Def. 1 Um alfabeto de 1ª ordem,, é a união dos conjuntos: = Psímbolos predicativos Fsímbolos funcionais Csímbolos de constantes Vvariáveis {~, &, , , } operadores lógicos {, } quantificadores {(,)} pontuação
Sintaxe • Def. 2Termos são expressões (palavras, cadeias) sobre que representam elementos do domínio (universo): • se a C então a é um termo. • se x V então x é um termo. • se f F e tem aridade n, e t1, ..., tn são termos, então f(t1, ... ,tn) também é um termo.
Sintaxe • Def. 3 Fórmulas de 1ª ordem são expressões sobre para se estabelecer propriedades ou relacionamentos entre elementos do domínio. • se t1, ..., tn são termos sobre e P é um símbolo predicativo n-ário de , então P(t1, ..., tn) é uma fórmula sobre (chamada fórmula atômica). • se a e b são fórmulas sobre , então (~a), (a & b), (a b), (a b) e (a b) também são fórmulas sobre . • se a é uma fórmula sobre e x V, então x(a) e x(a) também são fórmulas sobre .
Sintaxe • Def. 4 Uma linguagem de 1ª ordem sobre um alfabeto , L(), é o conjunto das fórmulas de 1ª ordem sobre .
Sintaxe: Exemplo 1 • Expressar em uma linguagem de 1a ordem a sentença: “Para todo x, 1 sen(x) 1”: 1. Definição de : P = { }, F = { , sen}, C = { 1 } , V = { x }
Sintaxe: Exemplo 1“Para todo x, 1 sen(x) 1”: 2. introdução do quantificador x(1 sen(x) 1) 3. desmembramento da expressão 1 sen(x) 1 x(1 sen(x) & sen(x) 1) 4. substituição das expressões por termos na forma infixada x((1, sen(x)) & (sen(x), 1)) 5. substituição da expressão 1 pelo termo (1) x(((1), sen(x)) & (sen(x), 1))
Sintaxe: Exemplo 2 “Não há um conjunto que contenha todos os conjuntos” Definição de P= { }, F = , C = V = { x, y } 2. ~x(todo conjunto é um membro de x) 3. ~x(y(y x)) 4. ~x(y((y, x))
Sintaxe: Exemplo 3 “Todos os homens são mortais e Sócrates é um homem. Portanto, Sócrates é Mortal” Definição de : P = {Homem, Mortal}, F = , C = {sócrates} V = { x} • x(Homem(x) Mortal(x)) • Homem(Sócrates) • Mortal(Sócrates)
Sintaxe:variáveis livres ou ligadas Def. 5 Em uma fórmula do tipo x(a) (ou da forma x(a) ), a é o escopo do quantificador. • Def. 6 Uma ocorrência de uma variável x em uma fórmula aé ligada em a, se x está no escopo de algum quantificador de a. Caso contrário, a ocorrência é livre em a.
Sintaxe:variáveis livres ou ligadas Def. 7Uma variável x é dita ser livre em uma fórmula ase pelo menos uma das ocorrências de x é livre em a. Def. 8 Uma fórmula aé uma sentença se e somente se nenhuma variável ocorre livre em a.
Sintaxe:variáveis livres ou ligadas • Exemplos de ocorrências livres e ligadas Fórmula a. P(y) x(P(x)) y é livre e x é ligada. P(x) x(P(x)) 1a x é livre, 2a é ligada. x(P(x) Q(x)) é uma sentença.
Sintaxe:variáveis livres ou ligadas • Exemplos de ocorrências livres e ligadas Fórmula a. x y( z(P(x,y,w,z))w(Q(z,w,x,r))) x, y, w e z: ligadas em a . w, z e r: livres em a . w e z: ligadas e livres em a .
Sintaxe:substituições Def. 9 Se u é um termo, u[x/t] denotará o termo obtido substituindo-se as ocorrências de x em u pelo termo t. Exemplo: u= f(x) e t=5 u[x/t] denota u= f(5)
Sintaxe:substituições • Def. 10 Se a é uma fórmula, a[x/t] denotará a fórmula obtida substituindo-se cada ocorrência de x em a pelo termo t. Exemplo: a= x(P(x) Q(x)) e t=joão a[x/t] denota: a = (P(joão) Q(joão))
Sintaxe:substituições Def. 11 Se x1, ..., xn são variáveis distintas e t1, ..., tn são termos, a expressão u[x1/t1, ..., xn/tn] denotará a substituição simultânea de xi por ti, i = 1, ..., n, no termo u. Exemplo: a= xy( P(x) Q(y) ) e t1=joão; t2 = ana a[x/t1, y/t2] denota: • a’ = (P(joão) Q(ana))
Sintaxe:substituições Def. 12 Uma variável x é substituível por t em uma fórmula a se, para cada variável y ocorrendo em t, nenhuma sub-fórmula de a do tipo y(b) ou do tipo y(b) contém uma ocorrência livre de x.
Sintaxe:substituições Exemplos: se t = f(x), então, t[x/a] = f(a). se t = g(f(y), y), então, t[y/z] = g(f(z), z). se t = g(x, y), então, t[x/f(a), y/b] = g(f(a), b).
Sintaxe:substituições Exemplos: se a = P(x) & Q(x, f(y)), então, a[x/a, y/b] = P(a) & Q(a, f(b)). se a = yP(x, y) e t = f(y), então a[x/t] não é permitido, pois yP(f(y), y) seria uma sentença.
Sintaxe:substituições Exemplo: a = y(Ama(x,y)) e os termos: t1= pai(z) e t2= pai(y) x é substituível por t1 e x não é substituível por t2 (a variável do termo aparece quantificada e x ocorre livre no escopo do quantificador)
Sintaxe:substituições Exemplo: a = y(P(y,w)) ^ Q(x) e o termo: t= f(y) x é substituível por t e w não é substituível por t (a variável do termo aparece quantificada e w ocorre livre no escopo do quantificador)
Semântica:Motivação A fórmula que segue, é verdadeira ou falsa? x(L(x) → P(x)) P = ser bom programador L = ser aluno de lógica É necessário saber: • quais são os elementos desse universo • quais as atribuições de valor verdade para cada símbolo predicativo, considerando cada elemento do universo
Semântica: Motivação • Uma interpretação de uma fórmula de 1a Ordem consiste em: • Identificar domínio • Atribuir valores a cada símbolo da fórmula • Formalmente, uma interpretação é definida como segue:
Semântica(Interpretação de Fórmulas) • Def. 13 Uma interpretação Ipara uma fórmula a consiste de um domínio não-vazio D e de uma atribuição de valores, v , para cada símbolo de constante, de funções e de predicados que ocorrem em a. v é definida da seguinte forma:
Semântica(Interpretação de Fórmulas) • v: C D, isto é, para cada constante a é atribuído um elemento aI D. • v: F [Dn D], isto é, para cada símbolo funcional n-ário f é atribuído uma função f I de Dn em D. • v: P [Dn {V, F}], isto é, para cada símbolo predicativo n-ário P é atribuído uma função PI de Dn em {V, F}.
Semântica(Interpretação de Fórmulas: Exemplo) Seja a = x(~P(x)) I = <D, v >, onde: (D é o domínio ou universo) D = {1, 2} (v são as atribuições) v(P) = PI definida como: PI(1) = V e PI(2) = F
Semântica(Interpretação de Fórmulas: Exemplo) Seja a = x(P(f(x)) Q(a)) I = <D, v >, onde: D = {João, José}, v(a) = aI = João v(f) = fI : fI(João) = José fI(José) = João v(P) = PI : PI(João) = F PI(José) = V v(Q) = QI : QI(João) = F QI(José) = V
Semântica(Avaliação de uma Fórmula em uma Interpretação ) • Def. 14 A avaliação v´ (induzida por v) de uma fórmula a em uma interpretação I é definida: • v´(a) = v (a), se a é uma fórmula atômica. • se v´(a) e v´(b) são conhecidos, v´(a & b), v´(ab), v´(ab), v´(ab) e v´(~a) são definidas como na Lógica Proposicional. • v´(x(a)) = V se v´(a) = V para todo x D. Caso contrario, v´(x(a)) = F. • v´(x(a)) = V se v´ (a) = V para algum x D. Caso contrário v´(x(a)) = F.
Semântica(Avaliação de uma Fórmula em uma Interpretação ) Exemplo: Seja a = x(P(f(x)) Q(a)) e I a interpretação definida abaixo: I = <D, v >, onde D = {1, 2} e v(a) = aI = 2 v(f) = fI : fI(1) = 2 fI(2) = 1 v(P) = PI : PI(1) = V PI(2) = V v(Q) = QI : QI(1) = V QI(2) = V Qual a avaliação de a para I ?
Semântica(Avaliação de x(P(f(x)) Q(a)) ) para I dada) se x = 1 v´(P(f(x)) Q(a)) = v´(P(f(1))) v´(Q(a)) = v´(P(f (1))) v´(Q (a)) = PI(f I(1)) QI(a I) = PI(2) QI(2) = V V = V
Semântica(Avaliação de x(P(f(x)) Q(a)) ) para I dada) se x = 2 v´(P(f(x)) Q(a)) = v´(P(f(2))) v´(Q(a)) = v´(P(f (2))) v´(Q (a)) = PI(fI(2)) QI(aI) = PI(1) QI(2) = V V = V Avaliação: v´(x(P(f(x)) Q(a))) = V na interpretação I
Semântica(Exercício) Para a interpretação que segue, qual o valor lógico de a ?a = xy(~P(x,e) P(e,y)) D = {carlos, josé, maria} Atribuições: PI(carlos,carlos) = PI(josé,josé) = PI(maria,maria) = F PI(carlos,josé) = PI(josé,carlos) = V PI(carlos,maria) = PI(maria,carlos) = F PI(josé,maria) = PI(maria,josé) = V eI =carlos
Semântica • Todos os conceitos tais como validade, satisfatibilidade e consequência lógica definidos para a Lógica Proposicional podem ser definidos da mesma forma para a Lógica de 1ª Ordem.
Semântica • Sumário da classificação das fórmulas a) VÁLIDA (TAUTOLOGIAS (|= )) b1) SATISFATÍVEL (CONSISTENTE) FÓRMULA b) INVÁLIDA b2) INSATISFATÍVEL( |G ) (INCONSISTENTE, CONTADIÇÃO)
Semântica • Def. 15 Uma fórmula a é dita ser satisfatível se e somente se existe ao menos uma interpretação I na qual v´() = V. É dito então que I satisfaza ou que I é um modelo para a. Def. 16 Uma fórmula a é dita ser válida ( |= a ) se e somente se v´(a) = V para toda interpretação I de a.
Semântica • Def. 17 Uma fórmula a é dita ser consequência lógica de um conjunto de fórmulas ( |= a ) se e somente se toda interpretação I que satisfaz também satisfaz a. • Teorema 1: |= a sse a é uma tautologia • Teorema 2: |= a sse ^ ~a é insatisfatível
Semântica • DECISÃO SOBRE A VALIDADE DE UMA FÓRMULA • Para fórmulas da Lógica de 1a Ordem, existe infinitos domínios e uma infinidade de interpretações possíveis. Por isso, não é possível verificar a validade ou a inconsistência de uma fórmula. Logo, não existe um algoritmo que verifique todas as possíveis interpretações. • Para a Lógica Proposicional, as interpretações são finitas (2n, n = símbolos proposicionais) existe um algoritmo: Tabela Verdade • Problema de Decisão: • Lógica Proposicional : Solúvel (decidível) • Lógica de 1a Ordem : Insolúvel (indecidível)
Semântica • COMO DECIDIR SOBRE A VALIDADE DE UMA FÓRMULA DE 1a ORDEM ?? • Precisamos raciocinar para determinar se uma fórmula é verdadeira em todas as interpretações • Como não é possível verificar todas as interpretações, se pudermos encontrar pelo menos uma interpretação na qual a fórmula seja falsa (um contra exemplo), fica provado que ela não é válida. • Exercícios: ...........
Semântica • Exercício: Determine, para cada uma das fórmulas que segue, se a fórmula é ou não é válida. a) x P(x) x P(x) b) x P(x) P(a) c) x (P(x) ^Q(x)) (x P(x) ^x Q(x)) d) x (P(x) vQ(x)) (x P(x) vx Q(x)) e) xP(x) yP(x)
Equivalências de 1a Ordem • As “leis” da Lógica Proposicional e as apresentadas a seguir permitem simplificar fórmulas da Lógica de 1a Ordem.
Equivalências de 1a Ordem x(a) b x(a) ^ b x(a) b x(a) ^ b
Equivalências de 1a Ordem x(~a) x(a) x(~a) x(a)
Equivalências de 1a Ordem x(a ^ b) x(ab) xz(ab) xz(a ^ b)
Forma Normal Prenex • Def. 1 Uma fórmula a é dita estar na forma normal prenex se e somente se a é da forma: Q1x1, ... ,Qnxn(M) onde Qi {, } e M é uma fórmula sem quantificadores. • Toda fórmula de 1a Ordem pode ser transformada na Forma Normal Prenex
Procedimento de Transformação de Fórmulas para a Forma Normal Prenex • Passo 1: usar as “leis” abaixo para eliminar os conectivos ~, e ~(~a) |=| a ab|=| (ab) ^ (ba) ab|=| ~ab
Procedimento de Transformação de Fórmulas para a Forma Normal Prenex • Passo 2:usar repetidamente as “leis” abaixo para interiorizar a negação ~(a ^ b) |=| ~a ~b ~(ab) |=| ~a ^ ~b ~x(a)|=| x(~a) ~x(a) |=| x(~a)
Procedimento de Transformação de Fórmulas para a Forma Normal Prenex • Passo 3: usar as “leis” abaixo para mover os quantificadores para a esquerda e obter a forma normal prenex: Qx(ab) |=| Qx(a) b Qx(a ^ b) |=| Qx(a) ^ b x(a) ^ x(b) |=| x(a ^ b) x(a) x (b) |=| x(ab) x(a) x(b) |=| xz(ab) x(a) ^ x (b) |=| xz(a ^ b)
Transformação de Fórmulas para a Forma Normal Prenex • Exemplo: x(P(x)) x(Q(x)) ~x(P(x)) vx(Q(x)) x(~P(x)) v x(Q(x)) x(~P(x) v Q(x))
Transformação de Fórmulas para a Forma Normal Prenex • Exemplo: x(P(x)) v x(~Q(x)) v x(R(x)) x(P(x)) v y(~Q(y)) v z(R(z)) xyz (P(x) v ~Q(y) v R(z))