Sei sulla pagina 1di 205

Introdução à Lógica Matemática

Rogério Miguel Coelho

1º edição

Vitória
2014
Copyright © 2014 - Rogério Miguel Coelho
Todos os direitos reservados.
ISBN13: 978-85-920580-0-5
DEDICAÇÃO

Este livro é dedicado a todos meus alunos que me incentivaram a escrever um

livro sobre Lógica e ao meu eterno orientador Prof. Dr. Luiz Fernando
Gomes Soares.
Homenagem in memoriam

Ary Ferraço Coelho


Agradecimentos
Em primeiro lugar gostaria de agradecer a Deus por todas as dádivas que vem
me fornecendo ao longo da vida. Sem sombras de dúvidas o agradecimento a
todos os meus alunos pelo incentivo, entusiasmo e bom humor compartilhado
em sala de aula ao longo destes anos. Aos colegas de licenciatura da FAESA
(Faculdades Integradas Espírito Santenses) pelas sugestões, ao coordenador
do curso de Ciência da Computação Prof. Rober Marcone Rosi pelo apoio.
Não poderia deixar de mencionar os colegas de trabalho da Petrobras pelas
sugestões de exercícios voltados para área da computação, em particular ao
Camilo Calvi pela revisão do livro. Agradecimento especial a minha esposa
Isabel pelo amor e dedicação. Por fim, minha mãe e irmãs Lorena e Juliana
por toda ternura e carinho ao longo da minha vida.
Autor
Rogério Miguel Coelho é professor do Departamento de Informática da
FAESA (Faculdades Integradas Espírito Santenses) desde 2008. É graduado
em Engenharia de Computação pela UFES (Universidade Federal do Espírito
Santo) com mestrado em Informática pela PUC-Rio (Pontifícia Universidade
Católica do Rio de Janeiro). Leciona Lógica Matemática para os cursos de
Ciência da Computação e Sistema de Informação na qual tem pesquisado
novas ferramentas colaborativas para o ensino de Lógica Matemática.
Adicionalmente, no meio corporativo trabalha como Analista de Sistemas
desde 2002, atuando nas áreas de Desenvolvimento de Sistemas, TV-Digital
(Participação do comitê Brasileiro de TV-Digital - Ginga), Modelagem de
Processos, Governança de Tecnologia da Informação, Gerenciamento de
Infraestrutura de TI e Prospecções de Novas Tecnologias. Trabalhou em
algumas empresas, tais como: EscelsaNet, Accenture e, atualmente, trabalha
na Petrobras desde 2006.
Contato com o autor pode ser realizado através de email
rogerioc@gmail.com .
Índice
1 - Introdução à Lógica
1.1 - Argumento Dedutivo e Argumento Indutivo
1.2 - Lógica Dedutiva
1.3 – Postulados Clássicos
1.4 - Proposições
1.5 - Resumo
1.6 - Exercícios
1.7 - Respostas
2 - Conectivos Lógicos
2.1 - Conectivos Lógicos
2.2 - Conectivo: Negação
2.3 - Conectivo: E
2.4 - Conectivo: Ou (Disjunção Inclusiva)
2.5 - Conectivo: Ou Exclusivo (Disjunção Exclusiva)
2.6 - Conectivo: Condicional
2.7 - Conectivo: Bicondicional
2.8 - Representação dos Conetivos Lógicos
2.9 - Fórmulas Matemáticas Bem Formadas (fmbf)
2.10 - Comprimento de Fórmulas Matemáticas Bem Formadas
2.11 - Resumo
2.12 - Exercícios
2.13 - Respostas
3 - Tabela Verdade
3.1 - Precedência de Operadores
3.2 - Resolução através de Tabela Verdade
3.3 - Exemplos de Construção de Tabelas Verdades
3.4 - Tautologia, Falácia e Contingência.
3.5 - Resumo
3.6 - Exercícios
3.7 - Respostas
4 - Equivalências Tautológicas
4.1 - Principais Equivalências Tautológicas
4.2 - Resumo
4.3 - Exercícios
4.4 - Respostas
5 - Regras de Inferência
5.1 - Argumento Válido
5.2 - Modus Ponens (MP)
5.3 - Modus Tollens (MT)
5.4 - Adição (A)
5.5 - Simplificação (S)
5.6 - Conjunção (C)
5.7 - Silogismo Disjuntivo (SD)
5.8 - Silogismo Hipotético (SH)
5.9 - Resumo
5.10 - Exercícios
5.11 - Respostas
6 - Lógica dos Predicados
6.1 - Variável, Constante, Termo e Predicado
6.2 - Função Proposicional
6.3 - Quantificadores: Universal e Existencial
6.4 - Formalização do Cálculo de Predicados
6.5 - Equivalência entre os Quantificadores:
6.6 - Regras de Formação do Cálculo de Predicado
6.7 - Predicados Binários
6.8 - Validade de Argumentos com Quantificadores
6.9 - Particularização Universal
6.10 - Particularização Existencial
6.11 - Generalização Universal
6.12 - Generalização Existencial
6.13 - Resumo
6.14 - Exercícios
6.15 - Respostas
7 - PROLOG
7.1 - A Linguagem PROLOG
7.2 - Sintaxe da Linguagem PROLOG
7.3 - Sintaxe dos Conectores Lógicos em PROLOG
7.4 - Sintaxe dos Operadores Matemáticos em PROLOG
7.5 - Listas em PROLOG
7.6 - Resumo
7.7 - Exercícios
7.8 - Respostas
8 - Referências Bibliográficas
1 - Introdução à Lógica
A busca por soluções de problemas de nosso cotidiano através da Lógica
relatam desde a antiguidade quando grandes mestres da Grécia tinham
interesse em formular normas do uso correto da razão.
Podemos dizer que a Lógica Computacional teve suas origens por volta de
1750 quando o matemático Euler introduziu a representação gráfica das
relações entre sentenças. Com base neste trabalho de Euler, outro
matemático, Venn, estabeleceu uma forma de representação gráfica das
intersecções e uniões de conjuntos, conhecido hoje como Diagrama de Venn.
Em 1847, O matemático DeMorgan escreveu um trabalho Formal Logic
(Lógica Formal) onde estabeleceu uma lei com seu nome (Lei DeMorgan)
que é utilizada amplamente na Lógica até os dias de hoje. Veremos essa lei e
sua prova no Capítulo 4.
Paralelamente ao trabalho do matemático DeMorgan, outro grande
matemático conhecido como Boole escreveu o livro An Investigation of the
laws of thought (Uma Investigação das Leis do Pensamento). Este livro
aborda a “Álgebra de Boole” em que são definidas as principais relações
entre os Operadores Lógicos (E, OU, SE p ENTÃO q e etc). No Capítulo 3
serão apresentados os principais Operadores Lógicos e suas relações em
detalhes. Vale destacar que a Álgebra de Boole só teve aplicação realmente
prática por volta de 1938, quando Claude E. Shannon provou que a análise de
circuitos de relés pode ser realizada através da Álgebra de Boole, servindo de
base para a Teoria de Interruptores.
Atualmente, o estudo da Lógica Matemática ajuda as pessoas na resolução de
problemas de nosso cotidiano através da modelagem conceitual e suas regras
de soluções.
Estudantes da área do Direito estudam Lógica para definir a melhor
abordagem perante os jurados para chegarem a uma conclusão de culpado ou
inocente. Militares estudam Lógica com a intenção de elaborar as melhores
estratégias de guerras através de ameaças e evidências. Estudantes da área de
filosofia estudam Lógica para aumentar sua capacidade de argumentação em
seus discursos questionadores.
Já estudantes da área da Ciência da Computação estudam Lógica Matemática
com o objetivo de aumentar sua capacidade de verificação formal de
programas, provas automáticas de teoremas e Inteligência Artificial.
Este capítulo tem como objetivo introduzir os conceitos básicos de Lógica
Matemática, os principais Postulados da Lógica e o Conceito de Proposições.
1.1 - Argumento Dedutivo e Argumento Indutivo
Todo estudo contemplado neste livro foca exclusivamente na investigação da
validade de uma conclusão utilizando como base um conjunto de fatos.
Um Argumento pode ser entendido como um conjunto de fatos (premissas) e
uma única conclusão (verdadeira ou falsa).
Vejamos dois exemplos de Argumentos:
Todo servidor possui memória. Deep Blue é um servidor. Logo, Deep
Blue possui memória.
É comum o sistema não funcionar após a atualização da versão. O
sistema foi atualizado. Logo, o sistema não funcionará.
O primeiro exemplo de Argumento é considerado um Argumento Dedutivo,
pois o conjunto de fatos (premissas) verdadeiros é suficiente para saber que a
conclusão é verdadeira.
Vejamos a análise do primeiro Argumento:
Premissa 1: Todo servidor possui memória.
Premissa 2: Deep Blue é um servidor.
Conclusão: Deep Blue possui memória.
Explicação: Se todo servidor tem memória e Deep Blue é um servidor,
logo Deep Blue tem memória.
O próximo exemplo de Argumento é considerado um Argumento Indutivo,
pois o conjunto de fatos (premissas) verdadeiros não é suficiente para saber
se a conclusão é verdadeira ou falsa.
Análise do segundo Argumento:
Premissa 1: É comum o sistema não funcionar após a atualização da
versão.
Premissa 2: O sistema foi atualizado.
Conclusão: Logo, o sistema não funcionará.
Explicação: A palavra comum não nos dá garantia total do sistema
não funcionar após o mesmo ser atualizado. Assim, não podemos
afirmar com 100% de certeza que o Argumento é válido.
O escopo deste livro engloba apenas o estudo de Lógica de Argumentos
Dedutivos, pois nos possibilitará determinar com exatidão se um argumento
é verdadeiro ou falso.
O estudo de Argumentos Indutivos pode ser aprofundado através da teoria da
probabilidade.
1.2 - Lógica Dedutiva
A Lógica Dedutiva é a parte da Lógica que faz uso da dedução matemática
para obter uma conclusão a respeito de determinadas premissas.
Na Lógica Dedutiva, um axioma ou postulado é uma sentença ou proposição
que não é provada ou demonstrada, pois é considerada como óbvia ou como
um consenso inicial necessário para a construção ou aceitação de uma teoria.
Por essa razão, é aceito como verdade e serve como ponto inicial para
dedução e inferências de outras verdades (dependentes de teoria).
Na Lógica Matemática, um axioma é uma hipótese inicial de onde outros
enunciados são logicamente derivados. Pode ser uma sentença, uma
proposição, um enunciado ou uma regra que permite a construção de um
sistema formal. Diferentemente de teoremas, axiomas não podem ser
derivados por princípios de dedução e nem são demonstráveis por derivações
formais, simplesmente porque eles são hipóteses iniciais. Isto é, não há mais
nada a partir do que eles seguem logicamente (em caso contrário eles seriam
chamados teoremas). Em muitos contextos, "axioma" e "postulado" são
usados como sinônimos.
Exemplo de um postulado: “Quando é retirada uma de duas quantias iguais,
sobra uma quantia igual a que foi retirada.”. Isso é claro e não precisa de
prova, por isso é definido como postulado.
1.3 – Postulados Clássicos

O estudo da Lógica Dedutiva inicia-se através de três postulados clássicos.


São eles:
Princípio da Identidade: Um ser é sempre igual a si mesmo.
Princípio da Não-Contradição: Garante ser impossível uma afirmação
ser verdadeira e falsa ao mesmo tempo, ou seja, uma afirmação não
pode ser simultaneamente verdadeira e falsa na Lógica Clássica.
Uma ocasião onde esse princípio pode ser aplicado é quando diferentes
pessoas ou mesmo teorias fazem afirmações contraditórias. Por exemplo, um
cientista afirma que existe vida inteligente no universo. Já outro cientista
afirma que não existe vida inteligente no universo. Ora, ambos não podem
estar falando a verdade ao mesmo tempo. Isso não quer dizer que saibamos
qual deles está certo, podemos em algumas situações não ter evidências ou
indícios suficientes para decidir, mas podemos afirmar que duas afirmações
opostas nunca serão ambas verdadeiras ou ambas falsas.
Um caso interessante pode ser a crença em vida após a morte: algumas
pessoas acreditam que existe vida após a morte, outras que não. De acordo
com o princípio, não pode ser o caso de que ambos os lados estejam falando a
verdade. Nesse caso, parece que não temos evidências nem para um nem para
outro. Mesmo assim, podemos saber com certeza e de antemão que as duas
coisas não podem ser ambas verdadeiras.
É importante destacar a definição de paradoxo em conjunto com este
postulado. A palavra paradoxo vem do latim (paradoxum) e do grego
(paradoxos). O prefixo “para” quer dizer contrário a, ou oposto de, e o sufixo
“doxa” quer dizer opinião. Vejamos a seguinte frase: “A sentença escrita
neste livro é falsa.”. Ora, se esta sentença é falsa então ela verdadeira. Mas,
se está escrita que ela é falsa como pode ser verdadeira? Esse é um caso de
um paradoxo. Assim, podemos concluir que um paradoxo nada mais é que é
uma declaração aparentemente verdadeira que leva a uma contradição lógica.
Um exemplo clássico de paradoxo é o seguinte: O barbeiro é um
homem da cidade que faz a barba de todos os homens da cidade que não
barbeiam a si mesmos. Você deve estar se perguntado: Quem barbeia o
barbeiro?
Esta questão leva a um paradoxo porque, de acordo com a afirmação
acima, ele pode ser barbeado por: ele mesmo ou o barbeiro (que passa a ser
ele mesmo). No entanto, nenhuma destas possibilidades são válidas, pois: se
o barbeiro barbear-se a si mesmo, então o barbeiro (ele mesmo) não deve
barbear a si mesmo. Se o barbeiro não se barbeia a si mesmo, então ele (o
barbeiro) deve barbear a si mesmo. Como isso é possível sem quebrar a regra
inicial?
Vejamos mais um exemplo de paradoxo, só que agora veremos um
paradoxo semântico, a famosa frase de Camões: “O Amor é ferida que dói e
não se sente”. O paradoxo semântico existe nessa frase porque o poeta diz
que “dói” e ao mesmo tempo “não sente”. Ora: como pode saber se dói ou
não, se ele não sente? Ou, como é possível não sentir o que dói?
Princípio do Terceiro Excluído: Toda proposição ou é falsa ou
verdadeira, ou seja, não existe dúvida e nem outra opção.
Por exemplo, uma moeda tem duas faces (cara e coroa). Podemos
atribuir o valor lógico verdadeiro para a face cara e o valor lógico
falso para a face coroa. Sempre que jogarmos uma moeda no chão o
resultado será cara (V) ou coroa (F), ou seja, nunca um resultado
poderá ser outro resultado além de V e F.
Esses postulados são a base de todas as deduções lógicas para Argumentos
Dedutivos.
1.4 - Proposições
A Lógica Formal pode representar as afirmações que fazemos em linguagem
cotidiana para apresentar fatos ou transmitir informações.
Uma Proposição (ou declaração) é uma sentença simples que temos como
deduzir com certeza se ela é falsa ou verdadeira.
As proposições serão representadas por letras minúsculas (p, q, r, s, t etc) ao
longo deste livro.
Exemplos de Proposições:
Dois é um número par. (Verdade).
O Google é uma ferramenta de busca na internet. (Verdade).
Não existe vírus para o sistema operacional Windows. (Falso).
Exemplos que não são Proposições:
Aquele aluno é muito talentoso. (Não temos como saber se é verdade,
pois não sabemos qual é o aluno!).
Como você está? (Não é uma afirmação verdadeira ou falsa).
Vale destacar que todas as sentenças interrogativas e exclamativas não são
proposições.
Abaixo, temos as seguintes representações Matemáticas para as proposições
anteriores:
p: Dois é um número par. (Verdade).
p = V (Valor lógico de p).
q: O Google é uma ferramenta de busca na internet. (Verdade).
q = V (Valor lógico de q).
r: Não existe vírus para o Sistema Operacional Windows. (Falso).
r = F (Valor lógico de r).
É importante destacar que o mapeamento das proposições da Linguagem
Natural em Linguagem Matemática sempre acontecerá através de
proposições. Com o objetivo de aumentar nossa capacidade de representação
de Linguagem Natural para Linguagem Matemática precisaremos de
conectores lógicos para relacionar várias proposições, tais como: “OU”, “E”,
“NEGAÇÃO”, “SE p ENTÃO q”, “SE E SOMENTE SE” e etc.
No próximo capítulo veremos esses conectores lógicos e seus valores lógicos
(verdadeiro ou falso).
1.5 - Resumo
1) Um Argumento pode ser entendido como um conjunto de premissas com
uma conclusão.
2) Argumento Dedutivo: é válido quando suas premissas, se verdadeiras, a
conclusão é também verdadeira.
3) Argumento Indutivo: a verdade das premissas não basta para assegurar a
verdade da conclusão.
4) Axioma ou Postulado é uma sentença ou proposição que não é provada ou
demonstrada, pois por natureza é considerada como um consenso inicial
necessário para a construção ou aceitação de uma teoria.
5) Princípio da Identidade: Um ser é sempre igual a si mesmo.
6) Princípio da não-contradição: Garante ser impossível uma coisa ser e não
ser ao mesmo tempo.
7) Princípio do Terceiro Excluído: Toda proposição ou é falsa ou verdadeira,
ou seja, não existe dúvida.
8) Um paradoxo é uma declaração aparentemente verdadeira que leva a uma
contradição lógica.
9) Uma proposição em Lógica são afirmações que podemos determinar seu
valor lógico (verdadeiro ou falso) e são representadas por letras minúsculas.
1.6 - Exercícios

1 - Qual das frases abaixo são proposições válidas?


a) O número 2 mais 3 é maior do que 7.
b) Como está o seu computador?
c) O consumo de CPU do servidor vai subir amanhã.
d) Rogério Coelho é professor de Lógica Matemática.
e) Existe vida em outro planeta.

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”.

3 – Qual das afirmações abaixo não atende aos postulados clássicos de


Lógica?
a) Penso logo existo.
b) Ao jogar uma moeda para alto o resultado do lançamento sempre será cara
ou coroa, não existe outra possibilidade.
c) Um formulário no qual pergunta o sexo existe apenas duas opções:
masculino ou feminino.
d) Na computação quântica um bit pode, ao mesmo tempo, ter o valor igual a
0 e 1.
e) z igual a z.
4 – Qual das afirmações abaixo não atende aos postulados clássicos de
Lógica?
a) (5 + 3 – 2 +2) / (5 -3) + 2 = (5 + 3 – 2 +2) / (5 -3) + 2.
b) Estava na rua e vi João com uma luneta.
c) Todo homem é mortal.
d) A honra do ser humano é intocável.
e) Os cientistas da área de computação sabem montar o cubo mágico.

5 – Qual frase abaixo não é um paradoxo?


a) “O Amor é ferida que dói e não se sente.”.
b) Pinóquio disse: “O meu nariz vai crescer”.
c) 1 = -1 pois (1)2 = (-1)2
d) “Quanto mais damos mais temos.”.
e) “O melhor improviso é aquele que é melhor preparado”.

6 - Dada as definições abaixo relacione com as sentenças seguintes.


a – Axioma.
b – Teorema.
c – Princípio da Identidade.
d – Princípio da Não-Contradição.
e – Princípio do Terceiro Excluído.
f – Paradoxo.

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...

7 - Dada a seguinte frase: O barbeiro é um homem da cidade que faz a barba


de todos os homens da cidade que não barbeiam a si mesmos. Tal frase pode
ser classificada como um paradoxo? Justifique sua resposta.
1.7 - Respostas
1)
a) É uma proposição válida.
b) Não é uma proposição válida. Perguntas não são premissas.
c) Não uma proposição válida. Não sabemos qual é o servidor.
d) É uma proposição válida.
e) É uma proposição válida. Pois mesmo que eu não saiba agora se existe
vida em outro planeta no futuro saberemos se essa afirmação será verdade ou
falsa.
2)
a) Princípio da Não-Contradição.
b) Princípio do Terceiro Excluído.
c) Princípio da Identidade.
3) d . Princípio da Não-Contradição.
4) b . Observe que a frase é ambígua, pois não sabemos se João estava com
uma luneta ou se eu vi João utilizando uma luneta.
5) c. Pois não é um paradoxo e sim uma prova inválida.
6) i - e ; ii - b (Teorema de Tales) ; iii - a ; iv - f ; v - d ; vi - c.
7) Sim. A Pergunta chave para a prova do paradoxo é: Quem faz a barba do
barbeiro? Não pode ser ele mesmo pois o Barbeiro só faz a barba de quem
não se barbeia. Mas, se ele não faz a barba de si mesmo então o barbeiro
poderá fazer.
2 - Conectivos Lógicos
Durante um diálogo, utilizamos várias proposições para apresentarmos
nossos pensamentos, evidências e fatos. Muitas vezes, essas representações
de fatos e evidências necessitam se relacionar com diferentes afirmações que
podem ser verdadeiras ou falsas (proposições). Para a representação das
relações entre diferentes proposições são necessários os Conectivos Lógicos.
Este capítulo tem como objetivo apresentar os principais conectores de
Lógica, os valores lógicos de cada conector, a definição de fórmulas
matemáticas válidas e, por fim, a representação de Linguagem Natural em
Linguagem Matemática.
2.1 - Conectivos Lógicos
Os principais Conectivos Lógicos e as suas representações simbólicas
abordadas neste livro são:

Veremos a seguir alguns exemplos de frases em Linguagem Natural


representados em Linguagem Matemática através das proposições utilizando
conectivos.
2.2 - Conectivo: Negação
O Conectivo Negação (~) é utilizado para negar uma sentença. É importante
destacar que embora na Linguagem Natural a negação esteja no meio da
frase, a representação da negação em Linguagem Matemática estará sempre
antes da frase. Assim, a interpretação da frase: O Linux não tem vírus é
analisada conforme abaixo.

Frase: O Linux não tem vírus.


Proposição p: Linux tem vírus.
Representação Matemática: ~p.

Dada uma proposição p, podemos deduzir outra proposição denominado de


negação de p através do conectivo ~. Assim, se p for uma proposição
verdadeira ~p é falso, e se p for falso, então ~p é verdade.
Abaixo, temos a representação da negação de uma Tabela Verdade de apenas
uma proposição.

Tabela 1 Conectivo Negação

Os valores V e F representam respectivamente o valor lógico verdadeiro e


falso.
Devemos ter cuidado ao negar uma premissa para que sua negação não tenha
interpretação errada. Vejamos o seguinte exemplo clássico: Todo homem é
mortal. A negação intuitiva desta frase seria: Nem todo homem é mortal.
Mas, observe que se escrevo desta forma estou afirmando que existem ainda
homens que sejam mortais, ou seja, a negação não realizada em toda a sua
completude! O correto seria: Não é verdade que: Todo homem é mortal.
Vejamos mais um exemplo:

p: Rogério leciona de segunda a sexta.


~p: Rogério não leciona de segunda a sexta.

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.

Obs: Embora na Linguagem Natural a negação esteja no meio da frase, a


representação da negação em Linguagem Matemática estará sempre antes da
frase.
Assim, a interpretação da frase acima seria: Não é verdade que: o Linux tem
vírus. (~p).
Devemos ter cuidado ao negar uma premissa para que sua negação não tenha
interpretação errada.
Vejamos o seguinte exemplo clássico: Todo homem é mortal. A negação
intuitiva desta frase seria: Nem todo homem é mortal. Mas, observe que se
escrevo desta forma estou afirmando que existem ainda homens que sejam
mortais, ou seja, a negação não realizada em toda a sua completude! O
correto seria: Não é verdade que: Todo homem é mortal.
2.3 - Conectivo: E

O conectivo E (^) passa a ideia de dois fatos estarem ocorrendo


simultaneamente. Assim, dadas duas proposições (p , q) , podemos obter uma
terceira proposição (p ^ q) , denominada de Conjunção das duas proposições
da seguinte forma:

Proposição p: Linux tem código fonte aberto.


Proposição q: Linux é de graça.
Representação Matemática: p ^ q.
Frase: O Linux tem código fonte aberto e é de graça.

A Tabela verdade do conectivo E (^) está representada abaixo:

Tabela 2 Conectivo E

Vale destacar que a proposição composta p ^ q só será verdade quando todas


as proposições individuais (p , q) forem verdadeiras.

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)

O conectivo Ou (v) passa a ideia de se um fato for atendido todo o conjunto


será satisfeito. Assim, dadas duas proposições (p , q) , podemos obter uma
terceira proposição (p v q) , denominada de Disjunção Inclusiva das duas
proposições da seguinte forma:

Proposição p: Linux pode ser baixado no site da RedHat.


Proposição q: Linux pode ser baixado no site do Ubuntu.
Representação Matemática: p v q.
Frase: O Linux pode ser baixado no site da RedHat ou no site do Ubuntu.

A Tabela verdade do conectivo Ou (v) está representada abaixo:

Tabela 3 Conectivo Ou

Vale destacar que a proposição composta p v q só será falsa quando todas as


proposições individuais (p , q) forem falsas.
Vejamos o exemplo abaixo:

p: Luiz Fernando Gomes Soares é professor de Redes. (p = Verdade)


q: Luiz Fernando Gomes Soares é professor de Sistemas Multimídias. (q =
Verdade)
Logo, podemos deduzir que: Luiz Fernando Gomes Soares é professor de
Redes de Computadores ou Sistemas Multimídias. (p v q = V ↔ V v V = V).
2.5 - Conectivo: Ou Exclusivo (Disjunção Exclusiva)

Existe um caso particular da Disjunção que é denominado de Ou Exclusivo


(#), na qual embora tenhamos duas opções ou mais opções só podemos
escolher uma.
Assim, o Ou Exclusivo, também conhecido como Disjunção Exclusiva, só
será verdade quando apenas uma das proposições for verdadeira. Pode ser
entendido também como Um Dos Dois.

Vejamos a tabela do ou exclusivo:

Tabela 4 Conectivo Ou Exclusivo

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:

Tabela 5 Conectivo Condicional

Para melhor entendimento da tabela do Condicional vejamos o exemplo a


seguir:
As seguintes premissas foram definidas:
p: x é um número maior que 10.
q: x2 é um numero maior que 100.

Análise da primeira linha da Tabela 5 - Conectivo Condicional:


Dado que x = 11, então temos:
p: 11 é um número maior que 10. (p = V).
q: (11)2 é um número maior que 100. (q = V).

Assim, podemos afirmar que a variável x com o valor igual a 11 resulta em


uma premissa p com valor lógico verdadeiro, pois 11 é maior que 10.
Temos também que a mesma variável x = 11 implica matematicamente em
uma premissa q com valor lógico verdadeiro, pois 121 é maior que 100.
A conclusão que temos neste caso é que uma premissa p verdadeira implica
matematicamente em uma premissa q verdadeira. Logo, o conector
Condicional neste caso é VERDADEIRO, primeira linha da Tabela 5 -
Conectivo Condicional.

Análise da segunda linha da Tabela 5 - Conectivo Condicional:

É impossível encontrar um número x que satisfaça a premissa p: x é um


número maior que 10 e, AO MESMO TEMPO, ESSE MESMO
NÚMERO PARA X NÃO SATISFAÇA a premissa q: x2 é um numero
maior que 100. Por isso, a segunda linha da Tabela 5 - Conectivo Condicional
é FALSO.

Análise da terceira linha da Tabela 5 - Conectivo Condicional:

Dado que x=-20, então temos:


p: -20 é um número maior que 10. (p = F).
q: (-20)2 é um número maior que 100. (q = V).
Assim, podemos afirmar que x com o valor igual a -20 atribui p com um
valor lógico falso que implica matematicamente em um q com um valor
lógico verdadeiro. Logo, isso é possível! Por isso, a terceira linha da Tabela
6 - Conectivo Condicional é VERDADE.
Análise da quarta linha da Tabela 5 - Conectivo Condicional :

Dado que x =5, então temos:


p: 5 é um número maior que 10. (p = F).
q: (5)2 é um número maior que 100. (q = F).

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.

Entendendo os valores lógicos do conector Condicional é interessante saber a


variações com mesmo significado em Linguagem Natural.
Dado que:
p: Está chovendo.
q: A rua está molhada.
Abaixo, todas as representações da Linguagem Natural da representação
matemática (p → q) com o mesmo significado semântico.
1) Se está chovendo, então a rua está molhada;
2) Se está chovendo, a rua está molhada;
3) Estar chovendo é condição suficiente para que a rua esteja molhada;
4) A rua molhada é condição necessária para que esteja chovendo;
5) A rua está molhada, se está chovendo.
No exemplo acima a proposição p é denominada de antecedente e a
proposição q é denominada consequente.
2.7 - Conectivo: Bicondicional

O conectivo Bicondicional (Se e Somente Se), representado pelo símbolo


(↔), tem como objetivo representar a equivalência de duas premissas. Assim,
pode-se fazer uma análise de duas proposições através do conector
bicondicional com os seguintes valores Lógicos.

Tabela 6 Conectivo Bicondicional

Vejamos a seguinte sentença: Igor será classificado em um concurso se e


somente se obter um resultado maior que 70% da prova.
p: Igor é classificado no concurso público.
q: Igor obter um resultado maior que 70% na prova.
Assim a expressão p ↔ q representa: Igor será classificado no concurso
público se e somente se, ele totalizar mais de 70% na prova. Isso é verdade!!!
As equivalências serão analisadas em maiores detalhes no Capítulo 4.
2.8 - Representação dos Conetivos Lógicos
Em alguns momentos será necessário utilizar os parênteses para representar
de forma correta a Linguagem Natural em Linguagem Matemática.
Vejamos o exemplo abaixo:
Se Linux tem código fonte aberto e suporte mundial então ele é o
melhor para minha empresa.
Proposição p: Linux tem código fonte aberto.
Proposição q: Linux tem suporte mundial.
Proposição r: Linux é o melhor.
Representação Matemática: (p ^ q) → r.
Uma outra abordagem a ser trabalhada é: dada a representação na Linguagem
de Matemática qual sua representação em Linguagem Natural.
Por exemplo: Dada as seguintes proposições:
p: Windows tem vírus.
q: Windows é caro.
Traduza a representação da Linguagem Matemática em Linguagem Natural.
1) ~p:
Resposta: Windows não tem vírus.
2) p ^ q:
Resposta: Windows tem vírus e Windows é caro.
3) p v q:
Resposta: Windows tem vírus ou Windows é caro.
2.9 - Fórmulas Matemáticas Bem Formadas (fmbf)

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:

1. Todo valor lógico (verdade ou falso) é uma fórmula matemática bem


formada.
2. Se p é uma fórmula matemática bem formada então ~p também é uma
fórmula matemática bem formada.
3. Se p e q são fórmulas matemáticas bem formadas então qualquer relação
entre elas devem ser representadas através dos conectores entre elas.

Vejamos exemplos de Fórmulas Matemáticas Bem Formadas:


a) V.
b) p.
c) ~p.
d) p ^ q.
e) q → p.
f) ((p ^ q) v r) → t.
g) (p ↔ q) → ~(r v s).
Vejamos alguns exemplos de Fórmulas Matemáticas Mal Formadas:
a) p →.
b) ~.
c) p v q → t ^.
d) (p ↔ q) → ^ r v s.
e) ^ ^ p → q.
f) ~p ~ ↔ q.
2.10 - Comprimento de Fórmulas Matemáticas Bem
Formadas

Para calcular o comprimento de uma Fórmula Matemática Bem Formada é


necessário seguir algumas regras. São elas:
1. Se a Fórmula Matemática for apenas um valor lógico (verdade ou falso)
seu comprimento é igual 1.
2. Se a Fórmula Matemática for definida com alguma negação, por
exemplo, ~p então seu comprimento é calculado da seguinte forma:
Comprimento(~p) = Comprimento(p) + 1.
3. Se a Fórmula Matemática for definida por: (p qualquer conector q) então
seu comprimento é calculado da seguinte forma: Comprimento(p qualquer
conector q) = Comprimento(p) + Comprimento(q) + 1.
É 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.
Vejamos alguns exemplos de cálculo do comprimento de fórmulas.
a) Comprimento(p → q) = Comprimento(p) + Comprimento(q) + 1 = 3.
b) Comprimento((p ^ q) ↔ r) = Comprimento(p ^ q) + Comprimento(r) + 1 =
Comprimento(p) + Comprimento(q) + 1 + Comprimento(r) + 1 = 5.
2.11 - Resumo
i. Os principais conectores de Lógica são:

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

1 - Dadas as seguintes proposições p: Rogério joga futebol e q: Rogério joga


basquete. Escreva em Linguagem Natural as seguintes proposições:
a) p v q.
b) p ^ q.
c) p ^ ~q.
d) ~p v ~q.
e) ~(~p).
f) ~(~p ^ ~q).
g) p → ~q.
h) q ↔ p.
i) ~(~q → ~p).

2 - Escreva cada uma das proposições compostas a seguir em Linguagem


Matemática dado que:
p: Louise é bonita.
q: Louise é elegante.
a) Louise é bonita e elegante.
b) Louise é bonita, mas não elegante.
c) Não é verdade que Louise não é bonita ou elegante.
d) Louise não é bonita nem elegante.
e) Louise é bonita ou não é bonita e elegante.
f) É falso que Louise não é bonita ou que não é elegante.
g) Louise é bonita se e somente se é elegante.
h) Se Louise não é elegante então ela não é bonita.

3 - Escreva cada uma das proposições compostas a seguir em Linguagem


Matemática dado que:
p: carro estiver ajustado.
q: piloto vencerá.
r: tecnologia for de ponta.
a) Se o carro estiver ajustado, o piloto vencerá.
b) O piloto vencerá apenas se o carro estiver ajustado e a tecnologia for de
ponta.
c) Um carro ajustado é uma condição necessária para o piloto vencer.
d) O piloto vencerá se e somente se a tecnologia for de ponta.
e) Uma condição suficiente para o piloto vencer é que a tecnologia seja de
ponta ou o carro esteja ajustado.

4 - Diga quais das fórmulas abaixo são válidas.


a) ~~p.
b) p q ^.
c) (p ^ q) → ((q ↔ p) v ~~r).
d) ^ q.

5 - Calcule o comprimento das Fórmulas Matemáticas Bem Formadas abaixo.


a) F.
b) ~p.
c) p v q.
d) (p → q) v r.

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.

7 - Se a proposição p é verdadeira (V) e a proposição q é falsa (F), qual das


opções abaixo retornará o valor lógico V?
a) ~p.
b) p # q.
c) p ↔ q.
d) ~p v q.
e) p → q.

8 - Só ganharás dinheiro se completares o trabalho. Dados: p: ganhar


dinheiro. q Completar o trabalho. Qual representação é correta?
a) p → q.
b) q → p.
c) p # q.
d) q ↔ p.
e) p ↔ q.

9 - Dado que p: Rogério é alto e q: Rogério é elegante. Escolha a opção


correta que traduz para a linguagem simbólica a seguinte proposição: Rogério
é alto ou é baixo e elegante.
a) p v p ^ q.
b) p ^ (~p v q).
c) p v (~p v q).
d) p v (~p ^ q).
e) p v (~p ^ ~q).

10 - Dado que p: Rogério é alto e q: Rogério é elegante. Escolha a opção


correta que traduz para a linguagem simbólica a seguinte proposição: É falso
que Rogério é baixo ou que não é elegante.
a) ~(~p v ~q).
b) ~(~p ^ ~q).
c) ~(~p v q).
d) ~(p v q).
e) ~(~p v q).

11 - Considerando as proposições p: Está frio, q: Não está chovendo e r: Irei


jogar futebol, traduzir para a linguagem simbólica a seguinte proposição: Se
está calor e não está chovendo, então irei jogar futebol.
a) (~p ^ q) → r.
b) (~p ^ ~q) → r.
c) (p ^ q) → r.
d) p ^ q ↔ r.
e) (~p v q) → r.

12 - Se tomarmos café ou comermos algo, chegaremos atrasados a


conferencia, mas, se isso for um problema, é melhor nos despedirmos agora.
Dados t: tomarmos café; c: comermos algo; a: chegarmos atrasados a
conferencia; p: isso e um problema; d: melhor nos despedirmos agora. A
representação da frase será?
a) ( ( t v c → a ) v ( p → d ) ).
b) ( ( t v c → a ) v ( p ↔ d ) ).
c) ( ( t v c → a ) ^ ( d → p ) ).
d) ( ( t v c → a ) ^ ( p → d ) ).
e) ( ( t v c → a ) v ( d → p ) ).

13 - Passe para Linguagem Matemática seguinte sentença: x é menor que 3 e


maior que 0, ou, x não é igual a 7.
a) ( ( x < 3) ^ (x < 0) ) v ( x = 7).
b) ( ( x < 3) ^ (x > 0) ) v ( x = 7).
c) ( ( x < 3) ^ (x > 0) ) ^ ~( x = 7).
d) ( ( x < 3) v (x > 0) ) v ~( x = 7).
e) ( ( x < 3) ^ (x > 0) ) v ~( x = 7).

14 - Dado que a: Luiz é administrador; b: Alfredo é bancário; c: Maria e


comerciante. Traduza para a linguagem matemática a seguinte frase: É
mentira que Luiz é um administrador, que Alfredo é bancário ou que Maria
seja comerciante.
a) ~( a ^ (b v c)).
b) ~( a ~ (b v (~c)).
c) ~( a ^ ( ~b v (~c))).
d) ~a ^ ~b v ~c.
e) ~ a ^ (~(b v c))).

15 - Qual fórmula não é bem formada?


a) (~ (p v q) → (q # r) v q).
b) a ^ (b v c) v (d v (~e))).
c) (p v q) → (q # r) v q.
d) ~(a ~(b ^ (c v c))).
e) ( ( x < 3) ^ (x > 0) ) v ~( x = 7).

16 - Considere as seguintes premissas abaixo como verdadeiras:


“Cláudia é bonita e inteligente, ou Cláudia é simpática.”.
“Cláudia não é simpática.”.
A partir dessas premissas verdadeiras, podemos concluir que Claudia:
a) É bonita ou inteligente.
b) É bonita e inteligente.
c) É bonita e não é inteligente.
d) Não é bonita e não é inteligente.
e) Não é bonita.

17 - Considere as seguintes premissas abaixo como falsas:


“Se Rogério é astuto e inteligente então Rogério elabora questões
impossíveis”.
“Rogério elabora questões impossíveis.”.
A partir dessas premissas falsas, podemos concluir como verdade que
Rogério:
a) Rogério não é inteligente nem astuto.
b) Rogério elabora questões impossíveis.
c) Se Rogério é inteligente então ele não é astuto.
d) Rogério é astuto.
e) Rogério é inteligente se e somente se ele não for astuto.

18 - Se Rogerio estuda História, então Lorena estuda Matemática. Se Helena


estuda Filosofia, então Jorge estuda Medicina. Ora, Rogerio estuda História
ou Helena estuda Filosofia. Logo, segue-se necessariamente que:
a) Lorena estuda Matemática ou Jorge estuda Medicina.
b) Lorena estuda Matemática e Jorge estuda Medicina.
c) Se Rogerio não estuda História, então Jorge não estuda Medicina.
d) Helena estuda Filosofia e Lorena estuda Matemática.
e) Lorena estuda Matemática ou Helena não estuda Filosofia.
2.13 - Respostas
1)
a) Rogério joga futebol ou Rogério joga basquete.
b) Rogério joga futebol e Rogério joga basquete.
c) Rogério joga futebol e não Rogério joga basquete.
d) Rogério não joga futebol ou Rogério não joga basquete.
e) Rogério joga futebol.
f) É falso afirmar que: Rogério não joga futebol e Rogério não joga basquete.
g) Se Rogério joga futebol então Rogério não joga basquete.
h) Rogério joga basquete se e somente se Rogério joga futebol.
i) É falso afirmar que: Se Rogério não joga basquete então Rogério não joga
futebol.
2)
a) p ^ q.
b) p ^ ~q.
c) ~(~p v q).
d) ~p ^ ~q.
e) p v ~p ^ q.
f) ~(~p v ~q).
g) p ↔ q.
h) ~q → ~p.
3)
a) p → q.
b) q → p ^ r.
c) q → p.
d) q ↔ r.
e) r v p → q.
4)
a) É uma Fórmula Matemática bem Formada.
b) Não é uma Fórmula Matemática bem Formada.
c) É uma Fórmula Matemática bem Formada.
d) Não é uma Fórmula Matemática bem Formada.
5)
a) 1.
b) 2.
c) 3.
d) 5.
6) b.
7) b.
8) e.
9) d.
10) a.
11) a.
12) d.
13) e.
14) a.
15) b, tem um parênteses a mais.
16) b.
17) d.
18) a.
3 - Tabela Verdade
Um dos principais objetivos do estudo de Lógica é poder concluir se um
conjunto de premissas (proposições) relacionadas entre si através de
conectores lógicos chegam a uma conclusão verdadeira.
Neste capítulo temos como objetivo principal apresentar a primeira técnica
para solução de problemas de Lógica Matemática através da Tabela Verdade.
Para utilizarmos a Tabela Verdade na resolução de problemas, precisamos
conhecer os valores lógicos dos conectivos, a precedência de conectores e,
por fim, a técnica de montagem e resolução da Tabela Verdade.
Além disso, neste capítulo serão apresentados os conceitos de
TAUTOLOGIA, FALÁCIA e CONTINGÊNCIA para proposições
compostas.
Veremos que a Tabela Verdade é uma técnica muito boa de resolver
problemas de poucas premissas (até quatro premissas), pois a complexidade
de sua resolução aumenta exponencialmente com o número de premissas.
3.1 - Precedência de Operadores
Formalmente, não haveria necessidade de definir precedência entre
conectivos lógicos, pois as proposições sintaticamente corretas deveriam
utilizar tantos parênteses quanto necessários. No entanto, para permitir a
escrita de proposições mais ‘curtas’ (sem os parênteses), foi estabelecido as
seguintes relações de precedência entre os conectores:
.

Assim, em uma equação devemos primeiro resolver a parte da equação que


está dentro dos parênteses, depois a negação (~), a seguir o conector E (^) e
assim sucessivamente até o conector Se somente Se (<->) com menor
precedência.
Caso tenhamos na mesma equação dois conectores iguais, a ordem de
resolução destes conectores não altera o resultado final.
Vejamos o exemplo da equação: (p → q) v q ^ r.
Maior precedência: (p → q).
Segunda maior precedência: q ^ r.
Terceira maior precedência: (p → q) v q ^ r.
Observe que no exemplo acima a segunda maior precedência é q ^ r e não (p
→ q) v q.
Vale destacar que alguns autores consideram a precedência de operadores E
(^) e OU (v) do mesmo nível, ou seja, em uma equação que apresenta o
conector E (^) e OU (v) no mesmo nível (sem parênteses) será necessário a
inserção de parênteses para informar qual deve ser realizado primeiro, caso
contrário teremos uma solução ambígua.
Com o objetivo de evitar ambiguidade em equações e a inserção em demasia
de parênteses fica estabelecido pelo autor deste livro que o conector E (^) tem
prioridade sobre o conector OU (v) quando ambos estejam no mesmo nível.
Caso esta regra de precedência do conetor E (^) sobre o operador OU(v) não
esteja estabelecida pelo autor será necessário a inserção de parênteses para
evitar ambiguidade nas equações. Assim, a equação anterior (p → q) v q ^ r
necessariamente seria representada por (p → q) v (q ^ r) ou ((p → q) v q) ^ r
dando prioridade ao conector E (^) ou ao conector OU (v).
3.2 - Resolução através de Tabela Verdade
Para montar a Tabela Verdade de uma proposição composta, siga os
seguintes passos:
1) Identificar quais são as proposições simples.
2) Calcular o total de linhas da sua Tabela Verdade. O cálculo deve ser
realizado através da seguinte fórmula matemática: 2n + 1, onde n é igual o
número de proposições simples.
Vale destacar que este “+1” está relacionado à linha de cabeçalho da
Tabela Verdade (primeira linha que terá as proposições simples e
compostas) e não as linhas de resolução da Tabela Verdade.
3) Criar as primeiras colunas da primeira linha apenas com proposição
simples da equação.
4) Criar as demais colunas da esquerda para direita respeitando a precedência
dos operadores até que toda a equação seja montada na última coluna.
5) Inserir as combinações possíveis de valores lógicos (V ou F) para todas as
proposições simples.
6) Calcular os valores lógicos (V ou F) das próximas colunas da esquerda
para direita até a última coluna.
3.3 - Exemplos de Construção de Tabelas Verdades
Nesta seção serão apresentados alguns exemplos de construção de Tabela
Verdade passo a passo.
Montar a Tabela Verdade da equação (p → q) ^ (q → p).
Seguindo os passos, temos:
1) Identificar quais são as proposições simples.
p e q.
2) Calcular o total de linhas da sua Tabela Verdade. O cálculo deve ser
realizado através da seguinte fórmula matemática: 2n + 1 (dois elevado a n),
onde n é igual ao número de proposições simples.
n = 2 (p e q).
Total de linhas = 2n + 1.
Total de linhas = 22 + 1.
Total de linhas = 5.
3) Criar as primeiras colunas da primeira linha onde cada coluna
corresponderá apenas a uma proposição simples.
4) Criar as demais colunas da esquerda para direita respeitando a precedência
dos operadores até que toda a equação seja montada na última coluna.
5) Inserir as combinações possíveis de valores lógicos (V ou F) para as
proposições simples.
6) Calcular os valores lógicos (V ou F) das colunas da esquerda até a última
coluna.
Montar a Tabela Verdade da equação p → q ↔ ~p v q.
1) Identificar as proposições simples.
p e q.
2) Calcular o total de linhas da sua Tabela Verdade. O cálculo deve ser
realizado através da seguinte fórmula matemática: 2n + 1 (dois elevado a n),
onde n é igual ao número de proposições simples.
n = 2 (p e q).
Total de linhas = 2n + 1.
Total de linhas = 22 + 1.
Total de linhas = 5.
3) Criar as primeiras colunas da primeira linha apenas com proposição
simples da equação.
4) Criar as demais colunas da esquerda para direita respeitando a precedência
dos operadores até que toda a equação seja montada na última coluna.
5) Inserir as combinações possíveis de valores lógicos (V ou F) para todas as
proposições simples.
6) Calcular os valores lógicos (V ou F) das próximas colunas da esquerda
para direita.
Montar a Tabela Verdade ~p ^ q → ~r v p.
1) Identificar as proposições simples.
p,q,r.
2) Calcular o total de linhas da sua Tabela Verdade. O cálculo deve ser
realizado através da seguinte fórmula matemática: 2n + 1 (dois elevado a n),
onde n é igual ao número de proposições simples.
n = 3 (p , q e r).
Total de linhas = 2n + 1.
Total de linhas = 23 + 1.
Total de linhas = 9.
3) Criar as primeiras colunas da primeira linha apenas com proposição
simples da equação.
4) Criar as demais colunas da esquerda para direita respeitando a precedência
dos operadores até que toda a equação seja montada na última coluna.
5) Inserir as combinações possíveis de valores lógicos (V ou F) para todas as
proposições simples.
6) Calcular os valores lógicos (V ou F) das próximas colunas da esquerda
para direita.
3.4 - Tautologia, Falácia e Contingência.
Na Lógica, definimos uma TAUTOLGIA como uma verdade absolta, ou
seja, independente dos valores lógicos (V ou F) das proposições simples, a
proposição composta formada pela relação destas proposições simples
sempre será verdade.
Podemos verificar isso analisando a última coluna da Tabela Verdade
Veja o exemplo abaixo:
p → (p v q).

Observe que independente dos valores lógicos de p e q (V ou F) a proposição


composta, p → (p v q), sempre será verdade.
Definimos uma FALÁCIA como uma mentira absoluta, ou seja,
independente dos valores lógicos (V ou F) das proposições simples a
proposição composta formada pela relação destas proposições simples
sempre será falsa.
Veja o exemplo: ~(p v q) ^ p.
Observe que independente dos valores lógicos de p e q (V ou F), a proposição
composta ~(p v q) ^ p sempre será falsa.
Por fim, definimos como CONTINGÊNCIA quando uma proposição
composta pode ser verdade ou falsa dependendo diretamente dos valores
lógicos (V ou F) das proposições simples.
Veja o exemplo abaixo: p v q → p.

Observe que dependendo dos valores lógicos de p e q (V ou F), a proposição


composta ~(p v q) ^ p pode ser falsa ou verdadeira.
3.5 - Resumo
Para resolver problema de Tabela Verdade, primeiro temos que saber a
precedência de operadores conforme a tabela abaixo:

Além disso, para montar a Tabela Verdade é necessário seguir os seguintes


passos abaixo:
1. Identificar quais são as proposições simples.
2. Calcular o total de linhas da sua Tabela Verdade. O cálculo deve ser
realizado através da seguinte fórmula matemática: 2n + 1 (dois elevado a
n), onde n é igual ao número de proposições simples.
3. Criar as primeiras colunas da primeira linha apenas com proposição
simples da equação.
4. Criar as demais colunas da esquerda para direita respeitando a
precedência dos operadores até que toda a equação seja montada na última
coluna.
5. Inserir as combinações possíveis de valores lógicos (V ou F) para todas
as proposições simples.
6. Calcular os valores lógicos (V ou F) das próximas colunas da esquerda
para direita até a última coluna.
Vimos que uma proposição composta pode ser classificada como
TAUTOLOGIA quando sua Tabela Verdade for sempre verdadeira. Caso a
Tabela Verdade seja sempre falsa classificamos como uma FALÁCIA. Por
fim, se a Tabela Verdade apresentar valores lógicos verdadeiros ou falsos a
proposição composta será classificada como uma CONTIGÊNCIA.
3.6 - Exercícios
1) Construa a Tabela Verdade das equações abaixo, iniciando as colunas da
tabela verdade por ordem alfabética das premissas simples:
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.
g) (p → q) ↔ ( (p v r) → q).

2) Qual é a Tabela Verdade da expressão (p -> q) -> p ^ q, iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) V V V F.
b) V V V V.
c) F F F F.
d) V F F V.
e) V V F F.

3) Qual é a Tabela Verdade da expressão: ~ (p ^ q) v ~ (q <-> p) , iniciando


as colunas da tabela verdade por ordem alfabética das premissas simples.
a) V V V V.
b) F F F F.
c) F V V V.
d) F V V F.
e) V F F V.

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.

5) Qual é a Tabela Verdade da expressão: ~ (p v ~q ) ^ (~p v r) , iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) F F F F F F F F.
b) F F F F V V F F.
c) V V F F F F F F.
d) F F F F V V V V.
e) V F F V F F F F.

6) Qual é a Tabela Verdade da expressão: p v ~r -> q ^ ~r, iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) F F F F F F F F.
b) F V F V V V V F.
c) F V F F V V V V.
d) F F F F V V V V.
e) F V F F V V V F.

7) Qual é a Tabela Verdade da expressão: (p ^ q) ^ ~ (p v q) , iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) V V V V.
b) V F F F.
c) F V V V.
d) F V V F.
e) F F F F .

8) Qual é a Tabela Verdade da expressão: ~((~p -> ~q) ^ q -> p) , iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) F F F F.
b) V F F F.
c) F V V V.
d) F V V F.
e) F F F V.

9) Qual é a Tabela Verdade da expressão: (a -> b) ^ (b -> a) , iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) F F F F.
b) V F F V.
c) V V F V.
d) V F F F.
e) F F F V.

10) Qual é a Tabela Verdade da expressão: p v ~q ^ ~p, iniciando as colunas


da tabela verdade por ordem alfabética das premissas simples.
a) V V F V.
b) F V F V.
c) V F F V.
d) V F F F.
e) F F F V.

11) Qual é a Tabela Verdade da expressão: ~(c ^ b) -> ~a v c ^ b, iniciando as


colunas da tabela verdade por ordem alfabética das premissas simples.
a) F V F F V V V V.
b) V F F F F V V V.
c) V F F F V V V V.
d) V V V F V V V V.
e) V F F F F F 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.

Abaixo, as principais Equivalências Tautológicas que serão utilizadas em


nosso livro:
1 – Dupla Negação:
p ↔ ~(~p).
Tabela Verdade:
2 – Lei Idempotente:
a) p v p ↔ p.
b) p ^ p ↔ p.
Tabela Verdade:
p v p ↔ p.
3 – Lei Comutativa:
a) p v q ↔ q v p.
b) p ^ q ↔ q ^ p.
Tabela Verdade:
p v q ↔ q v p.
4 – Lei Associativa:
a) p v (q v r) ↔ (p v q) v r.
b) p ^ (q ^ r) ↔ (p ^ q) ^ r.
Tabela Verdade:
p v (q v r) ↔ (p v q) v r.
5 – Lei de Morgan:

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).

Vejamos agora uma questão clássica de concurso utilizando Lei de Morgan:


É falso afirmar que: Linux não tem vírus e Windows tem vírus é equivalente
a:
a) Linux não tem vírus e Windows não tem vírus.
b) Linux tem vírus e Windows não tem vírus.
c) Linux tem vírus ou Windows não tem vírus.
d) Linux não tem vírus ou Windows tem vírus.
e) Nem Linux nem Windows tem vírus.

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.

12 - Com relação às afirmações abaixo sobre as Leis De Morgan:


I. Negar que duas dadas proposições são ao mesmo tempo verdadeiras
equivale a afirmar que uma pelo menos é falsa.
II. Negar que uma pelo menos de duas proposições é verdadeira equivale a
afirmar que ambas são falsas.
III. A negação transforma a conjunção em condicional e o condicional em
conjunção.
Podemos afirmar como correta(s):
a) As afirmações I e III.
b) As afirmações I e II.
c) As afirmações II e III.
d) Todas as afirmações.
e) Todas as afirmações são falsas.
4.4 - Respostas
1–
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.

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):

Observe que quando p → q é verdade e p também é verdade o q


(consequente) só pode ser verdade conforme a Tabela Verdade acima.
Vamos supor agora a seguinte expressão: p ^ q → r é verdade e que p e q
também são verdades logo r necessariamente também é verdade pelo mesmo
motivo anterior!
Uma outra forma de definir um ARGUMENTO VÁLIDO é quando um
conjunto de proposições (p, q, r, t,...) são verdadeiras interligadas pelo
conector “E” (^) a sua conclusão (z) também é verdade desde que premissas
(p, q, r, t,...) implicam na conclusão (z).
Assim, temos como a representação de um Argumento Válido: p ^ q ^... ^ y
→ z desde que as premissas (p ^ q ^ ... ^ y) implicam na conclusão (z).
A representação Matemática de Argumento Válido mais utilizada é: p1 ^ p2
^ p3 ^ ... ^ pn-1 → pn, onde n pertence aos números Naturais, ou seja, um
conjunto de premissas finitas (p1, p2, p3, ... , pn-1) interligadas através do
conector e (^) (p1 ^ p2 ^ p3 ... pn-1) será um argumento válido desde que estas
premissas (p1, p2, p3, ... , pn-1) impliquem na conclusão (pn).
Argumento Válido: p1^p2^p3^...^pn-1→pn
Por fim, também podemos verificar se um argumento é válido construindo a
Tabela Verdade do argumento e verificar se a Tabela Verdade é uma
TAUTOLGIA.
No entanto, quando tivermos uma quantidade grande de premissas a Tabela
Verdade se torna muito trabalhosa e acaba não sendo a técnica de verificação
mais adequada para provar se um argumento é válido.
Por exemplo, verificar se o argumento (~b v ~c) ^ (~a ^ c → d) ^ (a v ~c → b
^ c) → ~(~d ^ e) é válido por Tabela Verdade se torna um trabalho realmente
exaustivo, pois a quantidade de linhas da Tabela Verdade será 32.
Na próxima seção veremos a técnica da prova direta, que utilizam Regras de
Inferências e Equivalências Tautológicas sem a necessidade de construir a
Tabela Verdade.
As regras de inferência são argumentos válidos simples (TAUTOLOGIAS) e
podem ser utilizadas para verificar se um argumento complexo é válido
através da utilização das mesmas.
5.2 - Modus Ponens (MP)

Modus Ponens em Latim quer dizer modo de afirmar.


A regra do Modus Ponens afirma que o Argumento (p → q) ^ p → q é válido.
Podemos provar a regra do Modus Ponens (p → q) ^ p → q como uma
TAUTOLOGIA através da Tabela Verdade.
Vejamos a Tabela Verdade:

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.

A representação acima informa que dado que a Premissa 1 (p → q) e a


Premissa 2 (p) são verdadeiras, a Premissa 3 (q) também é verdadeira
através da regra do Modus Ponens.
Lembrando: Um argumento é válido quando um conjunto de premissas
relacionadas entre si através do conector “E” (^) implicam em uma conclusão
verdadeira.
Representação do Argumento Válido: Premissa 1 (p →q) ^ Premissa 2 (p) →
Conclusão (q) é válido neste caso, pois através da relação de Modus Ponens
sobre Premissa 1 e Premissa 2, uma terceira Premissa é obtida (q), que é
justamente igual à conclusão (q) do argumento. Assim, o argumento é válido.
Vejamos o seguinte exemplo da aplicação da regra de Modus Ponenes (MP)
para verificarmos se um argumento é válido.
Argumento: Se compro uma casa, então gasto muito dinheiro. Comprei uma
casa. Logo, gastei muito dinheiro.
p = compro uma casa.
q = gasto muito dinheiro.
Representação Matemática do Argumento: (p → q) ^ p → q.
Abaixo minhas premissas:
P1: (p→q).
P2: p .
P3: q P1,P2 Modus Ponens (MP).

Pela Regra de Modus Ponens aplicada nas premissas P1 e P2, podemos


inferir P3=q como verdade que é justamente a conclusão do argumento, logo
o argumento é válido.
5.3 - Modus Tollens (MT)
Em Latim Modus Tollens quer dizer modo de negação. A regra do Modus
Tollens afirma que o Argumento (p → q) ^ ~q → ~p é válido.
Podemos provar a regra do Modus Tollens (p → q) ^ ~q → ~p como uma
TAUTOLOGIA através da Tabela Verdade.

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).

Vejamos o exemplo: Rogério não está lecionando na sala 1. Rogério está


lecionando na sala 1 ou na sala 2. Logo, Rogério está lecionando na sala 2.
p: Rogério está lecionando na sala 1.
q: Rogério está lecionando na sala 2.
Então, temos:
P1: ~p.
P2: p v q .
P3: q P1,P2 – Silogismo Disjuntivo (SD).
5.8 - Silogismo Hipotético (SH)
Se uma premissa p implica em q e se esta premissa q implica em r, então p
implica em r.
Abaixo, como podemos utilizar a regra do Silogismo Hipotético.
P1: p → q
P2: q → r .
P3: p → r P1,P2 – Silogismo Hipotético (SH).

Argumento: Se Rogério ensina Lógica, então ele estuda muito. Se Rogério


estuda muito, então ele é inteligente. Portanto, se Rogério ensina Lógica
Matemática, então ele é inteligente.
p: Rogério ensina Lógica.
q: Rogério estuda muito.
r: Rogério é inteligente.
Então temos:
P1: p → q
P2: q → r .
P3: p → r P1,P2 - Silogismo Hipotético (SH).
5.9 - Resumo
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.
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.
Argumento Válido: p1 ^ p2 ^ p3 ^ ... ^ pn-1 → pn.
Abaixo as principais regras de inferências:
5.10 - Exercícios
1 – Verifique se os argumentos abaixo são válidos usando regras de
inferências, equivalências tautológicas e implicações tautológicas:
a) (p → q) ^ p → q v r.
b) (q → p) ^ ~p → ~q v t.
c) (p → q) ^ ~s ^ p ^ (r → s) → q ^ ~r.
d) (p v r) ^ (p → q) ^ ~q → r.
e) (~p v s) ^ ~(~p v ~t) → s.
f) (q → r) ^ ~(~p v ~q) → q ^ r.
g) (~p → r) ^ ~(~q v r) → p v s.
h) p ^ (p ^ ~r → ~q) ^ ~r → ~q.
i) (~q v ~r) ^ (~p ^ r → s) ^ (p v ~r → q ^ r) → ~(~s ^ t).
j) p ^ (q → r) ^ ((p ^ q) → (s v ~r)) ^ q → s.
k) (p→q) ^ ~(r v ~t) ^ (q → r) → t ^ ~p.
2 – Prove que os argumentos abaixo são verdadeiros através de regras de
inferências, equivalências tautológicas e implicações tautológicas.
a) Se Windows ou Linux funciona no desktop, então Solaris e HP-UX não
funcionam. Windows foi instalado no desktop. Portanto, Solaris não pode ser
instalado.
b) Se o programador tivesse feito tratamento de exceção no programa, o erro
seria tratado e o programador saberia onde foi seu erro. O programador não
sabe onde foi seu erro. Portanto, o programador não fez tratamento de
exceção no programa.
c) Se continuar chovendo, Vila Velha-ES ficará alagada. Se continuar
chovendo e Vila Velha-ES alagar, haverá engarrafamento. Se houver
engarrafamento, então a culpa é do prefeito. Continua chovendo. Logo, a
culpa é do prefeito.
d) Se Dirceu usurpou o dinheiro que não lhe cabia, então deve ser condenado.
Ou o Dirceu foi um político exemplar ou usurpou o dinheiro que não lhe
cabia. Dirceu não foi um político exemplar. Portanto, deve ser condenado.
e) O programa é bom mas não tem desempenho adequado. Se houver muito
consumo de memória RAM ou se não houver muitos usuários simultâneos
então o programa tem desempenho adequado. Portanto, o programa é bom e
tem muitos usuários simultâneos.
f) Não é verdade dizer que: ou Rogério é sábio ou não é inteligente. Rogério
é sábio ou gosta de Matemática. Se ele é inteligente então é belo. Se gosta de
Matemática e é belo então ele é feliz e belo. Portanto Rogério é belo e feliz.
g) Se Maria disse a verdade, João mentiu e Carlos também mentiu. Se Carlos
mentiu, Regina falou a verdade. Se Regina falou a verdade, então Lógica
Matemática é difícil. Ora, Lógica Matemática não é difícil. Logo, podemos
concluir que Maria mentiu e Regina também mentiu.
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.
3 – Diga o nome da Regra de Inferência para a seguinte sentença: Se chover,
a grama molha. Hoje choveu. Logo, a grama molhou.
a) Modus Tollens.
b) Modus Ponens.
c) Silogismo Disjuntivo.
d) Silogismo Hipotético.
e) Simplificação.
4 – Sabendo que a afirmação “No ovo de páscoa ou tem amendoim, ou tem
avelã. Logo, é falso afirmar que não tem amendoim e não tem avelã.” é
correta, podemos dizer que podemos aplicar para a prova?
a) Modus Ponens.
b) Modus Tollens.
c) Lei de Morgan.
d) Silogismo Hipotético.
e) Silogismo Disjuntivo.
5 - Diga o nome da regra de Inferência para a seguinte sentença: Se chover a
terra fica molhada. Se a terra ficar molhada as plantas gostam. Então,
concluir que se chover a plantas gostam.
a) Modus Ponens.
b) Modus Tollens.
c) Lei de Morgan.
d) Silogismo Hipotético.
e) Silogismo Disjuntivo.
6 - Diga o nome da regra de Inferência ou equivalência para a seguinte
sentença: Se eu não estudar Lógica Matemática, vou ser reprovado. Logo, ou
eu estudo Lógica Matemática ou eu serei reprovado!
a) Modus Ponens.
b) Modus Tollens.
c) Lei de Morgan.
d) Silogismo Disjuntivo.
e) Implicação Material.

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.
5.11 - Respostas
1-
a) (p → q) ^ p → q v r.
P1: (p → q).
P2: p.
P3: q P1, P2 -Modus Ponens.

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: ~r ^ q P6,P5 – Conjunção.


d) (p v r) ^ (p → q) ^ ~q → r.
P1: p v r.
P2: p → q.
P3: ~q.
P4: ~p P2, P3 – Modus Tollens.
P5: r P1, P4 – Silogismo Disjuntivo.
e) (~p v s) ^ ~(~p v ~t) → s.
P1: ~p v s.
P2: ~(~p v ~t).
P3: p ^ t P2 – Lei de Morgan.
P4: p P3 – Simplificação.
P5: t P3 – Simplificação.
P6: s P1, P4 – Silogismo Disjuntivo.
f) (q → r) ^ ~(~p v ~q) → q ^ r.
P1: q → r.
P2: ~(~p v ~q).
P3: p ^ q P2 - Lei de Morgan.
P4: p P3: Simplificação.
P5: q P3: Simplificação.
P6: r P1, P5: Modus Ponens.
P7: q ^ r P5, P6: Conjunção.
g) (~p → r) ^ ~(~q v r) → p v s.
P1: ~p → r.
P2: ~(~q v r).
P3: q ^ ~r P2: Lei de Morgan.
P4: q P4:Simplificação.
P5: ~r P4: Simplificação.
P6: p P1,P5 Modus Tollens.
P7: p v s P7 Adição.
h) p ^ (p ^ ~r → ~q) ^ ~r → ~q.
P1: p.
P2: p ^ ~r → ~q.
P3: ~r.
P4: p ^ ~r P1, P3 Conjunção.
P5: ~q P2,P4 Modus Ponens.
i) (~qv~r)^(~p^r→s)^(pv~r→q^r)→~(~s^t).
P1: ~q v ~r.
P2: ~p ^ r → s.
P3: p v ~r → q ^ r.
P4: ~(q ^ r) P1: Lei de Morgan.
P5: ~(p v ~r) P3, P4 Modus Tollens.
P6: ~p ^ r P5 Lei de Morgan.
P7: s P2, P6 Modus Ponens.
P8: s v ~t P7: Adição.
P9: ~(~s ^ t) P8: Lei de Morgan.
j) p^(q→r)^((p^q)→(sv~r))^q→s.
P1: p.
P2: q → r.
P3: (p ^ q) → (s v ~r).
P4: q.
P5: r P2, P4 – Modus Ponens.
P6: p ^ q P1, P4 – Conjunção.
P7: s v ~r P3, P6 – Modus Ponens.
P8: s P5, P7 – Silogismo Disj.
k) (p→q)^~(rv~t)^(q→r)→t^~p.
P1: p→q.
P2: ~(r v ~t).
P3: q → r.
P4: ~r ^ t P2 – Lei de Morgan.
P5: ~r P4 – Simplificação.
P6: t P4 – Simplificação.
P7: p → r P1, P3 – Silogis. Hipot.
P8: ~p P5, P7 – Modus Tollens.
P9: t ^ ~p P6, P8 – Conjunção.
2–
a) Se Windows ou Linux funciona no desktop, então Solaris e HP-UX não
funcionam. Windows foi instalado no desktop. Portanto, Solaris não pode ser
instalado.
w: Windows instalado no desktop.
l: Linux instalado no desktop.
s: Solaris instalado no desktop.
h: HP-UX instalado no desktop.
Argumento: ((w v l) → ~s ^ ~h) ^ w → ~s.
P1: (w v l) → ~s ^ ~h.
P2: w.
P3: w v l P2 – Adição.
P4: ~s ^ ~h P1,P3 – Modus Ponens.
P5: ~s P4 – Simplificação.
b) Se o programador tivesse feito tratamento de exceção no programa, o erro
seria tratado e o programador saberia onde foi seu erro. O programador não
sabe onde foi seu erro. Portanto, o programador não fez tratamento de
exceção no programa.
s: Programador fez tratamento de exceção.
a: O erro seria tratado.
b: Programador sabe onde foi seu erro.
Argumento: (s → a ^ b) ^ ~b → ~s.
P1: s → a ^ b.
P2: ~b.
P3: ~b v ~a P2 – Adição.
P4:~(b ^ a) P3 – Lei de Morgan.
P5: ~s P1, P4 – Modus Tollens.
c) Se continuar chovendo, Vila Velha-ES ficará alagada. Se continuar
chovendo e Vila Velha-ES alagar, haverá engarrafamento. Se houver
engarrafamento, então a culpa é do prefeito. Continua chovendo. Logo, a
culpa é do prefeito.
c: Continuar chovendo.
a: Vila Velha-ES ficará alagada.
e: Haver engarrafamento.
p: A culpa é do prefeito.
Argumento: (c→a)^((c^a)→e)^(e→p)^c→p.
P1: c→a.
P2: (c ^ a) → e.
P3: e → p.
P4: c.
P5: a P1, P4 – Modus Ponens.
P6: c ^ a P4, P5 – Conjunção.
P7: e P2, P6 – Modus Ponens.
P8: p P3, P7 – Modus Ponens.
d) Se Dirceu usurpou o dinheiro que não lhe cabia, então deve ser condenado.
Ou o Dirceu foi um político exemplar ou usurpou o dinheiro que não lhe
cabia. Dirceu não foi um político exemplar. Portanto, deve ser condenado.
d: Dirceu usurpou dinheiro que não lhe cabia.
c: Dirceu deve ser condenado.
p: Dirceu foi um político exemplar.
Argumento: (d → c) ^ (p v d) ^ ~p → c.
P1: d → c.
P2: p v d.
P3: ~p.
P4: d P2, P3 – Silogismo Disj.
P5: c P1, P4 – Modus Ponens.
e) O programa é bom mas não tem desempenho adequado. Se houver muito
consumo de memória RAM ou se não houver muitos usuários simultâneos
então o programa tem desempenho adequado. Portanto, o programa é bom e
tem muitos usuários simultâneos.
c: O programa é bom.
a: O programa tem desempenho adequado.
r: Há muito consumo de memória RAM.
s: Há muitos usuários simultâneos.
Argumento:(c^~a)^((r v ~s)→a)→(c^s).
P1: c ^ ~a.
P2: (r v ~s) → a.
P3: ~a P1 – Simplificação.
P4: c P1 – Simplificação.
P5: ~(r v ~s) P2, P3 – Modus Tollens.
P6: ~r ^ s P5 – Lei de Morgan.
P7: s P6 – Simplificação.
P8: c ^ s P4, P7 – Conjunção.
f) Não é verdade dizer que: ou Rogério é sábio ou não é inteligente. Rogério é
sábio ou gosta de Matemática. Se ele é inteligente então é belo. Se gosta de
Matemática e é belo então ele é feliz e belo. Portanto Rogério é belo e feliz.
p: Rogério é Sábio.
q: Rogério é inteligente.
m: Rogério gosta de matemática.
b: Rogério é belo.
f: Rogério é feliz.
Argumento: ~(p v ~q)^(p v m)^ (q→b)^((m^b) → (f^b)) →f^b.
P1: ~(p v ~q).
P2: (p v m).
P3: (q → b).
P4: (m ^ b) - > (f ^ b).
P5: ~p ^ q P1 – Lei de Morgan.
P6: ~p P5 – Simplificação.
P7: q P5 – Simplificação.
P8: m P6, P2 – Silog. Disjuntivo.
P9: b P3, P7 – Modus Ponens.
P10: m ^ b P8, P9 – Conjunção.
P11: f ^ b P4, P10 – Modus Ponens.
g) Se Maria disse a verdade, João mentiu e Carlos também mentiu. Se Carlos
mentiu, Regina falou a verdade. Se Regina falou a verdade, então Lógica
Matemática é difícil. Ora, Lógica Matemática não é difícil. Logo, podemos
concluir que Maria mentiu e Regina também mentiu.
m: Maria diz a verdade. j: João mentiu.
c: Carlos Mentiu. r: Regina fala verdade.
l: Lógica Matemática é difícil.
Argumento:(m→(j^c))^(c→r)^(r→l)^~l→ (~m^~r).
P1. m → (j ^ c).
P2. c → r.
P3. r → l.
P4. ~l.
P5. ~r P3, P4 – Modus Tollens.

P6. ~c P2, P5 – Modus Tollens.

P7. ~c v ~j P6 – Adição.

P8. ~j v ~c P7 – Comutatividade.

P9. ~(j ^ c) P8 – Lei de Morgan.

P10. ~m P1, P9 – Modus Tollens.

P11. ~m ^ ~r P5, P10 – Conjunção.

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).

Exemplos de Fórmulas Matemática Bem Formadas (fmbf):


a) ∀x(P(x)).
b) ∃x(P(x) ^ Q(x)) -> ~∀x(P(x)).
c) (∀x(P(x)) v ~∃x(P(x))) ^ ~(~∀x(Q(x)).

Exemplos de Fórmulas Matemática Mal Formadas:


a) ∀x (P(x) ^ Q(x).
Justificativa: Está faltando o fechamento do parênteses.
b) ∃x(P(x) ~ ^ Q(x)) -> ~∀x(P(x)).
Justificativa: A negação (~) está antes do conector ^.
c) ∀x(P(x) -> Q(x)) ^ ∃x.
Justificativa: Está faltando predicado no final da equação.
6.7 - Predicados Binários
Os predicados que vimos até agora englobam apenas uma única variável, ou
seja, predicados unários. Os predicados podem ser binários, envolvendo duas
variáveis, e ternários, envolvendo três variáveis.
Representações Binárias podem conter ao mesmo tempo o Quantificador
Universal e Existencial juntos.
Abaixo um resumo do uso dos Quantificadores e seus conectores quando
necessários para relacionar o termo com o predicado.
Atenção: A tabela abaixo é uma sugestão. Dependendo da frase o conector
pode ser outro.
.

Onde R(x,y) é predicado binário


Exemplo: Usando os símbolos predicados indicados e quantificadores
apropriados, escreva cada declaração em português como uma fórmula bem
formada predicada:
U = Ambiente Computacional.
V(x): x é vírus.
C(y): y é computador.
R(x,y): x rouba dados de y.
a) Alguns vírus roubam dados de alguns computadores.
Resposta: ∃x∃y(V(x)^(C(y)^R(x,y))).
b) Alguns vírus roubam dados de todos os computadores.
Resposta: ∃x∀y(V(x)^(C(y)→R(x,y))).
c) Todos os vírus roubam dados de alguns computadores.
Resposta: ∀x∃y(V(x)→(C(y)^R(x,y))).
d) Todos vírus roubam dados de todos computadores.
Resposta: ∀x∀y((V(x)^C(y))→R(x,y)).
6.8 - Validade de Argumentos com Quantificadores
Todas as regras apresentadas em Lógica Proposicional para prova de
argumentos também se aplicam na Lógica dos Predicados, assim como as
equivalências tautológicas.
Para provar argumentos com predicados é necessário primeiro eliminar os
quantificadores transformando o Argumento de Lógica dos Predicados em
Lógica Proposicional e, posteriormente, voltar o argumento em Lógica dos
Predicados. Para isso vamos apresentar quatro novas regras.
6.9 - Particularização Universal

Se P(x) é verdadeiro para todos os elementos do meu universo, então


podemos atribuir uma variável “a”, que referencia qualquer um dos
elementos do universo, que teremos que P(a) sempre será verdadeira, pois
todos os elementos do meu universo atendem o predicado. Isso é Lógico!!!
Assim, temos:
Se ∀xP(x) é verdade, então podemos deduzir P(a) também é verdade em que
“a” é uma variável ou constante que referencia um elemento do universo.
Exemplo:
U = {Todos os softwares}.
P(x) = Ser um Sistema Operacional.
∀xP(x) = V.
Então podemos deduzir que:
Se a = Linux Então P(a) = V, pois Linux é um Sistema Operacional e
pertence ao universo de softwares.
Observe que qualquer que seja o valor de a = (Linux, Unix, Windows, IOS,
etc) sempre P(a) será verdadeiro.
6.10 - Particularização Existencial

Se P(x) é verdadeiro para pelo menos um elemento do meu universo, então


podemos atribuir uma variável “a”, que referencia este(s) elemento(s) do
universo, que teremos que P(a) será verdadeira, pois “a” esta referenciando
um elemento do meu universo que atende o predicado.
Assim, temos:
Se ∃xP(x) é verdade, então podemos deduzir P(a) também é verdade em que
“a” é uma variável ou constante que referencia o elemento do universo que
atende ao predicado.
Vale destacar que podemos ter mais de um elemento do meu universo que
atende o meu Predicado. Dependendo, pode ser que todos os elementos do
universo atenda ao predicado. Mas, o que posso confirmar com certeza que
PELO MENOS um elemento do meu universo atenderá o predicado quando o
quantificador for existencial.
Exemplo:
U = {animais}.
P(x) = Pertencer ao grupo dos mamíferos.
∃xP(x) = V.
Então podemos deduzir que:
Se a = cachorro Então P(a) = V, pois “a” está referenciado o grupo de
cachorros que são mamíferos.
Por outro lado, se a = sapos então P(a) = F.
É muito importante destacar que agora precisamos avaliar o universo para
saber se um argumento é falso ou verdadeiro e qual é o valor da minha
variável “a”.
6.11 - Generalização Universal
Se soubermos que P(x) é verdadeiro e que x é um elemento absolutamente
arbitrário, isto é, que x pode ser qualquer elemento no conjunto universo,
então podemos concluir que ∀xP(x) é verdadeiro.
Vejamos o seguinte exemplo:
U = {2,4,6,8,10}.
P(x) = x é um número par.
Se P(x) é verdade para todos os elementos do meu universo, ou seja, se x for
igual = 2, 4, 6, 8, 10, então posso escrever que ∀xP(x) é verdadeiro.
6.12 - Generalização Existencial
Se soubermos que P(x) é verdadeiro, então existe pelo menos um x que a
sentença P(x) é verdadeira, logo podemos deduzir que ∃xP(x) que é
verdadeiro.
Vejamos o seguinte exemplo:
U = {2,4,6,7,8,10}.
P(x) = x é um número par.
Se P(x) é verdade para pelo menos um dos elementos do meu universo, ou
seja, se x = {2, 4, 6, 7, 8, 10}, então posso escrever que ∃xP(x) é verdadeiro.
Veja que se meu universo fosse U = {2,4,6,8,10} eu poderia dizer que ∃xP(x)
é verdade e ∀xP(x) também é verdade!
O que o leitor precisa ficar atento é que agora o escopo do universo pode
determinar qual generalização a ser aplicada!
6.13 - Resumo
Abaixo um resumo do uso dos Quantificadores e seus conectores quando
necessários para relacionar o termo com o predicado.
.

Onde R(x,y) é predicado binário


.

O Universo deve ser levado em consideração nas deduções.


6.14 - Exercícios
1 - Usando os símbolos predicados indicados e os quantificadores
apropriados, escreva cada declaração português.
U = Servidores do CPD.
S(x): x está com alto consumo de CPU.
C(x): x está com alto consumo de memória.
M(x): x é um servidor de Banco de Dados.
T(x): x é um servidor Web.
a) Todos os servidores estão com alto consumo de CPU.
b) Alguns servidores estão com alto consumo de memória.
c) Alguns servidores estão com alto consumo de CPU e memória.
d) Todos os servidores de banco estão com alto consumo de memória.
e) Alguns servidores Web estão com alto consumo de CPU e memória.
f) Nenhum servidor está com alto consumo de CPU.
g) Todos os servidores de Banco e Web estão com alto consumo de CPU.
h) Todos os servidores que não estão com alto consumo de CPU estão com
alto consumo de memória.

2 - Traduza as seguintes sentenças em linguagem corrente para uma notação


simbólica usando termos, predicados, quantificadores e conectivos
sentenciais:
U: Pessoas.
E(x): x é estudante.
I(x): x é inteligente.
A(x): x é aluno.
G(x): x gosta de programar.
D(x): x é digno.
B(x): x é bom.
Gm(x): x gosta de Lógica Matemática.
Ga(x): x gosta de Algoritmo.
S(x): x é sério.
a) Todos os estudantes são inteligentes.
b) Alguns estudantes são inteligentes.
c) Nenhum estudante é inteligente.
d) Alguns alunos gostam de programar.
e) Todos os estudantes são dignos.
f) Alguns alunos são bons.
g) Alguns alunos são bons e dignos.
h) Alguns alunos que não são sérios gostam de Lógica Matemática.
i) Todos os alunos que gostam de Algoritmo são bons.

3 - Determine o valor lógico (Verdadeiro ou Falso) de cada uma das


sentenças a seguir.
Use a interpretação:
U = conjunto dos números inteiros.
P(x): x é par.
G(x): x > 10.
a) ∃xP(x).
b) ∀x(G(x) → P(x)).
c) ∃x(P(x) ^ G(x)).
d) ∀x(P(x) v G(x)).

4 - Usando os símbolos dos predicados indicados e os quantificadores


apropriados, escreva cada declaração em português como uma representação
matemática predicada:
U = Sistemas Operacionais.
L(x): x é Linux.
W(y): y é Windows.
M(x,y): x é mais robusto y.
a) Todos os Sistemas Operacionais Linux são mais robustos que todos os
Sistemas Operacionais Windows.
b) Alguns Sistemas Operacionais Linux são mais robustos que todos os
Sistemas Operacionais Windows.
c) Todas os Sistemas Operacionais Linux são mais robustos que alguns
Sistemas Operacionais Windows.
d) Alguns Sistemas Operacionais Linux são mais robustos que alguns
Sistemas Operacionais Windows.

5 - Usando os símbolos predicados indicados e quantificadores apropriados,


escreva cada declaração em português como uma fórmula bem formada
predicada:
U: todas as variáveis globais de um programa de computador.
M(x,y): x é maior que y.
I(x): x é uma variável do tipo inteira.
S(x): x é uma variável do tipo string.
R(x): x é uma variável do tipo real.
C(x): x é menor do que 100.
a : é a variável denominada ‘a’.
a) Todas as variáveis são menores do que 100.
b) Existem variáveis do tipo string.
c) Todas as variáveis ou são inteiras, ou reais ou string.
d) Existem variáveis inteiras que são maiores do que todas reais.
e) Apenas variáveis menores que 100 são reais.
f) A variável ‘a’ é do tipo string ou real.
g) Nenhuma variável é menor do que 100.
h) Todas as variáveis reais são maiores do que a variável ‘a’.

6 - Prove o seguinte argumento: Alguns Sistemas Operacionais tem falhas de


seguranças. Todas as falhas de segurança tem alto custo para indústria.
Portanto, alguns Sistemas Operacionais tem alto custo para indústria.
U = Todos os Sistemas Operacionais.
S(x): x é um Sistema Operacional.
F(x): x tem falha de segurança.
A (x): x tem alto custo para indústria.
7 - Prove o seguinte argumento: Existe um programador que não conhece a
IDE (Integrated Development Enviroment) Eclipse. Todo mundo que
programa em JAVA conhece a IDE Eclipse. Além disso, todo mundo ou
programa em JAVA ou em C++. Portanto existe um programador que
programa em C++.
U = Todas as pessoas.
P(x): x é programador.
E(x): x conhece a IDE Eclipse.
J(x): x programa em JAVA.
C(x): x programa em C++.

8 - Prove o seguinte argumento: Todos os professores vêm da indústria ou do


governo. Todos que vêm do governo e são Analistas de Sistemas são a favor
de provas de certificação. Rogério não vem da indústria mas é Analista de
Sistemas. Rogério é um professor. Portanto Rogério é a favor de provas de
certificação.
U = Todas as pessoas.
A(x): x é professor.
B(x): x vem da indústria.
C(x): x vem do governo.
D(x): x é analista de sistemas.
E(x): x é a favor de provas de certificação.
r: Rogério.

9 - Prove o seguinte argumento: Existe um professor que é mais inteligente


que todo mundo. Qualquer pessoa que é mais inteligente do que todo mundo
trabalha mais do que todo mundo. Portanto existe um professor que trabalha
mais do que todo mundo.
U = todas as pessoas.
A(x): x é professor.
R(x,y): x é mais inteligente que y.
I(x,y): x trabalha mais que y.

10 - Prove o seguinte argumento: Todo estudante de Ciência da Computação


trabalha mais do que algumas pessoas. Todo mundo que trabalha mais do que
qualquer pessoa, dorme menos do que essa pessoa. Maria é uma estudante de
Ciência da Computação. Portanto, Maria dorme menos do que alguém.
U = todo mundo.
C(x): x é estudante de Ciência da Computação.
T(x,y): x trabalha mais que y.
D(x,y): x dorme menos que y.
m: Maria.
6.15 - Respostas
1)
a) (∀x) S(x).
b) (∃x) C(x).
c) (∃x) ( S(x) ^ C(x) ).
d) (∀x) ( M(x) → C(x) ).
e) (∃x) ( T(x) ^ S(x) ^ C(x) ).
f) (∀x) ~S(x).
g) (∀x) ( M(x) ^ T(x) → S(x) ).
h) (∀x) (~S(x) → C(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.

7. B(r) v C(r) - Modus Ponens 4,5.


8. ~B(r) - Simplificação 3.
9. C(r) - Silogismo Disjuntivo 7,8.
10. D(r) - Simplificação 3.
11. C(r) ^ D(r) - Conjunção 9,10.
12. E(r) - Modus Ponens 6,11.
9)
(∃(x)∀(y) (A(x) ^ R(x,y))) ^ (∀(x)∀(y) (R(x,y) → I(x,y))) → (∃(x)∀(y) (A(x)
^ I(x,y))).
1. ∃(x)∀(y) A(x) ^ R(x,y).
2. ∀(x)∀(y) R(x,y) → I(x,y).
3. A(a) ^ R(a,b) - Part. Existen. 1 Part Universal.
4. R(a,b) → I(a,b) - Part. Universal 2 (2 vezes).
5. R(a,b) - Simplificação 3.

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

Nesta seção abordaremos a sintaxe da linguagem PROLOG com todas as


definições necessárias.

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.

Veja o seguinte exemplo: Zumbi é quem come gente.


Lógica dos Predicados:
A(x): x é gente.
B(x): x é zumbi.
C(x,y): X come Y.
Representação: ∀x∀y (C(x,y) ^ A(y) → B(x))
Prolog: zumbi(X):-come(X,Y), gente(Y).
Observe a tabela dos operadores em Prolog.
7.4 - Sintaxe dos Operadores Matemáticos em
PROLOG
Os Operadores Matemáticos (Aritméticos) da Linguagem Prolog são:

As operações matemáticas em Prolog podem ser realizadas da seguinte


forma:
?- X is 3 + 5.
X = 8.
soma(A,B,C):- A is B + C.
?- soma(X,4 ,7).
X = 11.
Exercício: Faça um programa em Prolog que calcule a área de uma sala
passando como parâmetro Largura e Comprimento.
area(Resposta, Largura,Comprimento):- Resposta is Largura * Comprimento.
?- area(Resposta,20,30).
Resposta = 600.
Fazer um programa em Prolog que calcule o MDC (Máximo Divisor
Comum) de dois números.
OBS: dados dois inteiros positivos, X e Y, o MDC pode ser encontrado
através das seguintes regras:
i) decompomos os números em fatores primos;
ii) o MDC é o produto dos fatores primos comuns.
Acompanhe o cálculo do MDC entre 36 e 90:
36 = 2 x 2 x 3 x 3.
90 = 2 x 3 x 3 x 5.
O MDC é o produto dos fatores primos comuns => MDC(36,90) = 2 x 3 x 3.
Portanto MDC(36,90) = 18.
Dicas: Em computação temos a seguinte regra para calcular o MDC.
(1) Se X e Y são iguais, então MDC é igual a X;
(2) Se X < Y, então MDC é igual ao MDC entre X e a diferença Y-X;
(3) Se X > Y, então voltamos ao mesmo caso 2, com X substituído por Y e
vice-versa.
mdc(X, X, X).
mdc(X, Y, Resposta) :- X < Y, Y1 is Y-X, mdc(X, Y1, Resposta).
mdc(X, Y, Resposta) :- X > Y, mdc(Y, X, Resposta).
Veja abaixo como o Prolog processa a informação:
Exemplo: mdc(36,90,Resposta).
mdc(36,54, Resposta).
mdc(36,18, Resposta).
mdc(18,36, Resposta).
mdc(18,18, Resposta).
Resposta = 18.
7.5 - Listas em PROLOG
Uma lista em PROLOG é uma sequência de termos separados por vírgula e
delimitados por colchetes.
Exemplos de Listas:
[a,b,c].
[] (lista vazia).
[1,2,3].
[a,1,'casa cheia'].
Os principais predicados e seus argumentos para manipulação de listas são os
seguintes:
1) member(X, Lista): é verdade se X é um dos elementos da Lista.
Exemplos:
?- member(b,[a,b,c]).
true.
?- member(X,[a,b,c]).
X = a.
X = b.
X = c.
2) append( Lista1, Lista2, Lista3): é verdade se a Lista3 é a junção dos
elementos da Lista1 com a Lista2. Além disso, a função append pode ser
utilizada para gerar uma terceira Lista que é justamente a junção da Lista1
com a Lista2.
Exemplos:
?- append([1,2], [0,3], [0,1,2,3]).
false.
?- append([1,2], [0,3], [1,2,0,3]).
true.
?- append([1,2], [0,3], L).
L = [1,2,0,3].
?- append([a,b,c], L, [a,b,c,d,e]).
L = [d,e].
3) delete(Lista1, Elemento, Lista2): é verdade se a Lista2 é a Lista1 sem o
Elemento. Além disso, a função delete pode ser utilizada para gerar uma lista
sem o elemento.
Exemplos:
?- delete([a,b,c], b, [a,c]).
true.
?- delete([a,b,c],b,L).
L = [a,c].
?- delete([a,b,b,c],b,L).
L = [a, c] .
4) length(Lista, Inteiro): é verdade se o número de elementos da Lista é
igual ao Inteiro.
Exemplos:
?- length([a,b,c],2).
false.
?- length([a,b,c], X).
X = 3.
5) nth1(Inteiro, Lista, Elemento): é verdade se Elemento está na posição
Inteiro da Lista (considerando a primeira posição como sendo 1). Além disso,
retorna o elemento da posição solicitada.
Exemplos:
?- nth1(2,[a,b,c],X).
X = b.
?- nth1(X,[a,b,b,c],b).
X = 2.
6) sort(Lista1, Lista2): é verdade se Lista2 tem os elementos da Lista1
ordenados. Além disso, uma nova lista pode ser gerada ordenada.
Exemplos:
?- sort([a,b,c],[a,b,c]).
true.
?- sort([c,z,a,b],X).
X = [a,b,c,z].
7) findall(X, predicado(X), Lista2): Cria uma lista com todos os valores de
X que satisfazem o predicado.
Exemplo:
Carregue os seguintes fatos no arquivo lista.pl
animal(homem).
animal(pato).
animal(urso).
animal(peixe).
come(homem, pato).
come(urso, peixe).
carnivoro(X):-come(X,Y), animal(Y).
No Prolog digite o comando:
findall(X,carnivoro(X),L).
L = [homem, urso].
8) Unificação de Listas (=): O operador de unificação (=) permite obter
vários tipos de informação de uma lista.
Exemplos:
[a,b,c] = L. (L unifica com toda a lista).
[a,b,c] = [X1,X2,X3]. (cada variável unifica com cada elemento da lista).
[a,b,c] = [C|R]. (C unifica com a cabeça da lista, o “a”, e R unifica com o
restante da lista, a lista “[b,c]”. O caractere “|” distingue a cabeça da lista do
restante).
7.6 - Resumo

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.
Os conectores lógicos da Linguagem PROLOG são:
Os operadores aritméticos são:
As principais funções de listas são:
7.7 - Exercícios

1 - Escreva um programa em PROLOG, utilizando a árvore genealógica


abaixo, para representar as relações de: pais, filhos e avós.
Rogério é casado com Isabel e tiveram dois filhos: Thor e Ana. Ana casou
com Carlos e teve apenas um filho Maria.

2 - Faça um programa em PROLOG que valide a seguinte cadeia alimentar:


Leão come homem e peixe. O homem come peixe e algas. Já o peixe come
apenas algas. Planta carnívora come insetos.
Os predicados são:
come(x,y).
animal(x).
planta(y).

3 - Com base nos predicados criados no exercício 2 defina os seguintes


predicados:
a) Carnivoro é quem come animal.
b) Herbívoro é quem come planta e não come animal.
c) Predador é carnívoro e também é animal.
d) Presa é quem é comido por predador e também é animal.
e) Caçado é quem é presa.

4 - Escreva um predicado validaCompra que verifica se uma compra de um


cliente é válida. Os argumentos do predicado validacompra devem ser o
nome do cliente, o item e a quantidade solicitada. O predicado validacompra
deve ter sucesso apenas se o cliente for um cliente existente na base dados. Se
este cliente tem crédito superior ao valor da sua compra (preço do item vezes
a quantidade do item) e, por fim, se o item desejado para compra exista em
quantidade suficiente no estoque disponível.
Trabalhe com os seguintes predicados para resolver o problema.
cliente(nomeCliente,credito).
item(nomeItem,QtdEstoque,Preco).
validacompra(nomeCliente,Item,Qtdsol):- TERMINAR A LOGICA
7.8 - Respostas
1)
pais(rogerio,thor).
pais(isabel,thor).
pais(rogerio,ana).
pais(isabel,ana).
pais(carlos,maria).
pais(ana,maria).
filhos(thor,rogerio).
filhos(thor,isabel).
filhos(ana,rogerio).
filhos(ana,isabel).
filhos(maria,carlos).
filhos(maria,ana).
avo(rogerio,maria).
avo(isabel,maria).

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.

Potrebbero piacerti anche