35

A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula
Page 2: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Professor: Rosalvo Ferreira de Oliveira Neto

A linguagem da Lógica de Predicados

(Capítulo 8)

LÓGICA APLICADA A COMPUTAÇÃO

Page 3: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Estrutura

1. Contextualização

2. Definições

3. Exemplos

4. Lista

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto 3

Page 4: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Contextualização Definições Exemplos Lista

•Todo tricolor é um campeão. Roberto é tricolor. Logo Roberto é um campeão.

•A adição de dois números ímpares quaisquer é um número par.

•Acesso a esse recinto é permitido somente para as pessoas autorizadas ou conhecidas de pessoas autorizadas.

Por quê?

O que não é possível expressar em Lógica Proposicional?

4

Page 5: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Contextualização Definições Exemplos Lista

Ausências da Lógica Proposicional

Quantificadores

todo, qualquer, existe, alguns, nenhum, ...

Sempre estão ligados a variáveis

Objetos

Indivíduos do universo de discurso, sobre o qual quantificadores podem ser aplicados

Todo tricolor é um campeão. Roberto é tricolor.

5

Page 6: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Contextualização Definições Exemplos Lista

Roteiro desta parte do curso

Sintaxe

Semântica

Programação em lógica

6

Page 7: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Contextualização Definições Exemplos Lista

Lógica de Predicados

Também chamada de

Lógica de 1ª. Ordem

FOL (First-Order Logic)

Extensão da Lógica Proposicional

Novos conectivos (quantificadores)

Novos símbolos para funções, variáveis, predicados, etc

7

Page 8: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Alfabeto

Definição 8.1 (alfabeto)

O alfabeto da Lógica de Predicados é constituído por:

símbolos de pontuação: ( , );

símbolo de verdade: false;

um conjunto enumerável de símbolos para variáveis:

x, y, z, w, x1,y1,... ;

8

Contextualização Definições Exemplos Lista

Page 9: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Alfabeto

Definição 8.1 (alfabeto)

um conjunto enumerável de símbolos para funções:

f, g, h, f1, g1, h1, f2, g2, ... ;

um conjunto enumerável de símbolos para predicados:

p, q, r, p1, q1, r1, p2, q2, ... ;

Conectivos:

, ∨, ∀, ∃. Associado a cada símbolo para função ou predicado, temos um número inteiro não-negativo k.

Esse número indica a aridade, ou seja, o número de argumentos da função ou predicado.

9

Contextualização Definições Exemplos Lista

Page 10: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Alfabeto

•Constantes

•Variáveis

•Funções

•Predicados

•Conectivos

10

Contextualização Definições Exemplos Lista

Page 11: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Constantes

Dão nomes a coisas particulares

Exemplo: Rosalvo, Brasil, Petrolina

11

Contextualização Definições Exemplos Lista

Page 12: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Variáveis

Sintaticamente iguais às constantes

Análogo a linguagens de programação

Exemplo: x, y, z

12

Contextualização Definições Exemplos Lista

Page 13: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Funções

Semelhante a função em programação, recebe um ou mais argumentos e produz uma resposta um elemento do domínio como um número ou um objeto

Exemplo: soma(x, y)

13

Contextualização Definições Exemplos Lista

Page 14: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Predicados

Semelhante a uma função em programação com resposta booleana, a resposta será sempre verdadeiro ou falso. Utilizado para representar relações.

Exemplo: irmao(x, y), pai(x,y), vizinho(x,y)

14

Contextualização Definições Exemplos Lista

Page 15: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Conectivos

Quantificadores

•Universal: (para todo …) •Existencial: (existe …)

Os conectivos , e ^ são definidos em função do conjunto completo {,v}

15

Contextualização Definições Exemplos Lista

Page 16: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

E as fórmulas da lógica de predicados?

Para definir as regras para formação das fórmulas bem formadas é preciso estabelecer dois conceitos importantes:

-Átomos

- Termos

16

Contextualização Definições Exemplos Lista

Page 17: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Tipos de perguntas (consultas)

“A capital de Pernambuco é Petrolina?”

Deve retornar um símbolo de verdade

Sentenças que representam símbolos de verdade, em Lógica de Predicados, são chamados de átomos

“Qual a capital do Brasil?”

Deve retornar um objeto

Sentenças que representam objetos são chamados de termos

17

Contextualização Definições Exemplos Lista

Page 18: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Termos

São construídos a partir destas regras:

•Variáveis são termos (representam objetos)

•Se t1, t2, ..., tn são termos

f é um símbolo de função n-ária,

então f(t1, t2, ..., tn) também é um termo

18

Contextualização Definições Exemplos Lista

Page 19: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Exemplos de termos

•x, a (constante, função zero-ária)

•f(x,a) se e somente se f é binária

•g(y, f(x,a), c) se e somente se g é ternária

•+(9,10), -(9,5)

•interpretados como 10+9, 9-5

•Notação polonesa

19

Contextualização Definições Exemplos Lista

Page 20: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Átomos

São construídos a partir destas regras:

•O símbolo de verdade false é um átomo

•Se t1, t2, ..., tn são termos

p é um símbolo de predicado n-ária,

então p(t1, t2, ..., tn) é um átomo

20

Contextualização Definições Exemplos Lista

Page 21: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Exemplos de átomos

p(f(x,a),x) se e somente se p é binário

q(x,y,z) considerado implicitamente como ternário

Ex: maior(9,10), igual(9,+(5,4))

interpretados como 10>9, 9=5+4

Interpretados como T

21

Contextualização Definições Exemplos Lista

Page 22: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Fórmulas

São construídos a partir destas regras:

•Todo átomo é uma fórmula da Lógica de Predicados

•Se H é fórmula então (H) também é

•Se H e G são fórmulas, então (HvG) também é

•Se H é fórmula e x variável, então

((x)H) e ((x)H) são fórmulas

22

Contextualização Definições Exemplos Lista

Page 23: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Subfórmula

Se H é fórmula

H é uma sub-fórmula

Se H=(G), então G é sub-fórmula de H

Se H é do tipo (EvG), (E^G), (EG) ou (EG), então E e G são sub-fórmulas de H

Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H

Se G é sub-fórmula de H, então toda sub-fórmula de G também é sub-fórmula de H

23

Contextualização Definições Exemplos Lista

Page 24: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Literais e formas normais

Literal em lógica de predicados é um átomo ou sua negação

Uma fórmula está na forma normal disjuntiva se é uma disjunção de conjunções de literais

Uma fórmula está na forma normal conjuntiva se é uma conjunção de disjunções de literais

24

Contextualização Definições Exemplos Lista

Page 25: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Ordem de precedência da Lógica de Predicados

,

,

^,v

25

Contextualização Definições Exemplos Lista

Page 26: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Correspondência entre quantificadores

Todo piloto é rápido

Equivale

É falso que existe piloto que não é rápido

Existe treinador inteligente

Equivale

É falso que todo treinador não seja inteligente

26

Contextualização Definições Exemplos Lista

Page 27: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Correspondência entre quantificadores

((x)H)= ((x)(H))

((x)H)= ((x)(H))

Qualquer quantificador pode ser definido a partir do outro!

27

Contextualização Definições Exemplos Lista

Page 28: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Escopo de um quantificador

Abrangência de seu uso nas sub-fórmulas

Se E é uma fórmula na Lógica de Predicados

Se ((x)H) é subfórmula de E

o escopo de (x) é H

Se ((x)H) é subfórmula de E

o escopo de (x) é H

28

Contextualização Definições Exemplos Lista

Page 29: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Exemplo de escopo de um quantificador

G=(x)(y)((z)p(x,y,w,z) (y)q(z,y,x,z1))

O escopo de (x) é (y)((z)p(x,y,w,z) (y)q(z,y,x,z1))

O escopo de (y) é ((z)p(x,y,w,z) (y)q(z,y,x,z1))

O escopo de (z) é p(x,y,w,z)

O escopo de (y) é q(z,y,x,z1))

29

Contextualização Definições Exemplos Lista

Page 30: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Ocorrência livre e ligada

Se x é uma variável e E uma fórmula, uma ocorrência de x em E é

Ligada, se x está no escopo de um quantificador (x) ou (x) em E

Livre, se não for ligada

G=(x)(y)((z)p(x,y,w,z) (y)q(z,y,x,z1))

30

Contextualização Definições Exemplos Lista

Page 31: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Variável livre e ligada

Se x é uma variável e E uma fórmula que contém x. x é

Ligada em E, se existir uma ou mais ocorrências ligadas de x em E

Livre em E, se existir uma ou mais ocorrências livres de x em E

No exemplo anterior, z é livre e ligada!

31

Contextualização Definições Exemplos Lista

Page 32: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

c) As filhas do professor Pedro são lindas e meigas

d) As filhas do professor Rosalvo são lindas e inteligentes e todos os rapazes da Computação querem namorá-las;

e) Nem todo pássaro voa

f) todo político é desonesto

32

Contextualização Definições Exemplos Lista

Page 33: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

n) Quem não se ama não ama ninguém

o) Toda patricinha de Petrolina que vai ao shopping tem celular, pele lisa e cheiro de alface

p) Patricinha de Petrolina não gosta de patricinha de Juazeiro

aa) Nenhum filho adolescente de Maria gosta de estudar.

33

Contextualização Definições Exemplos Lista

Page 34: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula

Univasf – Engenharia de Computação - LÓGICA APLICADA A COMPUTAÇÃO - Prof.: Rosalvo Neto

Contextualização Definições Exemplos Lista

Resolva a lista de exercício!

34

Page 35: A linguagem da Lógica de Predicadosrosalvo.oliveira/Disciplinas/... · Se x é uma variável e Q um quantificador, H=((Qx)G) então G e ((Qx)G) são sub-fórmulas de H Se G é sub-fórmula