Bacharelado em Ciência da Computação
Lógica de Predicados
Lógica de Predicados
Lógica de Predicados
Lógica de Predicados
I n st i t u t o F e d e ra l d e M i n a s G e ra i s - C a m p u s F o r m i ga
Introdução
É uma extensão da lógica proposicional permitindo trabalhar com objetos e relacionamentos entre eles.
Exemplo:
Se usarmos a lógica proposicional para representar a sentença:
Introdução
A maioria das linguagens de programação conhecidas como PROCEDURAIS (Pascal, C, etc..) são elaboradas para "dizer" ao computador a tarefa que deve ser realizada.
Em outras linguagens conhecidas como "DECLARATIVAS" os programas reúnem uma série de dados e regras para gerar conclusões. Estes programas são conhecidos como "SISTEMAS
ESPECIALISTA" ou "BASEADOS EM CONHECIMENTO" que simulam em muitos casos a ação do ser humano. A linguagem PROLOG é baseada na "lógica dos Predicados". SCHEME e LISP são outros exemplos.
Há um grupo fundamental de sentenças cuja interpretação é determinada pela estrutura interna de seus enunciados. Essas sentenças estudadas primeiramente por Aristóteles são chamadas de "silogismo categórico". Para interpretá-las, é necessário interpretar os
quantificadores.
Exemplo: Todos os alunos são inteligentes Nenhum aluno é inteligente Alguns alunos são inteligentes
Sintaxe da Lógica de Predicados
ALFABETO
É definido pelo conjunto de símbolos:
(i) símbolos de pontuação: ( , )
(ii) símbolos de verdade: false, true (obtido por meio de false) (iii) símbolos para variáveis: u, v, y, z, w, v1, x1, y1, z1...
(iv) constantes: a, b, c, ..., i, j,...,t
(v) símbolos para as funções: f, g, m, t1, g1, g2, h1, h2,... (vi) símbolos para predicados: P, Q, R, P1, Q1, R1...
(vii) conectivos: ~, v, ∧, →, ↔ (pode ser obtido a partir dos outros 2)
Sintaxe da Lógica de Predicados
As constantes e variáveis denotarão objetos, e os símbolos para as funções e predicados
denotarão funções e relações, respectivamente. As proposições ganham parâmetros e tornam-se predicados.
Exemplo:
A) João é pai de Maria
Constante ou relação ou Constante ou variável predicado variável
Sintaxe da Lógica de Predicados
QUANTIFICADORES
UNIVERSAL: Dada uma sentença IF e uma variável x então o quantificador universal ∀ é
definido por ∀x P(x)
Em uma fórmula (∀x) P(x), por exemplo, o quantificador (∀x) expressa a universalização de x, no
sentido que "todo", "para todo", "qualquer que seja“, "todos" ou "cada se, sem exceção, satisfaz
P(x)".
Exemplo: Todo homem é mortal Todos homens são mortais Os homens são mortais
Homens são sempre mortais
Exemplo: Seja D= {1, 2, 3, 4, 5} e ≥ (x², x). A proposição ∀x ∈ D, x² ≥ x é verdadeira?
Sintaxe da Lógica de Predicados
EXISTENCIAL: Dada uma sentença IF e uma variável x então o quantificador existencial ∃
é definido por ∃x P(x)
Em uma fórmula (∃x) P(x), o quantificador (∃x) expressa que "alguns", "algum", "um" ou "pelo
menos um x satisfaz P(x).
Exemplo: Existe homem inteligente Há um homem inteligente
Há pelo menos um homem inteligente Há homens inteligentes
Algum homem é inteligente Alguns homens são inteligentes
Exemplo: ∃ m ∈ Ζ| m²=m?
1² = 1
Sintaxe da Lógica de Predicados
ELEMENTOS BÁSICOS DA LINGUAGEM
A Lógica de predicados possui vários elementos básicos necessários a definição de uma sentença. São eles:
TERMOS: são expressões que denotam objetos. São constituídos ( i ) Uma variável é um termo. Ex.: x
( ii ) Uma constante é um termo. Ex: a (0- área: função aplicada a 0 termos).
( iii ) Se t1, ..., tn são termos então f (t1, ... tn) também é um termo. Ex: f(x,a) função 2 – área ou de aridade 2 ou binária).
(iv) Se y, f(x,a), c são termos então g(y, f(g,10), c) também é um termo. (função ternária)
Sintaxe da Lógica de Predicados
ÁTOMOS: representam expressões cuja interpretação é um valor verdade. São constituídos segundo as regras:
( i ) os símbolos verdade são átomos. Ex: true, falso
( ii ) Se t1,..., tn são termos e P é um símbolo para predicado n – ário então P(t1,..., tn) é um átomo. Quando o predicado é zero-ário, tem-se um símbolo proposicional que é um átomo.
Sintaxe da Lógica de Predicados
SENTENÇAS (FÓRMULAS)
As sentenças são formadas pela concatenação de termos, átomos e conectivos. Mas não é qualquer concatenação de símbolos que fornece uma sentença. Assim, para que uma
concatenação de símbolos possa ser considerada uma sentença bem formada deve-se seguir as seguintes regras sintáticas.
( i ) Todo átomo é uma sentença;
( ii ) Se IF é uma sentença, então (¬IF) é uma sentença;
( iii ) Se IF e G são sentenças, então (IF v G) e ( IF ∧ G) é uma sentença;
( iv ) Se IF e G são sentenças então IF → G são sentenças;
( v ) Se IF é uma sentença e x uma variável, então (∀x) IF e (∃x) IF são sentenças;
Sintaxe da Lógica de Predicados
Exemplo: sentença bem formada A) If (∀x) P(a,b,x)
then (Ey) Q(x,y)
else R(y)
Exemplo: termo bem formado B) If (∀x) P(a,b,x)
then f(x,a)
Sintaxe da Lógica de Predicados
SUBTERMO: Dado um termo ou uma sentença, t é um subtermo se t é parte do termo ou sentença P(x,y).
SUBFÓRMULA: Dado duas sentenças IF e G, então G é uma subfórmula de IF se G é uma parte de IF.
Exemplo: P(a,x,f(a,x)) and (∃y) Q(g (b,x),y)
Subtermo: a,x,f(a,x), b,g(b,x) e y
Subfórmula: P(a,x,t(a,x)), Q(g(b,x),y), (∃y)Q(g(b,x),y)
Sintaxe da Lógica de Predicados
EXERCÍCIOS:
1) Classifique as letras abaixo como fórmulas, termos ou nenhum.
A) (∃x) if P(x) then R(x) iff
if (∀x) P(x) then (∃x) R(x)
B) Q(b,y,f (b,y) and (∃a) P(g(a, y), x)
C) if Q(y,z) then if R(x)
Sintaxe da Lógica de Predicados
ESCOPO DOS QUANTIFICADORES
Exemplo: E: (∀x) (∃y) if (∀x) P(x,y,w,z)
then (∀y) Q(x,y,w,z
1)
( i ) o escopo de ∀x em E: (∃y) if (∀x) P(x,y,w,z)
then (∀y) Q(x,y,w, z
1)
( ii ) o escopo (∃y) em E: if (∀x) P(x,y,w,z)
then (∀y) Q(x,y,w,z
1)
( iii ) o escopo de ∀x em E: P(x,y,w,z)
( iv ) o escopo ∀y em E: Q(x,y,w,z
Sintaxe da Lógica de Predicados
CLASSIFICAÇÃO DE VARIÁVEIS VARIÁVEL LIVRE E LIGADA
Sejam x uma variável e E uma fórmula que contém x:
A variável x é ligada em E se existe pelo menos uma ocorrência ligada (é ligada se x está no
escopo de um quantificador) dex em E.
A variável x é livre em E se existe pelo menos uma ocorrência livre de x em E.
FÓRMULA FECHADA
Uma fórmula é fechada quando não possui variáveis livres.
Exemplo:
(∃z)(∀x) P(x,y,w): x é ligada ao quantificador universal e livre no escopo do
Sintaxe da Lógica de Predicados
CORRESPONDENCIA ENTRE OS QUANTIFICADORES Exemplo: Existe aluna da computação que é bonita
∃ x P
Suponha que o domínio seja o conjunto das alunas da computação. Podemos representar na Lógica de Predicados da seguinte forma:
- O predicado pode ser obtido removendo substantivos de uma proposição: P= que é bonita x= aluna da computação - Assim temos: (∃x) P(x) lê-se "∃x ∈ Domínio, P(x)"
P(x) é verdadeiro, se é somente se, x é bonita.
Se a afirmação é verdadeira então (∀x) P(x) é falsa então a negação é verdadeira, ((∀x) P(x)).
Sintaxe da Lógica de Predicados
Sintaxe da Lógica de Predicados
Exemplo:
1) E: Todos os programas de computador são finitos
¬E: Alguns programas de computador não são finitos
2) E: ∀ políticos x, x não é honesto
¬E: Alguns políticos são honestos
3) E: Alguns peixes respiram ar
¬E: Nenhum peixe respira ou todos os peixes não respiram ar.
4) E: ∃ um triângulo | a soma dos ângulos de T é igual a 200 graus.
¬E: ∀triângulos T, a soma dos ângulos de T não é igual a 200 graus.
5) E: Alguns hackers têm mais de 40 anos
Sintaxe da Lógica de Predicados
Sabe-se também que a negação de uma sentença condicional pode ser decomposta numa sentença conjuntiva:
¬(∀x, P(x) → Q(x)) ≡ ∃x | P(x) ∧¬Q(x))
P(x) Q(x)
P: ∀ pessoas x, se x loira então x tem olhos azuis.
Sintaxe da Lógica de Predicados
EXERCÍCIOS:
1. Todo termo é uma fórmula?
2. Dê exemplo de um termo que contém uma sentença.
3. Seja a fórmula a seguir:
IF: (∃ω) (∃x) (∃x1) (∀x) (∃y) if (∀z) P(x, y,ω, z, a)
then (∀y) Q(z,y,x,z1)
a) Determine todos os subtermos;
b) Determine todas as subsentenças.
Sintaxe da Lógica de Predicados
EXERCÍCIOS:
5. Existe sentença ou expressão sem símbolo livre?
6. Quais são os símbolos livres de uma sentença fechada?
7. Toda variável é um símbolo livre?
8. Determine as variáveis livres e ligadas.
9. Determine a negação das proposições quantificadas:
a) ∀primos n, n é ímpar
Referências Bibliográficas
Souza, João N. Lógica para Ciência da Computação. Uma introdução concisa
Rosen, K. H. Matemática Discreta e suas Aplicações. Tradução da 6a. Edição em Inglês. Editora