44
Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia UNIRIO

ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Introdução à Lógica ComputacionalILC 2019.2Aula: Lógica de Predicados II

Mestrando: Daniel da Silva CostaProfessora: Dra. Ana Cristina Bicharra GarciaUNIRIO

Page 2: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Recordar é viver...

Page 3: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Sintaxe

● Conectivos Lógicos: ¬, ∧, ∨, →, ⇔● Objetos: concretos, abstratos, fictícios● Termos: t1, t2, …, tn

○ Variáveis: x, y, z (“alguém”, “algo”, “algum”)○ Constantes: a, b, c (“João”, “Turma ILC”, “o ponto A”)

● Predicados: P, P(x), Q(x), R(x, z), T(x, y, z)○ Propriedades ou relações entre os objetos do universo

● Quantificadores: ∀ (Universal), ∃ (Existencial)

Page 4: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores

Para D = {a, b, c}

Quantificador Universal ⇔ Conjunção∀(x)[ colorido(x) ] ⇔ colorido(a) ∧ colorido(b) ∧ colorido(c)

Quantificador Existencial ⇔ Disjunção∃(x)[ colorido(x) ] ⇔ colorido(a) ∨ colorido(b) ∨ colorido(c)

[Pereira]

¬cor(a, azul)

M

Page 5: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Fórmulas

● Definição de Fórmula: [PUCSP]○ Se A e B forem fórmulas então: (¬A), (A ∧ B) , (A ∨ B) ,

(A → B) e (A ⇔ B) são fórmulas.○ Se A for uma fórmula e x uma variável então (∀x)A e

(∃x)A são fórmulas.

Page 6: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Fórmulas Atômicas

● Toda fórmula atômica é uma fórmula.● P(x), Q(y), R(x, z), T(x, y, z)● Sem quantificadores, apenas o predicado.● Exemplo: T(x, y, z)

○ “Pessoa X emprestou para pessoa Y um livro Z”.○ “João emprestou para Maria o livro O Senhor dos Anéis”.

Page 7: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores - Exemplos

1. Pedras preciosas são caras.2. Ninguém gosta de impostos. 3. Vegetarianos não gostam de açougueiros.

Page 8: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores - Negação

[PUCSP]

Seja a fórmula (∀x) P(x) e o conjunto universo U = { a, b, c }.

(∀x) P(x) ⇔ P(a) ∧ P(b) ∧ P(c)

Podemos considerar então que :

¬(∀x) P(x) ⇔ ¬( P(a) ∧ P(b) ∧ P(c) ) ⇔ ¬P(a) ∨ ¬P(b) ∨ ¬P(c)

Page 9: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores - Negação

Existe no mínimo um objeto em U tal que ¬P(x).

Logo:

¬(∀x) P(x) ⇔ (∃x) ¬P(x)

Segue-se que:

(1) ¬(∀x) P(x) ⇔ (∃x) ¬P(x)(2) ¬(∀x) ¬P(x) ⇔ (∃x) P(x)(3) ¬(∃x) P(x) ⇔ (∀x) ¬P(x)(4) ¬(∃x) ¬P(x) ⇔ (∀x) P(x)

Page 10: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores - Equivalência

[Pereira]

Nem toda estrada é perigosa.

(=?)

Algumas estradas não são perigosas.

Page 11: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores - Equivalência

Nem todo bêbado é fumante.

(=?)

Alguns bêbados são fumantes.

Page 12: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Quantificadores - Equivalência

Nem todo ator americano é famoso.

(=?)

Alguns atores americanos não são famosos.

Page 13: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Validade

Page 14: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 0 - [PUCSP]

Todos os humanos são racionais.

Alguns animais são humanos.___________________________________

Portanto, alguns animais são racionais.

Page 15: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

“Novas ferramentas”

● Instanciação● Funções de Skolem● Unificação

Page 16: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Instanciação

(Variáveis Universais)

Page 17: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Instanciação - Variável Universal

“Todo cão é fiel a alguém” [Pereira]

Fórmula: ∀x[ cão(x) → ∃y[ fiel(x, y) ] ]

Instância: cão( Totó ) → ∃y[ fiel( Totó, y ) ] / { x = Totó }

“Se Totó é um cão, então Totó é fiel a alguém.”

Fórmula e instância têm significados coerentes.Fonte da Imagem: http://1.bp.blogspot.com/-dG7aEjKdYNM/UOQu_lQBI2I/AAAAAAAAOI4/tndpJyF_ZRI/s1600/Pug_Dog2.jpg

Page 18: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Instanciação - Variável Existencial

“Todo cão é fiel a alguém” [Pereira]

Fórmula: ∀x[ cão(x) → ∃y[ fiel(x, y) ] ]

Instância: ∀x[ cão(x) → fiel(x, Daniel) ] / { y = Daniel}

“Todo cão é fiel a Daniel.”

Fórmula e instância têm significados diferentes.

Page 19: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Funções de Skolem

(Variáveis Existenciais)

Page 20: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Funções matemáticas

y = f(x) ⇔ { x ∈ A e y ∈ B }

Fonte: https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_(matem%C3%A1tica)

Fonte: https://sc01.alicdn.com/kf/HTB19zvXn7OWBuNjSsppq6xPgpXa1/Commercial-Espresso-Coffee-Machine-Instant-Coin-Coffee.jpg_350x350.jpg

Page 21: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Funções de Skolem

“Todo cão é fiel a alguém” [Pereira]

Fórmula: ∀x[ cão(x) → ∃y[ fiel(x, y) ] ]

{ y = dono(x) }Instância: ∀x[ cão(x) → fiel(x, dono(x)) ]

“Todo cão é fiel a seu dono.”

Fórmula e instância têm significados coerentes.

Thoralf Skolem

Fonte: https://en.wikipedia.org/wiki/Thoralf_Skolem

Page 22: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Unificação

Page 23: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Unificação

“Processo de encontrar um conjunto minimal de substituições que torna duas fórmulas idênticas.” [Pereira]

Nesse processo, uma variável pode ser substituída por uma constante, por uma variável ou por uma função. [Pereira]

● Exemplos: ○ gosta(Bia, x) e gosta(y, z) | { Bia/y, x/z }○ ama(Deus, y) e ama(x, filho(x)) | { Deus/x, y/filho(x) }

Page 24: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Unificação

MGU - Unificador Mais Geral

Exemplo 1: Encontre o MGU de { p( x, f(x) ), p( y, f(a) ) }

MGU: { y/x, a/x }

Page 25: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Unificação

Exemplo 2: { p( f(x), y, g(y) ), p( y, f(a), g(a) ) }

1) Conflito: { f(x), y } → { p( f(x), f(x), g(f(x)) ), p( f(x), f(a), g(a) ) }2) Conflito: { x, a } → { p( f(a), f(a), g(f(a)) ), p( f(a), f(a), g(a) ) }3) Conflito: { f(a), a } → Não é unificável.

Page 26: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Unificação

Exemplo 3: { p( a, x, f( g(y) ) ), p( z, h(z, w), f(w) ) }

1) Conflito: { a, z } → { p( a, x, f( g(y) ) ), p( a, h(a, w), f(w) ) }2) Conflito: { x, h(a, w) } → { p( a, x, f( g(y) ) ), p( a, x, f(w) ) }3) Conflito: { g(y), w } → { p( a, x, f(w) ), p( a, x, f(w) ) }

2b) Conflito: { x, h(a, w) } → { p( a, h(a, w), f(w) ), p( a, h(a, w), f(w) ) }

Page 27: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Prova por Árvore de Refutação

Page 28: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Passos

1. FNC - Forma Normal Causal2. Negar a Conclusão3. Árvore de Refutação

Page 29: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Prove a validade usando Árvore de

Refutação...

LÓGICA PROPOSICIONAL

Page 30: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 1

A → F¬F

________¬A

Chega-se num absurdo, portanto o argumento é válido.

Page 31: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 2

A → FF

________A

Page 32: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 3

A → FF

________¬A

Não chega em absurdo. Nada pode provar.

Page 33: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 4

J → G¬J → TG → C¬C

________T

Válido

Page 34: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 5

{ P ∨ ( Q ∨ R ), ¬R } ⊧ P ∨ Q

Válido

Page 35: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Prove a validade usando Árvore de

Refutação...

LÓGICA DE PREDICADOS

Page 36: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 0 - [PUCSP]

Todos os humanos são racionais.

Alguns animais são humanos.___________________________________

Portanto, alguns animais são racionais.

Argumento Válido

Page 37: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 1 - [PUCSP]

(∀x)P(x) → (∃x)P(x)

Argumento Válido

Page 38: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 2 - [PUCSP]

Todos os cientistas são estudiosos. ⇔ (∀x)(C(x) → E(x))

Alguns cientistas são inventores. ⇔ (∃x)(C(x) ∧ I(x))__________________________________________________________

Alguns estudiosos são inventores. ⇔ (∃x)(E(x) ∧ I(x))

Argumento Válido

Page 39: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 3 - [PUCSP]

Nenhum estudante é velho. ⇔ (∀x)(E(x) → ¬V(x))

Alguns jovens não são estudantes. ⇔ (∃x)(J(x) ∧ ¬E(x))_____________________________________________________

Alguns velhos não são jovens. (∃x)(V(x) ∧ ¬J(x))

Argumento Não Válido

Page 40: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Exemplo 4 - [PUCSP]

(∀x)(∃y)P(x, y) | P(a, a)

Argumento Não Válido

Page 41: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia
Page 42: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia
Page 43: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Bibliografia

● [Pereira] Lógica de Predicados (Prof. Dr. Silvio do Lago Pereira)○ PDF:

https://www.ime.usp.br/~slago/IA-logicaDePredicados.pdf○ Apresentação: https://www.ime.usp.br/~slago/ia-3.pdf

● [Wikipedia]○ https://pt.wikipedia.org/wiki/Lógica_de_primeira_ordem

● [PUCSP] O CÁLCULO DE PREDICADOS DE 1a ORDEM○ https://www.pucsp.br/~logica/CalculodePredicados.htm

Page 44: ILC 2019 - uniriotec.br...Introdução à Lógica Computacional ILC 2019.2 Aula: Lógica de Predicados II Mestrando: Daniel da Silva Costa Professora: Dra. Ana Cristina Bicharra Garcia

Introdução à Lógica ComputacionalILC 2019.2Aula: Lógica de Predicados II

Mestrando: Daniel da Silva CostaProfessora: Dra. Ana Cristina Bicharra GarciaUNIRIO