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
Semântica da Lógica de Predicados
Após definir a sintaxe, o próximo passo é a análise da semântica que devido as estruturas de interpretação (variáveis, quantificadores, funções e predicados) serem mais elaboradas requer uma análise mais fina.
Para representar uma sentença em Lógica de Predicados é necessário definir uma interpretação. Para definir essa interpretação é necessário:
(i) selecionar símbolos de predicado e de função para representar relações de predicado e funcionais entre os elementos do domínio.
(ii) definir o domínio da interpretação que corresponderá ao domínio do discurso;
(iii) selecionar constantes na linguagem para representar os nomes presentes no domínio do discurso.
Exemplo: Dada a fórmula H = (∀x) (∃y) P(x, y) e suponha uma interpretação I tal que I[P] = <, ou
Semântica da Lógica de Predicados
Solução:
Considerando os quantificadores ∀e ∃, I interpreta H como I[H] = "para todo xi, existe yi, tal que
xi < yi"
É necessário ainda definir o domínio dos números xI e yI. Suponha o domínio ∪ = [0,∞).
Semântica da Lógica de Predicados
REGRAS SEMÂNTICAS PARA INTERPRETAÇÃO DE EXPRESSÕES
( i ) I [ true] = T, I [ false] = F
( ii ) Seja f (t1, ..., tn) um termo, então I [f(t1,..., tn)] = fx (t1,..., tn)
( iii ) Seja P (t1,...,tn) um átomo, então I[P(t1,..., tn)] = Px (t1,..., tn)
( iv ) Dado um termo (if IF then t1 else t2), onde IF é um sentença e t1, t2 são termos então:
I [if IF then t1 else t2] = I [t1] se I [IF] = T
I [t2] se I [IF] = F
( v ) Seja IF uma sentença, então:
I [ not IF] = T se I [IF] = F
Semântica da Lógica de Predicados
REGRAS SEMÂNTICAS PARA INTERPRETAÇÃO DE EXPRESSÕES
( vi ) Sejam IF e G duas sentenças, então:
I [IF ou G] = T se I [IF]= T ou I [G} = T
F se I [IF]= I [G] = F
( vii ) Sejam IF e G duas sentenças então:
I [IF and G] = T se I [IF]= T e I[G} = T
F se I [IF]= F ou I[G] = F
( viii ) Sejam IF e G duas sentenças então:
I [if IF then G] = F se I [F]= T e I [G} = F
Semântica da Lógica de Predicados
REGRAS SEMÂNTICAS PARA INTERPRETAÇÃO DE EXPRESSÕES
( ix ) Sejam IF e G duas sentenças então:
I [ IF iff G] = T se I [IF ]= I [G}
F se I [IF ≠ I[G]
( x ) Sejam IF, G e H três sentenças então:
I [if IF then G else H] = I [G] se I [IF ] = T
Semântica da Lógica de Predicados
Exemplo 1: Considere as fórmulas H = P (x, y, a, b) -> R(f(x), g(y))
G = P (x, y, a, b) -> Q(x, y) ∧ R(y, a)
Considere o domínio dos números inteiros Z e I a interpretação tal que:
I [x]=3, I [y]=2, I [a]=0, I [b]=1,
I [P(x,y,z,w)] = T, sss, xi* yi> zi * wi
I [Q(x,y)] = T, sss, xi < yi
I [R(x,y)] = T, sss, xi > yi,
I [ f(x)] = (xi+ 1) e I [g(x)] = (xi – 2)
Semântica
Sintaxe
3 2 0 1 T 4 0 F T T F
Semântica da Lógica de Predicados
Exemplo 2: Considere também a interpretação I, sobre o domínio dos números naturais.
I [x] = 3 I [P (x,y)] = x > y
I [y] = 2 I [Q (x,y)] = x < y
I [a] = 0 I [f (x)] = x + 1 (função sucessor)
I [b] = 1 I [g (y)] = y – 2
I [R(x,y)] = T, sss, xi = yi,
Semântica
Sintaxe
3 2 0 1 T 4 0 F F 0 F
x y a b P(x,y) f(x) g(y) Q(x,y) R(y,a) IF G
IF : if (not P(x,y)) then f(x) else g(y)
Semântica da Lógica de Predicados
Exemplo 3: Seja I uma interpretação sobre os naturais tal que:
I [a] = 5, I[b] =25, I [f(a,b)] = (a ÷ b)
Semântica da Lógica de Predicados
REGRAS SEMÂNTICAS COM QUANTIFICADORES:
Na definição de interpretação de fórmulas com quantificadores é necessário o conceito de interpretação estendida.
Paradigma: Suponha que um indivíduo tenha opinião formada sobre os elementos do mundo
sintático tal que I [x] = 5 e I [y] = 1. Uma outra pessoa pode convencer esse indivíduo que se deve ser interpretado como 7 e não como 5. O indivíduo com essa nova opinião sobre o valor semântico é associado a uma nova interpretação:
< x <- 7 > I [x] = 7
< x <- 7 > I [y] = 1 - continua interpretando y = 1
Em seguida, se mudar de opinião considerando x=8 < x <- 8 > < x <- 7> I [x] = 8
Semântica da Lógica de Predicados
REGRAS SEMÂNTICAS COM QUANTIFICADORES:
Finalmente se y é modificada para 4: < y <- 4 > < x <- 8 > < x <- 7 > I [ x ] = 8 < y <- 4 > < x <- 8 > < x <- 7 > I [ y ] = 4
Definição: Seja I uma interpretação sobre um domínio U. Considere x uma variável da Lógica de Predicados e d um elemento de U.
< x <- d > I[γ] = d se γ = x
Semântica da Lógica de Predicados
REGRAS SEMÂNTICAS COM QUANTIFICADORES:
Exemplo: Considere a extensão de uma interpretação I, sobre o domínio dos números naturais N tal que: I [x] = 4, I[a] = 5, I[y] = 4, I [f] = T, I[P] = >
< x <- 2 > I[y] = 4 < x <- 2 > I[f] = T < x <- 2 > I[x] = 2
< y <- 9 >< x <- 2 > I [y] = 9 < y <- 9 >< x <- 2 > I [x] = 2
< x <- 7 >< y <- 9> < x <- 2 > I [y] = 9 < x <- 7 >< y <- 9> < x <- 2 > I [x] = 7
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Considere I uma interpretação sobe o domínio dos números inteiros tal que: I[a] = 0, I[f] = função sucessor, I[P] = >. E, H: if (∀x) (∃y) P(x,y) then P(a, f(a)).
Para interpretar a sentença H é necessário primeiramente estabelecer o significado das sub sentenças (∀x) (∃y) P(x,y) e P(a, f(a)).
• Para P(a, f(a)) = 0 > 0 + 1, a interpretação é falsa.
• Devido ao fato da sentença (∀x) (∃y) P(x,y) não ter variáveis livres, a interpretação não precisa alocar significados para as variáveis.
• A sentença (∀x) será verdadeira se a sentença é verdadeira sob a interpretação para cada
valor possível de um elemento x do domínio. A sentença (∃y) será verdadeira se existe pelo
menos um elemento y do domínio que torne a interpretação da sentença verdadeira.
• Para todo inteiro x existe um inteiro y tal que x > y . Logo, a sentença é falsa considerando o
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Seja H uma fórmula, x uma variável e I uma interpretação sobre o domínio U. Os valores semântico de I [(∀x) H] e I [(∃x) H] são definidos pelas regras:
Qualquer interpretação da variável x na fórmula H, H é interpretada como verdadeira.
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Seja G uma fórmula sobe o domínio Ν, tal que: I[x]=3, I[a]=5, I[y]=4, I[f]=+ e I[p]=<.
G= (∀x) P(x,y) “Para todo número natural x, x < 4.”
Quando I[G] = F?
I[G]=F ⇔ I [(∀x) P(x,y] = F
⇔ ∃d ϵ Ν; < x ← d > I[P(x,y)] = F
⇔ ∃d ϵ Ν; d < 4 é falso
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
Semântica da Lógica de Predicados
INTERPRETAÇÃO DE FÓRMULAS COM QUANTIFICADORES:
• A ordem das extensões é o inverso da ordem dos quantificadores sintáticos na fórmula
• A ordem dos quantificadores semânticos é a mesma dos sintáticos
Semântica da Lógica de Predicados
EXERCÍCIOS:
1) Seja uma interpretação sobre o conjunto dos números naturais Ν, tal que I[a]=1, I[x]=1,
I[P]=<, I[f(d)]=d+1. Além disso, o valor de I[y] é desconhecido. Determine a interpretação da fórmula: P(x,a) ∧ P(x, f(x))
2) Dados E=( P(x,y,a,b) → R(f(x),g(y)) e G= (¬P(x,y,a,b)) → (Q(x,y)v R(y,a)). Seja a interpretação I, onde U=[0,∞)
I[x]=3, I[y]=2, I[a]=0, I[b]=1 I[P(x,y,z,w)]=T, sss, xi*yi>zi*wi I[Q(x,y)]=T, sss, xi<yi,
I[R(x,y)]=T, sss, xi>yi
Semântica da Lógica de Predicados
EXERCÍCIOS:
3) Sendo A = {1,2,3,4,5} determinar o valor lógico (V ou F) de cada uma das seguintes sentenças:
(a) (∃x ∈ A)(x+3=10)
(b) (∀x ∈ A)(x+3<10)
(c) (∃x ∈ A)(x+3<5)
(d) (∀x ∈ A)(x+3≤ 7)
(e) (∃x ∈ A)(3x >72)
4) Seja I uma interpretação sobre o domínio U dos números Q*, tal que: I[a]=1, I[b]=25, I[x]=13, I[y]=77, I[f]=/, I[P]=<. Dada a fórmula H=(∀x)P(x ,y) qual é a interpretação para H? Faça a
Semântica da Lógica de Predicados
EXERCÍCIOS:
5) Considere as interpretações do exercício 1 e determine o valor verdade das sentenças a seguir:
(a) P(x,a)
(b) P(a,x) and P(x,f(a)) (c) (∃y) (P(x,a) ou P(f(y),x)
(d) (∃y) P(y,x)
Referências Bibliográficas
Souza, João N. Lógica para Ciência da Computação. Uma introdução concisa.