Você está na página 1de 8

Lógica para Computação

Aula 2: Linguagem Proposicional


DAINF-UTFPR Prof. Ricardo Dutra da Silva

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:

“Crianças que recebem leite materno frequentemente são mais sadias.”

Qual a interpretação correta dessa 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:

• A soma dos números 3 e 5 é igual a 8.

• Jane reagiu violentamente às acusações de Jack.

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

• Você pode me passar o sal, por favor?

• Atenção, preparar, já!

• Que a sorte lhe sorria.

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:

• p: A soma dos números 3 e 5 é igual a 8.

• q: Jane reagiu violentamente às acusações de Jack.

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

Definição 2.1. O alfabeto da lógica proposicional é composto por:

• Um conjunto de variáveis proposicionais (átomos), tais como P = {p, q, r, s}.

• O conectivo unário: ¬ (negação).

• Os conectivos binários: ∧ (conjunção), ∨ (disjunção) e → (implicação).

• Sı́mbolos de pontuação: “(” e “)”.


2.1. SINTAXE 3

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.

• Passo recursivo: f (n) = n × f (n − 1), para n > 0.

A base define explicitamente um elemento simples, trivial. O fatorial de 0 é 1. O passo


recursivo define o fatorial de qualquer número n maior que 0. O fatorial do n-ésimo
número é n multiplicado pelo fatorial do (n − 1)-ésimo número. O fatorial de 5, por
exemplo, pode ser calculado usando a definição recursiva.

f (5) = 5 × f (4) passo recursivo


f (5) = 5 × 4 × f (3) passo recursivo
f (5) = 5 × 4 × 3 × f (2) passo recursivo
f (5) = 5 × 4 × 3 × 2 × f (1) passo recursivo
f (5) = 5 × 4 × 3 × 2 × 1 × f (0) passo recursivo
f (5) = 5 × 4 × 3 × 2 × 1 × 1 base
f (5) = 120

Definição 2.2. O conjunto de fórmulas da lógica proposicional LLP satisfaz as seguintes


regras de formação.

• Base: Todas as variáveis proposicionais pertencem a LLP , ou seja, P ∈ LLP .


4 Aula 2: Linguagem Proposicional

• Passo recursivo 1: Se A ∈ LLP , então (¬A) ∈ LLP

• Passo recursivo 2: Se A, B ∈ LLP , então (A ∧ B) ∈ LLP , (A ∨ B) ∈ LLP e (A → B) ∈


LLP

Usaremos letras minúsculas (p, q, r) para representar as variáveis proposicionais e letras


maiúsculas para representar fórmulas (A, B, C).
Exemplo 2.6
Dadas as seguintes fórmulas:

a) p;

b) (p → q);

c) (p ∧ (¬q));

d) ((p ∧ q) → r);

podemos obtê-las conforme as regras de criação dadas pela Definição 2.2.

a) p

fórmula regra
p (base)

p é trivialmente uma fórmula pela 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.

b) (p → q) pode ser escrita como p → q, excluindo os parênteses mais externos.

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.

d) ((p → q) ∧ r) pode ser escrita como (p → q) ∧ r ao ocultar os parênteses externos.


Não há mais nenhum par de parênteses que possa ser removido. Os parênteses que
englobam (p → q) definem uma precedência diferente daquela dada pela fórmula
p → q ∧ r. Nesta última, ∧ deve preceder → na ordem em que as operações são
avaliadas. Por esse motivo, (p → q) ∧ r contém o menor número possı́vel de parênteses
neste caso.

Obviamente, podemos seguir o caminho contrário e adicionar parênteses a uma fórmula


para explicitamente definir as precedências de operações.
Exemplo 2.9
As fórmulas ¬p ∧ q, p ∨ q ∧ r e p ∨ ¬q → r podem, portanto, ser reescritas como:

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

Definição 2.3. O conjunto de subfórmulas de uma fórmula A, Subf(A), é definido como:


2.1. SINTAXE 7

• Base: A = p. Subf(A) = {p}.

• Passo 1: Caso A = ¬B. Subf(¬B) = {¬B} ∪ Subf(B).

• Passo 2: Caso A = B ∧ C. Subf(B ∧ C) = {B ∧ C} ∪ Subf(B) ∪ Subf(C).

• Passo 3: Caso A = B ∨ C. Subf(B ∨ C) = {B ∨ C} ∪ Subf(B) ∪ Subf(C).

• Passo 4: Caso A = B → C. Subf(B → C) = {B → C} ∪ Subf(B) ∪ Subf(C).


Exemplo 2.10
As subfórmulas de p ∨ ¬q → r ∧ q são:

Subf(p ∨ ¬q → r ∧ q) = {p ∨ ¬q → r ∧ q} ∪ Subf(p ∨ ¬q) ∪ Subf(r ∧ q)


= {p ∨ ¬q → r ∧ q} ∪ {p ∨ ¬q} ∪ Subf(p) ∪ Subf(¬q) ∪ Subf(r ∧ q)
= {p ∨ ¬q → r ∧ q} ∪ {p ∨ ¬q} ∪ {p} ∪ Subf(¬q) ∪ Subf(r ∧ q)
= {p ∨ ¬q → r ∧ q} ∪ {p ∨ ¬q} ∪ {p} ∪ {¬q} ∪ Subf(q) ∪ Subf(r ∧ q)
= {p ∨ ¬q → r ∧ q} ∪ {p ∨ ¬q} ∪ {p} ∪ {¬q} ∪ {q} ∪ Subf(r ∧ q)
= {p ∨ ¬q → r ∧ q} ∪ {p ∨ ¬q} ∪ {p} ∪ {¬q} ∪ {q} ∪ {r ∧ q} ∪ Subf(r) ∪ Subf(q)
= {p ∨ ¬q → r ∧ q} ∪ {p ∨ ¬q} ∪ {p} ∪ {¬q} ∪ {q} ∪ {r ∧ q} ∪ {r} ∪ Subf(q)
= {p ∨ ¬q → r ∧ q, p ∨ ¬q, p, ¬q, q, r ∧ q, r}.

Definição 2.4. O tamanho de uma fórmula1 A, denotado |A|, é definido como:

• Base: |p| = 1 para toda variável proposicional (átomos).

• Passo 1: |¬A| = 1 + |A|.

• Passo 2: |A ∧ B| = 1 + |A| + |B|.

• Passo 3: |A ∨ B| = 1 + |A| + |B|.

• Passo 4: |A → B| = 1 + |A| + |B|.


Exemplo 2.11
Dada a fórmula p ∨ ¬q → r ∧ q, seu tamanho é:
1
Também pode ser chamado de complexidade de uma fórmula.
8 Aula 2: Linguagem Proposicional

|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