Lógica de 1ª Ordem.

Slides:



Advertisements
Apresentações semelhantes
Lógica de Predicados e Representação de Conhecimento
Advertisements

Capítulo 8 A linguagem da Lógica de Predicados
Prof. Marcone Sotéro Cálculo de Predicados Prof. Marcone Sotéro
Monitoria de Discreta: Aula de Revisão
Capítulo 9 A semântica da Lógica de Predicados
Capítulo 3 Propriedades semânticas da Lógica Proposicional
Capítulo 1 A linguagem da Lógica Proposicional
Tópicos de Lógica Proposicional
Formalizar semântica da LPO
Lógica Proposicional-1
Elsa Carvalho 163 Universidade da Madeira Departamento de Matemática Programação em Lógica e Funcional (2000/01) (Actualizado em 2004/05) Teoria dos Modelos.
Lógica de Predicados Sintaxe. O que não é possível expressar em Lógica Prop. Todo tricolor é um campeão. Roberto é tricolor. Logo Roberto é um campeão.
Introdução à Lógica Matemática
Lógicas em Dedução Natural
Introdução à Programação Lógica
Cálculo Relacional Datalog não-recursivo
Resolução.
BCC 101– Matemática Discreta
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Lógica para Computação
Lógica para Computação
DEDUÇÃO NO CÁLCULO PROPOSICIONAL
Lógica de Primeira Ordem -2
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
INF 1771 – Inteligência Artificial
Conceitos Básicos.
FUNDAMENTOS MATEMÁTICOS
Lógica de Predicados Teorema de Herbrand.
UNIVERSIDADE ESTADUAL DE SANTA CRUZ
Capítulo 5 Relações semânticas entre os conectivos da Lógica Proposicional
Capítulo 10 Propriedades semânticas da Lógica de Predicados
Capítulo 4 Métodos para determinação de propriedades semânticas de fórmulas da Lógica Proposicional
INF 1771 – Inteligência Artificial
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Cássio Cristo Dawyson Guerra Matheu Santos
INF 1771 – Inteligência Artificial
Cálculo relacional Lílian Simão Oliveira.
Teorema de Herbrand e Unificação
Métodos para determinação de validade de fórmulas
SEMÂNTICA.
Lógica de Predicados Semântica.
Lógicas e Inferência para IA
Lógica de Predicados Sintaxe.
Teorema de Herbrand e Unificação
BCC101 Matemática Discreta I
André Luiz da Costa Carvalho
Lógica matemática.
Métodos para determinação de validade de fórmulas
BCC101 Matemática Discreta I
Lógica Matemática Introdução.
Inteligência Artificial: Lógica Proposicional e Prolog
Decidibilidade, Corretude, Completude, Consistência
Relações semânticas entre conectivos e formas normais
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Decidibilidade, Corretude, Completude, Consistência, Monotonicidade
Linguagem de 1ª ordem da teoria de conjuntos
Cálculo Lâmbda (l – Calculus)
1 Teoria de 1ª Ordem Def. 18  Dado um conjunto A, dizemos que um subconjunto A’ de A é decidível se e somente se existir um procedimento efetivo (um algoritmo)
Lógica Proposicional.
Lógica Proposicional.
Teorema de Herbrand.
Lógica para Computação
Lógica matemática.
UNIP UNIVERSIDADE PAULISTA Professor: Yure de Queiroz Lima
Interpretação do Teorema de Herbrand
Introdução a Lógica Matemática
Lógica de Predicados Tableaux semânticos.
1 Lógica de Predicados BCC101 Matemática Discreta I.
Lógica Matemática e Elementos de Lógica Digital
REVISÃO MD 1ºEE (EC) Assuntos da prova: Lógica Proposicional,
Transcrição da apresentação:

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 {~, &, , , } operadores lógicos {, } quantificadores {(,)} pontuação

Sintaxe Def. 2  Termos 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 .

“Para todo x,  1  sen(x)  1”: 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 x(Homem(x)  Mortal(x)) Homem(Sócrates) “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: Convenções Adotadas Objeto sintático Convenção notacional variáveis letras do fim do alfabeto ... x, y, z. constantes letras do início do alfabeto a, b, c, ... ou palavras símbolos funcionais ..., f, g, h, ... ou palavras símbolos predicativos ..., P, Q, R, ... ou palavras termos ..., t, u, v, ... fórmulas a, b, c, ... conjunto de fórmulas G, ,, ...

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. 7 Uma variável x é dita ser livre em uma fórmula a se 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= xy( 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 I para 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´(a  b), v´(a  b), v´(a  b) 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 = xy(~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 (|=  )) FÓRMULA b1) SATISFATÍVEL (CONSISTENTE) 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 satisfaz a 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) v Q(x))  (x P(x) v x 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 B x(a  b) x não ocorre em b x(a ^ b) “ x(a  b) x(a ^ b) x(a)  b x(a) ^ b x(a)  b x(a) ^ b

Equivalências de 1a Ordem B ~x(a) ~x(~a) ~x(a) ~x(~a) x(~a) x(a) x(~a) x(a)

Equivalências de 1a Ordem B x(a) ^ x(b) x(a)  x (b) x(a)  x(b) z não ocorre em a x(a) ^ x (b) “ x(a ^ b) x(a  b) xz(a  b) xz(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 a  b |=| (a  b) ^ (b  a) a  b |=| ~ a  b

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 ~( a  b) |=| ~ 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(a  b) |=| Qx(a)  b Qx(a ^ b) |=| Qx(a) ^ b x(a) ^ x(b) |=| x(a ^ b) x(a)  x (b) |=| x(a  b) x(a)  x(b) |=| xz(a  b) x(a) ^ x (b) |=| xz(a ^ b)

Transformação de Fórmulas para a Forma Normal Prenex Exemplo: x(P(x))  x(Q(x)) ~x(P(x)) v x(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)) xyz (P(x) v ~Q(y) v R(z))

Transformação de Fórmulas para a Forma Normal Prenex Exemplo: x y( z(P(x,z) ^P(y,z))  u(Q(x,y,u) ) x y(~z(P(x,z) ^P(y,z)) v u(Q(x,y,u) ) x y(z~(P(x,z) ^P(y,z)) v u(Q(x,y,u) ) x y(z (~P(x,z) v ~P(y,z)) v u(Q(x,y,u)) x yz u((~P(x,z) v ~P(y,z)) v Q(x,y,u))

Transformação de Fórmulas para a Forma Normal Prenex Exemplo: xy(C(x, y)  (z(P(x, z)) ^ w(P(y, w)))) xy(~C(x, y) v (z(P(x, z)) ^ w(P(y, w)))) xyzw(~C(x, y) v (P(x, z) ^ P(y, w)))