Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagens Formais e
Autômatos
P. Blauth Menezes
1.1 Introdução
1.1.1 Sintaxe e Semântica
1.1.2 Abordagem
1.2 Conjuntos, Relações e Funções
1.3 Noções de Lógica
1.4 Técnicas de Demonstração
1.5 Indução
Mais recentemente
animações
hipertextos e hipermídias
linguagens não lineares
planares
espaciais
n-dimensionais
1.1 Introdução
1.1.1 Sintaxe e Semântica
1.1.2 Abordagem
1.2 Conjuntos, Relações e Funções
1.3 Noções de Lógica
1.4 Técnicas de Demonstração
1.5 Indução
Sintaxe
trata das propriedades livres da linguagem
exemplo: verificação gramatical de programas
Semântica
objetiva dar uma interpretação para a linguagem
exemplo: significado ou valor para um determinado programa
Sintaticamente "errado"
não existe tal noção de programa
simplesmente não é um programa da linguagem
Análise léxica
tipo especial de análise sintática
o o
centrada nas componentes básicas da linguagem
1.1 Introdução
1.1.1 Sintaxe e Semântica
1.1.2 Abordagem
1.2 Conjuntos, Relações e Funções
1.3 Noções de Lógica
1.4 Técnicas de Demonstração
1.5 Indução
Máquina abstrata
suficientemente simples para não permitir dúvidas sobre a execução
de seu código
Def: Conjunto
Coleção de zero ou mais objetos distintos, chamados elementos
não possuem qualquer ordem associada
a é elemento de um conjunto A
a A a pertence ao conjunto A
a A
A B A está contido em B
B A B contém A
A B A contido propriamente em B
A subconjunto próprio de B
B A B contém propriamente A
A B (respectivamente, A B)
A=B A igual à B
formalmente
{ } ou
Vogais = { a, e, i, o, u }
forma geral
{ x x A e p(x) } ou { x A p(x) }
a é elemento do conjunto se p(a) é verdadeira
{x p(x) }
Pares = { 0, 2, 4, 6, }
Conjunto infinito
caso contrário
{ 1, 2, 3 } { 3, 3, 3, 2, 2, 1 } e { 3, 3, 3, 2, 2, 1 } { 1, 2, 3 }
União
A B={x x A ou x B}
Intersecção
A B={x x Aex B}
Complemento
~A = A' = { x x Uex A}
Diferença
A-B={x x Aex B}
alternativamente
A-B=A ~B
Conjunto das partes
2A = P(A) = { S S A}
Produto cartesiano
A B = { (a, b) a Aeb B}
generalização para n-upla ordenada (x1, x2, x3, ,xn), ou seja, para
n N componentes
A B = { 0, 1, 2, 3 }
A B={2}
A - B = { 0, 1 }
~A = { x N x 2}
2B = P(B) = { , { 2 }, { 3 }, { 2, 3 } }
Comutativa
A B=B A
A B=B A
Associativa
A (B C) = (A B) C
A (B C) = (A B) C
A B C
Distributiva
A (B C) = (A B) (A C)
A (B C) = (A B) (A C)
Duplo complemento
~(~A) = A
Universo e vazio
DeMorgan
~(A B) = ~A ~B
~(A B) = ~A ~B
consequentemente, união (intersecção) pode ser calculada em
termos da intersecção (união)
R A B
Notações usuais
relação R A B
R: A B
elemento (a, b) R
aRb
(N, )
(2A, )
(Z, )
(2A, )
(Q, =)
FECHO-P(R)
R = FECHO-P(R)?
Fecho de R
Fecho de R
R* = R+ { (a, a) a A}
Assim:
é um grafo em V = { 1, 2, 3, 4, 5 }
1 1
2 5 2 5
3 3
4 4
reflexiva
antissimétrica
transitiva
de ordem parcial
conexa
Ordem parcial
Cadeia
(N, )
reflexiva
simétrica
transitiva
f: A B
ou simplesmente f: A B
quando é claro que se trata de uma função parcial
f(a) = b
ad(a, b) = a + b
função parcial
conjunto imagem é N (coincide com o codomínio)
div(x, y) = x / y
função parcial
qual o conjunto imagem?
Composição de f e g é a função
g o f: A C
g• f
A B C
1
a
2 x
b
3 y
c f g
4 z
d
5
função parcial f: A B
a qual é total
para todo a A, existe b B tal que f(a) = b
div(x, y) = x/y
g o f: A C
(g o f)(a) = g(f(a))
quadrado o ad: N N N
para (3, 1) N N
(quadrado o ad)(3, 1) =
quadrado(ad(3, 1)) =
quadrado(4) = 16
Injetora ou monomorfismo
Sobrejetora ou epimorfismos
Bijetora ou isomorfismo
Sobrejetora
todo elemento do codomínio é imagem de pelo menos um
elemento do domínio
f: A B
Bijetora
todo elemento do codomínio é imagem de exatamente um
elemento do domínio
Conjuntos isomorfos
existe um isomorfismo (função bijetora) entre estes conjuntos
idA: A A
incA,B: A B
módulo(a) = a
é sobrejetora, ou seja
módulo: Z N
f: Z N
Finita
A=n
Infinita
conjunto infinito
se for possível retirar alguns elementos de A
e, mesmo assim, estabelecer uma bijeção com A
se a 0, então f(a) = 2a
se a 0, então f(a) = 2a - 1
é bijetora
N é subconjunto próprio de Z
Então Z é infinito
denotado por 0
(lê-se "álef") é a primeira letra do alfabeto hebraico
Enumeráveis
os conjuntos Z e Q
Não contáveis
os conjuntos I e R
prova-se que o cardinal de I e R é 2 0
p(x)
proposição p
a qual descreve alguma propriedade de um elemento x U
p é uma tautologia se
p é dita contradição se
Proposição n! 10 sobre N
{ 0, 1, 2, 3 } é o conjunto verdade
{ n N n 3 } é o conjunto falsidade
Tabela-verdade
descreve os valores lógicos de uma proposição
em termos das combinações dos valores lógicos
das proposições componentes
dos conetivos usados
p ou p
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
p q
p q p p q p q p p
q q
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
p q
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
p q p p q p q p q p q
V V F V V V V
V F F F V F F
F V V F V V F
F F V F F V V
Relação de implicação
diretamente relacionada com o conceito de teorema
Relação de equivalência
permite definir a noção de “mesmo significado” entre duas fórmulas
(sintaticamente) diferentes
p q ou p q
se e somente se:
p q é uma tautologia
p q
se e somente se:
p q é uma tautologia
Simplificação: p q p
V V V V V V
V F V V F V
F V V V F V
F F F V F V
p q p q p q (p q) ( q p
q p )
V V F F V V V
V F F V F F V
F V V F V V V
F F V V V V V
p q q p p q ((p q) (p q) ((p q) F
q F) )
V V F V F V V
V F V F V F V
F V F V F V V
F F V V F V V
Lema
teorema auxiliar possui um resultado importante para a prova de
outro teorema
Exemplificando a importância
verificar se uma determinada implementação é correta
um algoritmo que, prova-se, sempre funciona
Sabe-se que:
p q (p q) (q p)
X = Y se e somente se X Y e Y X
X Y se e somente se todos os elementos de X também são
elementos de Y
é fácil verificar (tabela-verdade) que o distribui-se sobre o
p (q r) (p q) (p r)
A (B C) (A B) (A C) caso 1
(A B) (A C) A (B C) caso 2
x A (B C) definição de intersecção
x A x (B C) definição de união
x A (x B x C) distributividade do sobre o
(x A x B) (x A x C) definição de intersecção
x (A B) x (A C) definição de união
x (A B) (A C)
Portanto, A (B C) (A B) (A C)
x (A B) (A C) definição de união
x (A B) x (A C) definição de intersecção
(x A x B) (x A x C) distributividade do sobre o
x A (x B x C) definição de união
x A x (B C) definição de intersecção
x A (B C)
Portanto, (A B) (A C) A (B C)
Logo, A (B C) = (A B) (A C)
prova-se q p
Para provar q p
a partir de q
obter p (prova direta)
n! (n + 1) n 2
n 2 n! n + 1
supor a hipótese p
supor a negação da tese q
reescrevendo na forma de p q
Então:
como e = 0 + e = e + 0 e 0 = 0 + e = e + 0
pela transitividade da igualdade
vale e = 0
o que é uma contradição, pois foi suposto que e 0
p(m) é verdadeira;
para qualquer k M, vale p(k) p(k + 1)
então, para qualquer n M, p(n) é verdadeira
Denominações
1+2+ + k = 0 +1 + 2 + +k
1 + 2 + + k + (k + 1) =
(1 + 2 + + k) + (k + 1) = pela hipótese de indução
(k2 + k)/2 + (k + 1) =
(k2 + k)/2 + (2k + 2)/2 =
(k2 + k + 2k + 2)/2 =
((k2 + 2k + 1) + (k + 1))/2 =
((k + 1)2 + (k + 1))/2
Primeira versão.
p(m) é verdadeira
Segunda versão
prova os t primeiros casos em separado
Uma prova por indução (no número de átomos, usando a primeira versão
do Segundo Princípio da Indução)
q r q r q r
P. Blauth Menezes