Escolar Documentos
Profissional Documentos
Cultura Documentos
1º edição
Vitória
2014
Copyright © 2014 - Rogério Miguel Coelho
Todos os direitos reservados.
ISBN13: 978-85-920580-0-5
DEDICAÇÃO
livro sobre Lógica e ao meu eterno orientador Prof. Dr. Luiz Fernando
Gomes Soares.
Homenagem in memoriam
2 - Qual postulado clássico pode ser aplicado nas frases abaixo de Aristóteles.
a) "Efetivamente, é impossível a quem quer que seja acreditar que uma
mesma coisa seja e não seja".
b) "Quem diz de uma coisa que é ou que não é, ou dirá o verdadeiro ou dirá o
falso. Mas se existisse um termo médio entre os dois contraditórios nem do
ser nem do não ser poder-se-ia dizer que é ou que não é".
c) “Todo ser é igual a si mesmo”.
i) Você deve escolher qual é seu time de futebol aqui no Espírito Santo: Rio
Branco ou Desportiva, não tem nenhuma outra opção.
ii) Se traçarmos num triângulo uma linha que seja paralela a algum dos seus
lados, obtemos dois triângulos semelhantes.
iii) Uma sentença ou proposição que não é provada ou demonstrada e é
considerada como óbvia ou como um consenso inicial necessário para a
construção ou aceitação de uma teoria.
iv) “Eu fujo ou não sei não, mas é tão duro este infinito espaço ultra
fechado”. Carlos Drummond de Andrade.
v) Algumas pessoas acreditam em vida após a morte e outras não.
vi) Dada as seguintes expressões “x+5=7” e “y-5=7” podemos concluir que
ambas são...
Você não poderia dizer que a negação de p seria: Rogério leciona no final de
semana, pois isso não faz parte do escopo e não é dedutível.
Tabela 2 Conectivo E
Exemplo 1:
p: Camilo gosta de Matemática (p = Verdade).
q: Camilo gosta de Lógica (q = Verdade).
Logo, podemos deduzir que: Camilo gosta de Matemática e Lógica como
verdade, pois p ^ q = V ↔ V ^ V = V.
Exemplo 2:
p: Camilo gosta de Matemática (p = Verdade).
q: Camilo gosta de ir para academia (q = Falso).
Logo, podemos deduzir que: Camilo gosta de Matemática e gosta de ir para
academia é falso, pois p ^ q = F ↔ V ^ F = F.
2.4 - Conectivo: Ou (Disjunção Inclusiva)
Tabela 3 Conectivo Ou
Exemplo do Ou Exclusivo:
Frase: Igor servirá na Marinha ou no Exército ou na Aeronáutica quando
completar 18 anos.
Observe que nunca o Igor poderá servir ao mesmo tempo no Exército e na
Marinha.
É importante destacar que um argumento ao ser transformado para
Linguagem Matemática a interpretação do conectivo OU deve ser analisada
se é o caso da disjunção ser Inclusiva (v) ou Exclusiva (#).
2.6 - Conectivo: Condicional
De todos os conectores lógicos o que apresenta maior dificuldade de
entendimento por parte dos alunos é o conector Condicional, representado
pelo símbolo (→).
O problema da interpretação do conector Condicional (Se p Então q) é que a
implicação em português geralmente está associada a uma relação de causa e
efeito, o que não necessariamente ocorre no estudo da Lógica Matemática,
pois o valor semântico do conector Condicional (→) está relacionado a
implicação matemática.
Uma proposição condicional (p → q) é falsa (F) apenas quando a premissa
antecedente (p) for verdadeira (V) e a premissa consequente (q) for falsa (F).
Abaixo, a representação Lógica do conector Condicional:
Assim, podemos afirmar como verdade que x com o valor igual a 5 atribui
um p com um valor lógico falso que implica matematicamente em um q com
um valor lógico falso. Logo, isso é possível! Por isso, a quarta linha da
Tabela 6 - Conectivo Condicional é VERDADE.
Uma Fórmula Matemática Bem Formada (fmbf) é aquele que faz sentido sua
interpretação matemática. Basicamente, podemos dizer que uma fórmula
matemática respeita as seguintes regras:
ii. Fórmulas Matemáticas Bem Formadas são aquelas que fazem sentido na
representação respeitando suas regras de construção.
iii. É importante saber o comprimento de Fórmulas Matemáticas e suas
subfórmulas pois futuramente utilizaremos esta informação na prova de
teorema através de indução finita.
iv Saber a tabela de todos os conectores.
2.12 - Exercícios
6 - Considerando que p: José fala francês, q: José fala inglês e r: José fala
alemão, a alternativa que simboliza a expressão: “É falso que José fala inglês
ou alemão, mas que não fala francês.”.
a) ~q v ~r ^ ~p.
b) ~((q v r) ^ ~p).
c) ~(q v r) ^ ~p.
d) ~q v (r ^ ~p).
e) ~(q v r) ^ p.
4) Qual é a Tabela Verdade da expressão: (( p -> q ) -> r ) -> (p -> (q -> r)) ,
iniciando as colunas da tabela verdade por ordem alfabética das premissas
simples.
a) V V V V V V V V.
b) V F V V V V V V.
c) V V F V V V V V.
d) V V V V V F V V.
e) V V V F V V V V.
12) Seja * um novo conector lógico tal que p * q é verdade apenas quando p e
q são ambas falsas. Faça a tabela verdade de ( p * q ) v ~q ^ p # ~r, iniciando
as colunas da tabela verdade por ordem alfabética das premissas simples.
13) Chama-se tautologia a toda proposição que é sempre verdadeira,
independentemente da verdade dos termos que a compõem. Um exemplo de
tautologia é:
a) se João é alto, então João é alto ou Guilherme é gordo.
b) se João é alto, então João é alto e Guilherme é gordo.
c) se João é alto ou Guilherme é gordo, então Guilherme é gordo.
d) se João é alto ou Guilherme é gordo, então João é alto e Guilherme é
gordo.
e) se João é alto ou não é alto, então Guilherme é gordo.
3.7 - Respostas
1)
a) p v ~q ^ ~p.
b) (p v q) → (r ^ ~q).
c) p → q ↔ ~p v q.
d) (p → (q → (q → p))).
e) ~((~p → ~q) ^ q → p).
f) ~(c # b) → ~a v c ^ b. Lembrando que definimos que quando não tem
parênteses o conector E ( ^ ) tem prioridade sobre o conector OU ( v ).
g) (p → q) ↔ ( (p v r) → q).
2) e.
3) c.
4) a.
5) b.
6) e.
7) e.
8) a.
9) b.
10) a.
11) c.
12) F V V F F V V F.
13) a.
4 - Equivalências Tautológicas
Em algumas situações, na resolução de problemas de Lógica, será
interessante mudar algumas proposições compostas por outras com o mesmo
valor tautológico para facilitar a resolução de problemas. Para isso é preciso
conhecer as principais Equivalências Tautológicas ou saber deduzi-las.
Neste capítulo será apresentado as principais Equivalências Tautológicas e
como as deduzir.
4.1 - Principais Equivalências Tautológicas
Para saber se duas proposições são equivalentes tautologicamente basta
verificar se o conector “se e somente se (↔)” entre as duas proposições
compostas é uma tautologia.
Para demonstrar e provar as Equivalências Tautológicas será utilizado a
Tabela Verdade.
Vamos provar as equivalências da seguinte forma:
1.- Construa a tabela da verdade da primeira proposição composta.
2 - Construa a tabela da verdade para a segunda proposição composta.
3 - Verifique se as tabelas da verdade das duas proposições são idênticas
(conector “se e somente se (↔)”) para cada combinação de valores (verdade
ou falso). Se forem iguais então as proposições são equivalentes logicamente,
caso contrário não.
A Lei de Morgan foi elaborada pelo inglês Augustus De Morgan e tem ampla
utilização na Lógica para prova de diversos argumentos e Equivalências
Lógicas.
É comum em muitos concursos em que englobam o conteúdo de questões de
raciocínio lógico a Lei de Morgan seja explorada.
Vejamos a Lei de Morgan na sua definição: Sendo p e q duas proposições e
os conectores Não (~), E (^) e OU (v), a Lei de Morgan pode ser apresentada
simbolicamente por:
1. ~ (p ^ q) ↔ ~p v ~q cujo significado é: "Negar a simultaneidade de p e q é
afirmar pelo menos não p ou não q".
2. ~ (p v q) ↔ ~p ^ ~q cujo significado é: "Negar a ocorrência de pelo menos
p ou q é afirmar nem p nem q".
Atenção, a Lei de Morgan pode ser aplicada em ambos os sentidos, ou seja,
dada a proposição ~p v ~q aplicando a Lei de Morgan temos: ~(p ^ q).
Abaixo, a Tabela Verdade da lei de Morgan e a prova da equivalência:
~(p ^ q) ↔ ~p v ~q.
Analise a seguinte frase: “Vou excluir esse vírus do meu computador ou não
me chamo Rogério”. A negação da frase acima seria: “Não vou excluir esse
vírus do meu computador e me chamo Rogério”, observe que o conector de
ligação das duas premissas é o E (^) e não o OU (v).
Prova:
p: Vou excluir esse vírus do meu computador.
q: me chamo Rogério.
Premissa : Vou excluir esse vírus do meu computador ou não me chamo
Rogério.
Representação: p v ~q
A negação de p v ~q é ~(p v ~q) que é equivalente pela Lei de Morgan a:
~p ^ ~(~q), ou seja, Não vou excluir esse vírus do meu computador e me
chamo Rogério.
Adicionalmente, podemos aplicar a Lei de Morgan conforme abaixo:
3. ~ (~p ^ q) ↔ p v ~q.
4. ~ (p ^ ~q) ↔ ~p v q.
5. ~ (~p ^ ~q) ↔ p v q.
6. p v q ↔ ~ (~p ^ ~q).
7. p v ~q ↔~ (~p ^ q).
8. ~p v q ↔~ (p ^ ~q).
9. ~ (~p v q) ↔ p ^ ~q.
10. ~ (p v ~q) ↔ ~p ^ q.
11. ~ (~p v ~q) ↔ p ^ q.
12. p ^ q. ↔ ~ (~p v ~q).
13. ~p ^ q. ↔ ~ (p v ~q).
14. p ^ ~q. ↔ ~ (~p v q).
Resolução:
p: Linux tem vírus.
q: Windows tem vírus.
Representação da premissa: É falso afirmar que: Linux não tem vírus e
Windows tem vírus = ~ (~p ^ q).
Aplicando Lei de Morgan em ~ (~p ^ q) ↔ p v ~q.
Assim, p v ~q em Linguagem Natural representa: Linux tem vírus ou
Windows não tem vírus, letra c.
6 – Lei Distributiva:
a) p ^ (q v r) ↔ (p ^ q) v (p ^ r).
b) p v (q ^ r) ↔ (p v q) ^ (p v r).
Tabela Verdade:
p ^ (q v r) ↔ (p ^ q) v (p ^ r).
7 – Transposição
Para explicar a transposição vamos analisar as seguintes premissas:
p: Apple é a empresa que tem o maior centro de inovação em computação.
q: Apple é a empresa que tem o maior lucro.
Podemos dizer que: “Se Apple é a empresa que tem o maior centro de
inovação em computação então Apple é a empresa que tem o maior lucro.” é
a mesma coisa que dizer que: “Se Apple não é a empresa que tem o maior
lucro então Apple não é a empresa que tem o maior centro de inovação em
computação.”.
Assim, temos:
p → q ↔ ~q → ~p.
Tabela Verdade:
p → q ↔ ~q → ~p.
8 – Implicação Material
A Implicação Material pode ser interpretada da seguinte forma:
p: Rogério chegar cedo.
q: Rogério lecionará.
Dizer que: “Se Rogério chegar cedo então lecionará.” é o mesmo que:
“Rogério não chega cedo ou lecionará.”.
p → q ↔ ~p v q.
4.2 - Resumo
Abaixo as principais Equivalências Tautológicas:
4.3 - Exercícios
1 – Prove as seguintes Equivalências Tautológicas.
a) p ^ p ↔ p.
b) p ^ q ↔ q ^ p.
c) p ^ (q ^ r) ↔ (p ^ q) ^ r.
d) ~(p v q) ↔ ~p ^ ~q.
e) p v (q ^ r) ↔ (p v q) ^ (p v r).
f) p → q ↔ ~p v q.
2 – Prove a Lei de Morgan para 3 proposições.
3 – Verifiquem se a Lei de Morgan pode ser aplicada ~(p # q) ↔ (~p ↔ ~q).
4 - Dizer que: “Andre é artista ou Bernardo não é engenheiro” é equivalente a
dizer que:
a) Andre é artista se e somente se Bernardo não é engenheiro.
b) Se Andre é artista, então Bernardo não é engenheiro.
c) Se André não é artista, então Bernardo é engenheiro.
d) Se Bernardo é engenheiro, então Andre é artista.
e) Andre não é artista e Bernardo é engenheiro.
5 - Com relação a Lei de Morgan para três componentes ~(p ^ q ^ r) temos a
equivalência ~p v ~q v ~r. Podemos afirmar que:
a) A sentença acima é verdadeira.
b) A sentença acima é falsa.
c) A Lei de Morgan só se aplica para dois componentes.
d) Morgan com três componentes não altera o conector.
6 - Dada a equação p -> q ^ r qual equação é equivalente?
a) (p -> q) v (p -> r).
b) (q -> p) v (p -> r).
c) (p -> q) ^ (p -> r).
d) (q -> p) ^ (r -> r).
e) (p -> q) ^ (r -> p).
7 - Dada a equação p -> q qual equação é equivalente?
a) q -> ~p.
b) ~q -> ~p.
c) ~(~q -> p).
d) ~(~q -> ~p).
e) ~q -> p.
8 - Dada a equação p -> q v r qual equação é equivalente?
a) (p -> q) ^ (p -> r).
b) (p -> q) ^ (r -> p).
c) (q -> p) v (r -> p).
d) (r -> q) v (p -> r).
e) (p -> q) v (p -> r).
9 - Dada a equação p ^ (q v r) qual equação é equivalente?
a) (p ^ q) v (p v r).
b) (p v q) v (p v r).
c) (p ^ q) ^ (p ^ r).
d) (p ^ q) v (p ^ r).
e) (p v q) v (p ^ r).
10 - Dada a equação p v (q ^ r) qual equação é equivalente?
a) (p ^ q) v (p v r).
b) (p v q) v (p v r).
c) (p ^ q) ^ (p ^ r).
d) (p ^ q) v (p ^ r).
e) (p v q) ^ (p v r).
11 - A negação da sentença: “Ana não voltou e foi ao cinema” é:
a) Ana voltou ou não foi ao cinema.
b) Ana voltou e não foi ao cinema.
c) Ana não voltou ou não foi ao cinema.
d) Ana não voltou e não foi ao cinema.
e) Ana não voltou e foi ao cinema.
4) d.
5) a.
6) c.
7) b.
8) e.
9) d.
10) e.
11) a.
12) b.
5 - Regras de Inferência
Um dos principais objetivos do estudo de Lógica é o de estabelecer métodos
e técnicas que permitam distinguir os raciocínios corretos dos incorretos.
Em um tipo especial de raciocínio denominado RACIOCÍNIO DEDUTIVO
OU DEDUÇÃO, faz-se necessário o exame da relação existente entre uma
determinada conclusão e as razões que lhes serviram de “apoio”.
Assim, nosso objetivo neste capítulo será verificar se um argumento é válido,
ou seja, se o conjunto de premissas verdadeiras deriva em uma conclusão
válida.
Para isso é fundamental o entendimento da relação entre as proposições, as
equivalências tautológicas e as regras de inferência.
5.1 - Argumento Válido
Definimos no Capítulo 1 como ARGUMENTO uma sequência finita de
premissas, em que estas “apoiam” ou “servem de evidência” para a
conclusão. Essa conclusão pode ser entendida como Dedução Lógica.
Um ARGUMENTO É VÁLIDO quando é impossível que a conclusão seja
falsa partindo-se de premissas verdadeiras, ou seja, quando a conclusão é
consequência lógica das premissas. Caso contrário, o argumento é dito
DEDUTIVAMENTE INVÁLIDO.
Evidentemente, o foco do nosso estudo será apenas o estudo dos argumentos
dedutivamente válidos.
Vejamos o seguinte exemplo: dado que p → q (Se p então q) é verdade e
partindo do suposto que p (antecedente) é verdade por dedução q
(consequente) também é verdade.
Assim temos:
p = premissa verdadeira.
p → q é verdade.
Podemos deduzir que q (consequente) também é verdade. Veja a tabela do
conector → (Se p Então q):
TAUTOLOGIA.
Assim, o Argumento (p→q) ^ p → q é válido devido à regra de Modus
Ponens.
Podemos aplicar a regra do Modus Ponens para provar qualquer argumento
desta natureza.
Abaixo a forma que se utiliza a regra do Modus Ponens:
Premissa 1: p→q.
Premissa 2: p .
Premissa 3: q P1, P2 - Modus Ponens.
TAUTOLOGIA
Assim, o Argumento (p→q) ^ ~q → ~p é válido devido à regra de Modus
Tollens.
Podemos aplicar a regra do Modus Tollens para provar qualquer argumento
desta natureza.
Abaixo a forma que se utiliza a regra do Modus Tollens:
Premissa 1: p→q.
Premissa 2: ~q .
Premissa 3: ~p P1, P2 - Modus Tollens.
A representação acima informa que dado que a Premissa 1 (p → q) e a
Premissa 2 (~q) são verdadeiras, a Premissa 3 (~p) também é verdadeira
através da regra do Modus Tollens.
Vejamos o seguinte exemplo da aplicação da regra de Modus Tollens (MT)
para verificarmos se um argumento é válido.
Argumento: Se o palhaço vir dois chapéus vermelhos, então poderá dizer a
cor do seu chapéu. O palhaço não soube dizer a cor do seu chapéu. Portanto,
o palhaço não viu a cor de dois chapéus vermelhos.
p: o palhaço ver dois chapéus vermelhos.
q: o palhaço dizer a cor do seu chapéu.
P1: p → q.
P2: ~q .
P3: ~p P1,P2 – Modus Tollens (MT)
5.4 - Adição (A)
A regra da Adição afirma que se a premissa p é verdade, então qualquer outra
premissa interligada com p através do conector “OU” também será verdade.
Vejamos o seguinte exemplo da aplicação da regra da Adição (A).
Argumento: Rogério Coelho é autor do livro de Lógica Matemática, logo
Rogério Coelho é autor do livro de Lógica Matemática ou é autor do livro de
Processo Estocástico.
p: Rogério Coelho é autor do livro de Lógica Matemática. (V).
q: Rogério Coelho é autor do livro de Processo Estocástico. (F).
P1: p .
P2: p v q P1– Adição (A) – Verdade.
Observe que: Rogério Coelho não é autor do livro de Processos
Estocásticos, mas a junção desta premissa (q) com a premissa (p) Rogério
Coelho é autor do livro de Lógica Matemática através do conector “OU” será
verdade, pois no conectivo “OU” basta que apenas uma premissa seja
verdadeira para que o resultado da junção de ambas seja verdadeiro.
É importante destacar nesta regra que sempre que você obter uma premissa
verdadeira a junção da mesma com qualquer outra premissa através do
operador “OU” também será verdade, mesmo que esta última premissa seja
falsa.
Abaixo, a Tabela Verdade do operador “OU”.
5.5 - Simplificação (S)
A regra da Simplificação diz que se um argumento composto de duas
premissas interligadas através do conector “E” é verdade, então posso
desmembrar o argumento em duas premissas simples verdadeiras.
Abaixo, um exemplo da aplicação da regra da Simplificação (S).
Argumento: A Apple é a empresa de tecnologia de maior valor de mercado e
possui a marca mais cara do mundo na área de tecnologia.
p: A Apple é a empresa de tecnologia de maior valor de mercado.
q: A Apple possui a marca mais cara do mundo na área de tecnologia.
Abaixo, como podemos utilizar a regra da Simplificação.
P1: p ^ q .
P2: p P1 – Simplificação (S).
P3: q P1 – Simplificação (S).
Ora se sabemos que o argumento é verdade e o mesmo é composto por duas
premissas (p e q) interconectadas pelo operador “E”, então ambas as
premissas (p e q) individualmente necessariamente precisam ser verdadeiras.
Abaixo a tabela verdade do operador “E”.
5.6 - Conjunção (C)
Se duas premissas são verdadeiras individualmente, ao junta-las em uma
premissa composta utilizando o conector “E”, teremos uma nova premissa
composta verdadeira.
Abaixo, um exemplo da aplicação da regra da Conjunção (C).
p: A Oracle possui o melhor banco de dados do mundo. (Verdade).
q: A Amazon disponibiliza o melhor serviço de nuvem no mundo. (Verdade).
Podemos deduzir como verdade que: A Oracle possui o melhor banco de
dados do mundo e a Amazon disponibiliza o melhor serviço de nuvem no
mundo.
P1: p
P2: q .
P3: p ^ q P1,P2 – Conjunção (C).
5.7 - Silogismo Disjuntivo (SD)
Dado que a negação de uma premissa é verdade e a afirmação desta premissa
interligada com outra premissa através do conector “OU” (v) também é
verdade, podemos deduzir que esta outra premissa é verdade.
Abaixo, como podemos utilizar a regra do Silogismo Disjuntivo.
P1: ~p.
P2: p v q .
P3: q P1,P2 – Silogismo Disjuntivo (SD).
P4: q v r P3 – Adição.
b) (q → p) ^ ~p → ~q v t.
P1:q → p.
P2:~p.
P3:~q P1, P2 – Modus Tollens.
P4: ~q v t P3 – Adição.
c) (p → q) ^ ~s ^ p ^ (r → s) → ~r ^ q.
P1: p → q.
P2: ~s.
P3: p.
P4: r → s.
P5: q P1,P3 – Modus Ponens.
P6: ~r P2,P4 – Modus Tollens.
P7. ~c v ~j P6 – Adição.
P8. ~j v ~c P7 – Comutatividade.
h) Se Rogério veleja então ele pratica esporte. Se Rogério não veleja então
ele combate a pesca ilegal. Se Rogério veleja ou combate a pesca ilegal então
Rogério está fazendo o que gosta. Logo, Rogério está fazendo o que gosta.
a: Rogério Veleja.
b: Rogerio pratica esporte.
c: Rogério combate a pesca ilegal.
d: Rogério está fazendo o que gosta.
(a → b) ^ (~a → c) ^ (b v c → d) → d
P1: a → b
P2: ~a → c
P3: b v c → d
P4: ~b → ~a Contraposição P1
P5: ~b → c SH P4,P2
P6: b v c Condicional P5
P7: d MP P6,P3
3 – B.
4 – C.
5 – D.
6 – E.
7 – Verifique se o seguinte argumento seguinte é uma tautologia: Se Rogerio
não joga futebol e basquete então veleja. Rogério não joga vôlei ou não joga
basquete. Se Rogério joga bola ou não joga basquete então Rogério joga vôlei
e basquete. Portanto, Não é verdade que: Rogério não veleja e Rogério faz
prova difícil. p: Rogério joga bola. q: Rogerio joga vôlei. r: Rogério joga
basquete. s: Rogerio veleja. t: Rogerio é faz prova difícil.
Argumento: (~p ^ r → s) (~q v ~r) ^ ( p v ~r → q ^ r) → ~(~s ^ t)
Resolução similar do Exercício 1 letra i.
6 - Lógica dos Predicados
A Lógica Proposicional é baseada em frases declarativas (premissas) sobre o
mundo a que se pode atribuir um valor lógico. No entanto, tais declarações
são limitadas no que se refere à codificação de frases declarativas naturais,
pois ela trata de maneira bastante satisfatória os componentes de frases do
tipo não, e, ou, se ... então etc.
Mas, sabemos que aspectos Lógicos Matemáticos relacionados a Linguagens
Naturais e Artificiais são muito mais que isso. Como tratar e trabalhar com os
modificadores do tipo: Existe um, Todos os, Entre um conjunto de,
Apenas um dos...?
Neste sentido nos deparamos com as limitações da Lógica Proposicional.
Assim, foi iniciado o estudo da Lógica dos Predicados, que pode ser
entendido como uma extensão da Lógica Proposicional, pois tudo que foi
definido em Lógica Proposicional também pode ser aplicada em Lógica dos
Predicados em conjunto com as novas definições que veremos a seguir.
6.1 - Variável, Constante, Termo e Predicado
Nesta seção vamos definir os principais elementos da Lógica dos Predicados.
Uma proposição simples é composta de dois elementos: o termo e o
predicado. O termo é o sujeito da sentença e o predicado o que se declara
sobre o termo.
No exemplo: O funcionário de TI é responsável por aplicar o patch de
segurança.
Temos:
Termo: O funcionário de TI.
Predicado: é responsável por aplicar o patch de segurança.
Uma variável é uma entidade capaz de representar um elemento utilizado na
determinação das respostas dos programas. Em Lógica dos Predicados a
variável será utilizada para representar um termo do conjunto de termos
válidos (representado por Ω). No exemplo anterior podemos definir a
variável x = Rogério onde Rogério é um funcionário de TI e Ω será um
conjunto formado por funcionários de uma empresa de diferentes setores, por
exemplo: Ω ={Rogerio, Camilo, Andre, Louise, Lorena}.
Já as constantes são valores fixos que não podem ser alteradas ao longo da
análise de um argumento. Exemplo: MEMORIA_MAXIMA = 32Gb.
6.2 - Função Proposicional
Seja Ω um conjunto de termos que delimitam o escopo do problema. Uma
função proposicional em Ω é um predicado P associado a um termo x
presente em Ω que não pode ser qualificado como verdadeiro ou falso.
Tal definição será possível apenas quando P(x) for definido onde x representa
pelo menos um ou todos os elementos de Ω.
Exemplo:
P(x) = x é um funcionário de TI.
Ω = Funcionários da empresa de vários departamentos.
Ω = {Rogério, Camilo, Andre, Louise, Lorena}.
Sabemos que apenas Rogério e Camilo trabalham na TI.
Assim, P(x) será verdadeiro apenas quando x for igual ao termo Rogério ou
Camilo.
Observe que um predicado para ser verdadeiro deve-se avaliar o valor que x
pode assumir em Ω, ou seja, o valor que x pode assumir no escopo do
problema.
Vejamos a seguinte função: x – 5 > 3, onde x faz parte do conjunto dos
números inteiros Z.
Esta função só será verdadeira quando x > 8, caso contrário, a função será
falsa. Assim, podemos concluir que dependendo do valor de x uma função
pode ser verdadeira ou falsa.
Em outras palavras, uma função na Lógica dos Predicados para ser
verdadeira ou falsa é necessário analisar o escopo do problema (espaço
amostral do predicado, conjunto de termos de Ω).
Considere a seguinte sentença: Todos os alunos são inteligentes.
Nesse caso, para saber se ela é verdadeira, ou falsa, é necessário, pelo menos,
saber de quais alunos estamos falando (espaço amostral do predicado). Se
forem alunos do Prof. Rogério Coelho aprovados na disciplina de Lógica
certamente temos uma sentença verdadeira!
Mas, se considerarmos todos os alunos de curso superior do Espírito Santo,
não teremos o mesmo resultado.
Portanto, para interpretar uma sentença como essa, é necessário saber algo
que deve estar implicitamente representado na própria estrutura da sentença,
ou seja, precisamos deixar claro de quais alunos estamos falando.
Precisamos saber qual é o escopo.
Veremos na próxima seção que, dependendo do quantificador (Existencial ou
Universal), um predicado também poderá ser definido como verdadeiro ou
falso.
6.3 - Quantificadores: Universal e Existencial
Quantificadores são operadores lógicos que delimitam as funções
proposicionais no conjunto de termos (Ω).
Assim, definindo um conjunto de termos (Ω), uma função proposicional
deverá ser analisada em conjunto com os quantificadores. Com isso, obtém-
se uma proposição na Lógica dos Predicados, ou seja, uma sentença
declarativa que pode ser considerada verdadeira ou falsa.
O Quantificador Universal é representado pelo símbolo ∀, que significa:
Para todo x, Qualquer que seja x etc. Geralmente, o Quantificador
Universal vem associado ao conector Se ... Então (→) para representar a
relação entre termo e predicado.
O Quantificador Existencial é representado pelo símbolo ∃, que significa:
Existe um x, Há um x, Algum x etc. Geralmente, o Quantificador
Existencial vem associado ao conector E (^) para representar a relação entre
termo e predicado.
6.4 - Formalização do Cálculo de Predicados
Nas funções proposicionais, os termos de um conjunto Ω serão representados
por letras minúsculas. Já os predicados serão representados por letras
maiúsculas, estas colocadas a esquerda do termo.
Os quantificadores serão representados pelos símbolos ∀ (Universal) e ∃
(Existencial) e serão colocados sempre antes da função proposicional, que
deve estar entre parênteses.
Exemplo 1: Todo Homem é mortal.
Ω = {Seres humanos}.
Quantificador: Universal (∀).
Termo h: Homem.
Predicado M: é mortal.
Representação: ∀x (h(x) → M(x))
Leitura da equação ∀x (h(x) → M(x)): Para Todo x, Se x é homem, então x é
mortal. Vale destacar que x pode ser qualquer ser humano conforme definido
em Ω.
Exemplo 2: Alguns Programadores são inteligentes.
Ω = {Programadores formados na Índia}.
Quantificador: Existencial (∃).
Temo p: Programadores.
Predicado I: é inteligente.
Representação: ∃x (p(x) ^ I(x))
Leitura da equação ∃x (p(x) ^ I(x)): Existe um x, tal que x é programador e x
é inteligente. Vale destacar que x pode ser apenas programadores formados
na Índia.
6.5 - Equivalência entre os Quantificadores:
Assim como na Lógica Proposicional existe equivalência entre as
proposições na Lógica dos Predicados temos também equivalência entre os
quantificadores.
A primeira equivalência entre quantificadores é: ~∃x(P(x)) ↔ ∀x ~(P(x)), ou
seja, “Não existe um termo x associado ao predicado P(x)” é equivalente a
“Todo termo x não está associado ao predicado P(x)”.
A segunda equivalência entre quantificadores é: ~∀x (P(x)) ↔ ∃x ~(P(x)), ou
seja, “Não é todo x que está associado ao predicado P(x)” é equivalente a
“Existe pelo menos um x que não está associado a P(x)”.
Exemplo: Não existe um aluno que seja irresponsável.
Ω = {Alunos do curso de Lógica Matemática}.
Quantificador: Existencial (∃x).
Termo a: aluno.
Predicado I: é irresponsável.
Representação: ~∃x ( a(x) ^ I(x)) é equivalente a ∀x (a(x) → ~I(x)). Todos os
alunos não são irresponsáveis. Vale destacar que x pode ser apenas um dos
alunos presentes em Ω = {Alunos do curso de Lógica Matemática}.
Embora a representação com negação do quantificador esteja correta na prova
de argumentos é conveniente que os quantificadores não estejam negados.
Assim, neste livro vamos sempre representar o quantificador sem
negação.
Exemplo: Nem todos os alunos serão aprovados.
Ω = {Alunos de Cálculo I}.
Quantificador: Universal ∀x, mas vamos usar o Existencial (∃x) negando o
predicado.
Termo a: aluno.
Predicado P: é aprovado.
Representação: ∃x (a(x) ^ ~P(x)).
6.6 - Regras de Formação do Cálculo de Predicado
Uma fórmula matemática bem formada (fmbf) para o cálculo de predicados
deve atender as seguintes regras de formação:
1 – Um predicado P seguido de um termo x é uma fórmula bem formada
simbolizada por P(x);
2 – Se P(x) é uma fórmula matemática bem formada então ~P(x) também é
uma fmbf;
3 – Se P(x) e Q(x) são fórmulas bem formadas, então serão fórmulas bem
formadas:
P(x) ^ Q(x).
P(x) v Q(x).
P(x) # Q(x).
P(x) → Q(x).
P(x) ↔ Q(x).
4 – Se P(x) é uma fórmula bem formada, então também será uma fórmula
bem formada:
∀x P(x).
∃x P(x).
2)
a) (∀x) (E(x) → I(x)).
b) (∃x) (E(x) ^ I(x)).
c) (∀x) (E(x) → ~I(x)).
d) (∃x) (A(x) ^ G(x)).
e) (∀x) (E(x) → D(x)).
f) (∃x) (B(x) ^ A(x)).
g) (∃x) (A(x) ^ B(x) ^ D(x)).
h) (∃x) (A(x) ^ ~S(x) ^ Gm(x)).
i) (∀x)((A(x)^Ga(x))→B(x)).
3)
a) Verdadeiro.
b) Falso.
c) Verdadeiro.
d) Falso.
4)
a) ∀x∀y ( ( L(x) ^ W(y) ) → M(x,y) ).
b) ∃x∀y ( L(x) ^ (W(y) →M(x,y) ) ).
c) ∀x∃y ( L(x) → (W(y) ^ M(x,y) ) ).
d) ∃x∃y ( L(x) ^ (W(y) ^ M(x,y) ) ).
5)
a) (∀x) C(x).
b) (∃x) S(x).
c) (∀x) (I(x) v R(x) v S(x)).
d) (∃x) (∀y) ( I(x) ^ ( R(y) → M(x,y) ) ).
e) (∀x) (C(x) → R(x)).
f) S(a) v R(a).
g) (∀x) ~C(x).
h) (∀x) (R(x) → M(x,a)).
6)
(∃(x) S(x) ^ F(x) ) ^ (∀(x) F(x) → A(x) ) → (∃(x) S(x) ^ A(x)).
1. ∃(x) S(x) ^ F(x).
2. ∀(x) F(x) → A(x).
3. S(w) ^ F(w) - Part. Exis.1 (w = Windows).
4. F(w) → A(w) - Part.Univ. 2 (w = Windows).
5. S(w) - Simplificação 3.
6. F(w) - Simplificação 3.
7. A(w) - Modus Ponens 4,6.
8. S(w) ^ A(w ) - Conjunção 6,7.
9. ∃(x) S(x) ^ A(x) - Generalização Existencial.
7)
∃(x)(P(x) ^ ~E(x)) ^ ∀(x)(J(x) → E(x)) ^ ∀(x)(J(x) v C(x)) → ∃(x) P(x) ^
C(x).
1. ∃(x) [P(x) ^ ~E(x)].
2. ∀(x) [J(x) → E(x)].
3. ∀(x) [J(x) v C(x)].
4. P(r) ^ ~E(r) -Part. Exist. 1 (r=Rogerio).
5. J(r) → E(r) -Part. Univ 2 (r=Rogerio).
6. J(r) v C(r) -Part. Univ. 3 (r=Rogerio).
7. P(r) - Simplificação 4.
8. ~E(r) - Simplificação 4.
9. ~J(r) - Modus Tollens 5, 8.
10. C(r) - Silog. Disjuntivo 6, 9.
11. P(r) ^ C(r) - Conjunção 7, 10.
12. ∃(x)P(x)^C(x) - Generalização Existencial.
8)
∀(x) (A(x) → B(x) v C(x)) ^ ∀(x) (C(x) ^ D(x) → E (x)) ^ (~B(r) ^ D(r)) ^
A(r) → E(r).
1. ∀(x)A(x) → B(x) v C(x).
2. ∀(x) C(x) ^ D(x) → E(x).
3. ~B(r) ^ D(r).
4. A(r).
5. A(r) → B(r) v C(r)- Part. Universal 1.
6. C(r) ^ D(r) → E(r) - Part. Universal 2.
6. A(a) - Simplificação, 3.
7. I(a,b) - Modus Ponens 4, 5.
8. A(a) ^ I(a,b) - Conjunção 6, 7.
9. ∃(x) A(x) ^ I(x,b) - General. Existencial 8.
10. ∃(x)∀(y) A(x) ^ I(x,y) - General. Universal 9.
10)
∀(x)∃(y) (C(x) → T(x,y)) ^ ∀(x)∀(y) (T(x,y) → D(x,y)) ^ C(m) → ∃(x)
D(m,x).
1. ∀(x)∃(y) [C(x) → T(x,y)].
2. ∀(x)∀(y) [T(x,y) → D(x,y)].
3. C(m).
4. ∀(x) [C(x) → T(x,a)] - Part. Existencial 1.
5. C(m) → T(m,a) - Part. Universal 4.
6. T(m,a) → D(m,a) - Part. Unive. 2 (2 vezes).
7. C(m) → D(m,a) - Silogismo Hipot. 5, 6.
8. D(m,a) - Modus Ponens 3,7.
9. ∃(x) D(m,x) - General. Existencial 8.
7 - PROLOG
Neste capítulo será apresentada uma introdução à Linguagem de
Programação PROLOG (PROgramming in LOGic). A versão de Prolog
descrita neste livro baseia-se na sintaxe do interpretador do SWI-Prolog. Com
pequenas alterações de sintaxe, as codificações apresentadas podem ser
convertidas para outros dialetos PROLOG.
Utilizaremos PROLOG para verificar algumas tautologias relacionadas
diretamente à Lógica dos Predicados, fazer pequenos programas para
tomadas de decisões, trabalhar com listas e etc.
Na área da Ciência da Computação, PROLOG é amplamente utilizado para
prova automática de teoremas, Inteligência Artificial, construção de
compiladores etc.
O primeiro interpretador de PROLOG foi escrito por Colmerauer e seu Grupo
de Inteligência Artificial (GIA), na Universidade de Marseille, na linguagem
ALGOL-W. Com o passar dos anos novos interpretadores foram
desenvolvidos até os dias de hoje.
Para reforçar o aprendizado deste capítulo é fortemente recomendado o leitor
baixar e instalar o software livre SWI-Prolog que pode ser encontrado em
http://www.swi-prolog.org/Download.html .
7.1 - A Linguagem PROLOG
PROLOG é uma linguagem interativa que permite resolver problemas que
envolvem representação simbólica de objetos e seus relacionamentos. A
linguagem evita que o programador descreva procedimentos para obter a
solução de um problema, permitindo que ele expresse declarativamente
apenas a estrutura lógica do problema através de termos, fórmulas atômicas e
cláusulas.
Um programa em PROLOG é também uma coleção de fatos verdadeiros
(regras, premissas, assertivas) que tratam esses fatos definidos a fim de
checar se algum outro fato é uma derivação do primeiro do conjunto de fatos,
ou seja, se esse novo fato é uma Tautologia.
Seguindo esta breve descrição, um programa em PROLOG pode ser visto
como um tipo de base de dados sofisticado, onde alguns dos itens de dados
são armazenados imediatamente como fatos verdadeiros (regras, premissas,
assertivas) e outros itens de dados podem ser adquiridos aplicando regras de
inferência.
Esta base de dados é criada pelo programador e, futuramente, processada pelo
interpretador Prolog (ou compilador) no decorrer da execução do programa
Prolog.
7.2 - Sintaxe da Linguagem PROLOG
1) Alfabeto
O alfabeto do Prolog básico é definido por:
pontuação: ( , ) , . , ', ";
letras: a, b, ... z, A, B, ... Z;
dígitos: 0, 1, 2, 3, ... 9;
operadores: *, +, - , / ...
2) Variável
Uma variável é uma cadeia de letras e de dígitos iniciado com uma LETRA
MAIÚSCULA.
Exemplo: A, B, C, D, Temperatura, Nome, RESPOSTA, X, Y, Z.
3) Predicados
Predicado é uma construção usada para declarar algo a respeito de objetos.
Um predicado é uma cadeia de letras e de dígitos iniciado com uma letra
minúscula.
Exemplos:
homem(rogerio).
pai(jose, maria).
O primeiro exemplo acima está representando a seguinte frase em português:
rogério é homem. O segundo exemplo quer dizer: José é pai de Maria.
Estes tipos de predicados são classificados como predicado unitário.
Já predicados do tipo: computador(X):-processa(X,Y), dados(Y) é
considerado como predicado não-unitário em Prolog. A representação em
português: Computador é o que processa dados. Veremos mais a frente como
tratar melhor este tipo de cláusulas.
4) Fatos, Assertivas, Regras e Premissas
Para que o interpretador Prolog tenha sucesso é fundamental a presença de
fatos na sua base de dados. Os fatos representam o relacionamento formal
entre estes objetos.
Exemplo:
gosta (rogerio, isabel).
Neste exemplo gosta é um predicado definido pelo programador.
Vamos considerar que o predicado assume o valor verdadeiro (true) para os
fatos definidos pelo programador e false caso contrário.
O interpretador Prolog pode satisfazer algumas questões, utilizando a base de
dados, contudo é necessário fazer uma pergunta relacionada com a base de
dados.
Exemplo:
gosta(rogerio,X).
O Prolog responde X = isabel.
homem(rogerio).
O Prolog responde true.
homem(isabel).
O Prolog responde false.
Atenção: Dependendo do interpretador Prolog todos fatos devem ser
definidos diretamente sem alternância.
Correto no programa SWI-Prolog.
pais(rogerio,thor).
pais(isabel,thor).
filhos(thor,rogerio).
filhos(thor,isabel).
Errado no programa SWI-Prolog.
pais(rogerio,thor).
filhos(thor,rogerio).
pais(isabel,thor).
filhos(thor,isabel).
7.3 - Sintaxe dos Conectores Lógicos em PROLOG
Abaixo a sintaxe dos conectores de Prolog associados com os conectores
lógicos.
2)
animal(leao).
animal(homem).
animal(peixe).
animal(inseto).
planta(algas).
planta(plantaCarnivora)
come(leao,homem).
come(leao,peixe).
come(homem, peixe).
come(homem,algas).
come(peixe,algas).
come(plantaCarnivora,algas).
3)
a)carnivoro(X):-come(X,Y), animal(Y).
b)herbívoro(X):-come(X,Y),planta(Y),\+carnívoro(X).
c)npredador(X):-carnívoro(X),animal(X).
d)presa(X):-come(Y,X),predador(Y),animal(X).
e)caçado(X):-presa(X).
4)
cliente(joao,700).
cliente(maria,1000).
item(sabao,20,5).
item(bombril,80,10).
validacompra(Cli,Item,Qtdsol):- cliente(Cli,Cred), item(Item,Qtd,Preco),
Qtdsol =< Qtd,(Qtdsol*Preco) =< Cred.
8 - Referências Bibliográficas
[Alencar,1986] E. Alencar Filho, Iniciação à Lógica Matemática, Editora
Nobel, 1986.
[CasaNova, 1987] M. A. Casanova, Programando em Lógica e a Linguagem
Prolog, Edigard Blucher, 1987.
[Coelho, 1988] H. Coelho, J. C. Cotta, PROLOG by example, Springer
Verlag, 1988.
[Costa, 1988] N.C.A. Costa, R. Cerrion, Introdução a Lógica Elementar,
Editora da Universidade Federal do Rio Grande do Sul, 1988.
[Daghlian,1995] J. Daghlian, Lógica e Álgebra de Boole, Atlas, 1995.
[Mortari, 2001] C.A. Mortari, Introdução à Lógica, Editora Unesp, 2001.
[Palazzo, 1997] L.A.M., Palazzo, Introdução à Programação PROLOG,
Editora da Universidade Católica de Pelotas, EDUCAT,1997.
[Salmon, 1984] W.C. Salmon, Lógica, Editora Prentice Hall do Brasil, 1984.
[Silva, 2006] Silva, F.S.C., Finger, M., Melo, A. C. V., Lógica para
Computação, Thomson Pioneira, 2006.
[Souza,2008] J.N de Souza, Lógica para Ciência da Computação, Editora
Campus, 2002.