Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 1: Introdução
DAINF-UTFPR Prof. Ricardo Dutra da Silva
1
2 Aula 1: Introdução
Nem sempre é simples alcançar conclusões ou, quando são dadas, entender o porquê de
certas conclusões. Por isso, é útil que uma prova seja fornecida.
Exemplo 1.2
No Exemplo 1.1, podemos provar informalmente que o bloco amarelo está sobre o bloco
azul.
Nos é dito que o bloco amarelo está sobre o bloco verde ou sobre o bloco azul, mas
também que o bloco vermelho está sobre o bloco verde. Assumindo que pode haver apenas
um bloco sobre outro, podemos concluir que o bloco amarelo não pode estar sobre o bloco
verde. Por eliminação, o bloco amarelo deve estar sobre o bloco azul.
Em uma prova precisamos reconhecer certos passos como imediatamente óbvios. Esses
passos e as conclusões obtidas devem também ser independentes do conteúdo expresso. Na
Lógica, a forma sobrepõe o conteúdo. O que importa é a estrutura (forma) e não sobre o
que estamos falando (blocos, carros, pessoas, etc.).
Exemplo 1.3
Suponha os fatos a seguir.
Concluı́mos a partir do Exemplo 1.3 que todos os Civics são Japoneses. Analise agora o
Exemplo 1.4.
Exemplo 1.4
Dado que:
1.1. NOÇÕES INICIAIS 3
Concluı́mos:
Mesmo sem saber o que são Cartos, Lordos ou Misus, conseguimos chegar à conclusão de
que todos os Cartos são Misus. Os Exemplos 1.3 e 1.4 compartilham uma mesma estrutura,
uma mesma forma ou regra de raciocı́nio:
1. Todos os x são y.
2. Todos os y são z.
1. Todos os x são y.
2. Alguns y são z.
Agora, vamos substituir x por “Volkswagen”, y por “carros” e z por “Porshes”. Che-
gamos a uma conclusão incorreta.
4 Aula 1: Introdução
O Exemplo 1.5 apresenta uma regra que leva a conclusões incorretas. Não poderı́amos
assumir, portanto, tal regra em um sistema para provas. Uma regra deve sempre levar a
conclusões corretas.
Matemática Programas são usados para conferir ou mesmo produzir provas matemáticas.
Sistemas de Banco de Dados Restrições lógicas são definidas para testar a integridade
de bancos de dados.
Engenharia de Hardware A Lógica formal é usada, por exemplo, para validar projetos
de hardware e diagnosticar falhas.
Lógica para Computação Primeiro Semestre, 2015
Linguagens naturais, como o nosso Português, podem expressar ideias ambı́guas ou im-
precisas.
Exemplo 2.1
A frase:
“Contrata-se.”
é imprecisa, pois não especifica o que é oferecido. Qual a vaga? Qualquer um é contra-
tado? Podem surgir diversas interpretações.
A frase:
Queremos estudar a lógica usando métodos matemáticos. Para isso, precisamos de uma
linguagem formal, com regras de formação precisamente definidas e que não permitam cons-
truções ambı́guas ou imprecisas.
A primeira linguagem que consideraremos é a Linguagem Proposicional, que é baseada em
proposições ou frases declarativas. Podemos atribuir valores verdade para tais proposições,
ou seja, podemos argumentar sobre sua veracidade ou falsidade.
Uma frase declarativa p é uma sentença gramaticalmente correta que pode ser substituı́da
na seguinte frase: “É verdade que p?”.
Exemplo 2.2
As seguintes sentenças são declarativas:
• Todo número natural par maior que dois é a soma de dois números primos.
1
2 Aula 2: Linguagem Proposicional
Exemplo 2.3
As seguintes sentenças não são declarativas:
Consideramos frases declarativas como sendo atômicas e podemos atribuir sı́mbolos dis-
tintos para as frases, sı́mbolos como p, q e r.
Exemplo 2.4
Dadas as seguintes sentenças declarativas:
• r: Todo número natural par maior que dois é a soma de dois números primos.
A partir das frases atômicas, podemos formar frases mais complexas usando operações de
conjunção (“E”), disjunção (“OU”), implicação (“SE ... ENTÃO ...”) e negação (“NÃO”).
2.1 Sintaxe
Vamos iniciar a definição da linguagem proposicional pelo alfabeto, que contém os compo-
nentes básicos da linguagem.
Uma variável proposicional (um átomo) é utilizada para representar as proposições, como
vimos no Exemplo 2.4.
O conjunto LLP de fórmulas da lógica proposicional é formada pela concatenação de
sı́mbolos. Para definir todos os elementos pertencentes à LLP , ou seja, todas as fórmulas da
linguagem proposicional, usaremos uma definição recursiva (ou definição por indução).
Em uma definição por recursão (ou por indução) o elemento que está sendo definido
aparece como parte da definição. Existem duas partes básicas em uma definição recursiva: a
base, elementos simples e explicitamente definidos; e passos recursivos (indutivos), definem
novos elementos a partir de elementos definidos previamente.
Exemplo 2.5
A função fatorial f pode ser definida recursivamente como:
• Base: f (0) = 1.
a) p;
b) (p → q);
c) (p ∧ (¬q));
d) ((p ∧ q) → r);
a) p
fórmula regra
p (base)
b) (p → q)
fórmula regra
p (base)
q (base)
(p → q) (A → B)(passo)
p e q são fórmulas pelas base. Podemos usar o passo recursivo (A → B) para construir
uma implicação de fórmulas A e B já definidas. Mas para isso basta fazer A = p e
B = q e formamos (p → q).
2.1. SINTAXE 5
c) (p ∧ (¬q))
fórmula regra
p (base)
q (base)
(¬q) (¬A)(passo)
(p ∧ (¬q)) (A ∧ B)(passo)
d) ((p ∧ q) → r)
fórmula regra
p (base)
q (base)
r (base)
(p ∧ q) (A ∧ B)(passo)
((p ∧ q) → r) (A → B)(passo)
Exemplo 2.7
A sequência de sı́mbolos p ∧ ∨q não pode ser construı́da pelas regras da Definição 2.2.
Portanto, não é uma fórmula proposicional.
Podemos usar algumas regras para diminuir o uso de parênteses. A primeira é que
parênteses mais externos podem ser omitidos. O uso repetitivo dos conectivos ∧ e ∨ dis-
pensa o uso de parênteses. Podemos escrever p ∧ q ∧ r ao invés de (p ∧ q) ∧ r. Note que
os parênteses aninham-se à esquerda. Da mesma forma, podemos dispensar os parênteses
quando o conectivo → é usado repetitivamente. Neste caso, os parênteses são aninhados à
direita. Por exemplo, escrevemos p → q → r em vez de p → (q → r). Por fim, teremos
uma ordem de precedência entre os operadores dada pela sequência, ¬, ∧, ∨, →, listada da
maior para a menor precedência. Portanto, ¬ é o operador com maior precedência e → é o
operador com menor precedência.
Exemplo 2.8
As fórmula do exemplo anterior poderiam ser reescritas retirando os parênteses conforme
6 Aula 2: Linguagem Proposicional
as regras acima.
a) p continua p.
c) (p ∧ (¬q)) pode ser escrita como p ∧ (¬q), excluindo os parênteses mais externos.
Além disso, o conectivo ¬ tem maior precedência do que o conectivo ∧, podemos
então eliminar os parênteses obtendo p ∧ ¬q.
¬p ∧ q = (¬p) ∧ q
= ((¬p) ∧ q)
p ∨ q ∧ r = p ∨ (q ∧ r)
= (p ∨ (q ∧ r))
p ∨ ¬q → r = p ∨ (¬q) → r
= (p ∨ (¬q)) → r
= ((p ∨ (¬q)) → r)
|p ∨ ¬q → r ∧ q| = 1 + |p ∨ ¬q| + |r ∧ q|
= 1 + 1 + |p| + |¬q| + 1 + |r| + |q|
= 1 + 1 + 1 + 1 + |q| + 1 + 1 + 1
=1+1+1+1+1+1+1+1
=8
Lógica para Computação Primeiro Semestre, 2015
3.1 Semântica
A semântica da lógica proposicional consiste em associar um significado ou interpretação para
os elementos sintáticos. Isso é realizado atribuindo valores verdade às fórmulas da linguagem.
Os valores verdade são: verdadeiro e falso. Comumente representamos verdadeiro e falso por
1 e 0, respectivamente.
Exemplo 3.1
Dadas as proposições:
• p: Está nublado;
• q: Está chovendo.
podemos interpretar cada uma das proposições como verdadeira ou falsa. Podemos tam-
bém interpretar fórmulas compostas, como p ∧ q, que serão verdadeiras ou falsas depen-
dendo das interpretações dos átomos que as compõem. Suponha que temos I(p) = 1 e
I(q) = 0. A fórmula p ∧ q será interpretada como falsa, ou seja, I(p ∧ q) = 0. Isso ocorre
porque a conjunção somente é verdadeira se seus dois argumentos forem verdadeiros.
Definição 3.1. Uma interpretação (ou valoração) é uma função I que atribui valores ver-
dade para as fórmulas proposicionais LLP , ou seja, I : LLP → {0, 1}. A interpretação I de
uma fórmula A ∈ LLP é definida como1 :
1
2 Aula 3: Linguagem Proposicional
Exemplo 3.2
Dados os átomos p, q e r, suponha a seguinte valoração para eles: I(p) = 1, I(q) = 0 e
I(r) = 1. Então podemos valorar a fórmula (p ∨ q) ∧ (¬q ∨ r) iniciando pelas subfórmulas
mais internas e prosseguindo para as mais externas.
(p ∨ q) ∧ (¬q ∨ r)
(1 ∨ 0) ∧ (¬0 ∨ 1)
1 ∧ (1 ∨ 1)
1∧1
1
3.1. SEMÂNTICA 3
Dada outra valoração para os átomos, I(p) = 1, I(q) = 1 e I(r) = 0, temos a seguinte
valoração da fórmula.
(p ∨ q) ∧ (¬q ∨ r)
(1 ∨ 1) ∧ (¬1 ∨ 0)
1 ∧ (0 ∨ 0)
1∧0
0
Subf((p ∨ q) ∧ (¬q ∨ r)) = {(p ∨ q) ∧ (¬q ∨ r)} ∪ Subf((p ∨ q)) ∪ Subf((¬q ∨ r))
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ Subf(p) ∪ Subf(q) ∪ Subf((¬q ∨ r))
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ {p} ∪ Subf(q) ∪ Subf((¬q ∨ r))
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ {p} ∪ {q} ∪ Subf((¬q ∨ r))
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ {p} ∪ {q} ∪ {(¬q ∨ r)} ∪ Subf(¬q) ∪ Subf(r)
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ {p} ∪ {q} ∪ {(¬q ∨ r)} ∪ {¬q} ∪ Subf(q) ∪ Subf(r)
4 Aula 3: Linguagem Proposicional
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ {p} ∪ {q} ∪ {(¬q ∨ r)} ∪ {¬q} ∪ {q} ∪ Subf(r)
= {(p ∨ q) ∧ (¬q ∨ r)} ∪ {(p ∨ q)} ∪ {p} ∪ {q} ∪ {(¬q ∨ r)} ∪ {¬q} ∪ {q} ∪ {r}
= {(p ∨ q) ∧ (¬q ∨ r), (p ∨ q), p, q, (¬q ∨ r), ¬q, r}
Subf((p ∨ q) ∧ (¬q ∨ r)) = {p, q, r, ¬q, (p ∨ q), (¬q ∨ r), (p ∨ q) ∧ (¬q ∨ r)}
p q r ¬q (p ∨ q) (¬q ∨ r) (p ∨ q) ∧ (¬q ∨ r)
1 0 1
p q r ¬q (p ∨ q) (¬q ∨ r) (p ∨ q) ∧ (¬q ∨ r)
1 0 1 1
p q r ¬q (p ∨ q) (¬q ∨ r) (p ∨ q) ∧ (¬q ∨ r)
1 0 1 1 1
p q r ¬q (p ∨ q) (¬q ∨ r) (p ∨ q) ∧ (¬q ∨ r)
1 0 1 1 1 1
p q r ¬q (p ∨ q) (¬q ∨ r) (p ∨ q) ∧ (¬q ∨ r)
1 0 1 1 1 1 1
3.2. SATISFAZIBILIDADE 5
3.2 Satisfazibilidade
A fórmula p∨¬p possui apenas um átomo e, portanto, podemos ter duas valorações diferentes,
I(p) = 0 e I(p) = 1. Em ambos os casos, I(p ∨ ¬p) = 1. Por outro lado, a fórmula p ∧ ¬p
será interpretada como falsa para qualquer valoração do átomo p. Existem também fórmulas
que pode ser interpretadas como verdadeiras ou como falsas, dependendo da interpretação
de seus átomos. A fórmulas p → q é um exemplo do último caso. Podemos classificar as
fórmulas conforme esses comportamentos.
• válida (tautologia) se para qualquer valoração dos seus átomos sua valoração é verda-
deira, I(A) = 1;
• satisfazível se existe uma valoração dos seus átomos que torne sua valoração verdadeira,
I(A) = 1;
• insatisfazível se para qualquer valoração dos seus átomos sua valoração é falsa, I(A) =
0.
• falsificável se existe uma valoração dos seus átomos que torne sua valoração falsa,
I(A) = 0.
3.3 Tabela-Verdade
A tabela-verdade é um método que gera todas as possíveis valorações de uma fórmula.
1. Computamos as subfórmulas de A.
3. Criamos uma coluna para cada subfórmula conforme a ordenação anterior: átomos
mais à esquerda e A na posição mais à direita.
4. Criamos uma linha para cada uma das possíveis valorações dos átomos.
6 Aula 3: Linguagem Proposicional
5. Propagamos a valoração dos átomos para as subfórmulas, das menores (mais à es-
querda) para as maiores (mais à direita).
Exemplo 3.4
Dada a fórmula, A = (p ∨ q) ∧ (¬p ∨ ¬q), sua tabela-verdade é construída da seguinte
maneira:
5. Propagação da valoração.
Exemplo 3.5
Seja A = (p ∨ q) ∧ (¬p ∨ ¬q) cuja tabela-verdade é dada abaixo.
• A é satisfazível pois as valorações dos átomos dadas pela segunda e terceira linhas
tornam I(A) = 1;
• A não é válida (tautologia) pois nem todas as valorações dos átomos tornam A
verdadeira;
• A é falsificável pois as valorações dos átomos dadas pela primeira e quarta linhas
tornam I(A) = 0;
• A não é insatisfazível pois nem todas as valorações dos átomos tornam A falsa.
Exemplo 3.6
Dada a fórmula, A = p ∨ ¬p, a tabela-verdade é
p ¬p p ∨ ¬p
0 1 1
1 0 1
Classificação:
• É satisfazível? Sim.
• É falsificável? Não.
3.3. TABELA-VERDADE 9
• É insatisfazível? Não.
Exemplo 3.7
Dada a fórmula, A = p ∧ ¬p, a tabela-verdade é
p ¬p p ∧ ¬p
0 1 0
1 0 0
Classificação:
• É satisfazível? Não.
• É falsificável? Sim.
• É insatisfazível? Sim.
Lógica para Computação Primeiro Semestre, 2015
Definição 4.1. Em lógica proposicional dizemos que uma fórmula B é consequência lógica
de uma fórmula A, se toda valoração I que satisfaz A também satisfaz B. A consequência
lógica é representada por A B. Podemos também dizer que A implica logicamente B.
Tabelas-verdade podem ser usadas para verificar a consequência lógica.
Definição 4.2. Para verificar se A B é verdadeira, podemos seguir os passos:
2. Verificamos para toda linha da tabela em que I(A) = 1, se I(B) = 1. Caso para alguma
linha I(A) = 1 e I(B) = 0, a consequência lógica não é verificada.
Exemplo 4.1
Verifique se p ∨ q → r p → r.
1
2 Aula 4: Consequência Lógica e Equivalência Lógica
Exemplo 4.2
Verifique se p ∧ q → r p → r.
linha p q p→q
1 0 0 1
2 0 1 1
3 1 0 0
4 1 1 1
A B e B A.
Note que a Definição 4.5 diz que, dada uma valoração qualquer, então I(A) = I(B).
Definição 4.6. Para verificar se Γ ≡ B é verdadeira, podemos seguir os passos:
subfórmulas de A e de B.
Exemplo 4.4
Verifique se p → q ≡ ¬q → ¬p.
linha p q ¬p ¬q p→q ¬q → ¬p
1 0 0 1 1 1 1
2 0 1 1 0 1 1
3 1 0 0 1 0 0
4 1 1 0 0 1 1
A tabela mostra que sempre que I(A) = 1, I(B) = 1. Também, sempre que I(A) = 0,
I(B) = 0. Temos uma equivalência lógica.
Exemplo 4.5
Algumas equivalências lógicas são bastante importantes. Entre as principais, podemos
listar:
• A → B ≡ ¬A ∨ B (definição de → em termos de ∨ e ¬)
• A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C) (distributividade de ∧ sobre ∨)
A ∨ B ≡ ¬¬(A ∨ B)
A → B ≡ ¬A ∨ B.
¬A ∨ B ≡ ¬¬(¬A ∨ B).