Escolar Documentos
Profissional Documentos
Cultura Documentos
P. Blauth Menezes
blauth@inf.ufrgs.br
2 Lgica e Tcnicas de
Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
! Lgica Matemtica
bsica para qq estudo em Computao e Informtica em particular, para estudo de Matemtica Discreta
! Lgica permite definir Teorema ! Por que teoremas e suas demonstraes so fundamentais para a Computao e Informtica?
teorema (freqentemente) pode ser visto como " problema a ser implementado computacionalmente demonstrao " soluo computacional " algoritmo o qual prova-se, sempre funciona!
! Objetivo
introduzir principais conceitos e terminologia necessrios para MD " no uma abordagem ampla nem detalhada " existe uma disciplina especfica de Lgica
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
2.1 Lgica
! Estudo centrado em
Lgica Booleana ou Lgica de Boole " George Boole: ingls, 1815-1864 " um dos precursores da Lgica estudo dos princpios e mtodos usados para " distinguir sentenas verdadeiras de falsas
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
10
2.1.1
Proposies
Def: Proposio
Construo (sentena, frase, pensamento) que pode-se atribuir juzo tipo de juzo na Lgica Matemtica " verdadeiro-falso " interesse na verdade das proposies
11
Exp: Proposio
Brasil um pas Buenos Aires a capital do Brasil 3+4>5 7-1=5 (valor verdade V) (valor verdade F) (valor verdade V) (valor verdade F)
Ou seja V(Brasil um pas) = V V(Buenos Aires a capital do Brasil) = F V(3 + 4 > 5) = V V(7 - 1 = 5) = F
12
Exp: No so proposio
V tomar banho. Que horas so? Parabns!
13
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
14
2.1.2
Conetivos
! Proposies introduzidas
proposies atmicas ou tomos no podem ser decompostas em proposies mais simples
15
! Proposies compostas podem ser usadas para construir novas proposies compostas
A = B se e somente se (A # B e B # A)
16
17
Negao
! Uma proposio p ou verdadeira ou falsa ! Negao de uma proposio
introduzindo a palavra no prefixando a proposio por no fato que (ou equivalente)
Exp: Negao
Brasil um pas Linux um software livre 3+4>5
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
! Negao de p
p l-se: no p ou $p
! Semntica da negao
se p verdadeira, ento p falsa se p falsa, ento p verdadeira
19
! Tabela Verdade
descreve os valores lgicos de uma proposio em termos das combinaes dos valores lgicos das proposies componentes e dos conetivos usados
Def: Negao
Semntica da Negao p
p p V F
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
F V
20
Conjuno
! Conjuno de duas proposies p e q
p%q l-se: p e q
21
Def: Conjuno
Semntica da Conjuno p % q
p V V F F
q V F V F
p%q V F F F
quatro linhas para expressar todas as combinaes de valores lgicos de p e q quantas linhas para n proposies?
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
22
Exp: Conjuno
Verdadeira Windows sist. operacional e Pascal ling. de programao Falsa Windows sistema operacional e Pascal planilha eletrnica Windows editor de textos e Pascal ling. de programao Windows editor de textos e Pascal planilha eletrnica
23
Exerccio: Conjuno
Suponha que p e q so respectivamente V e F. Valor lgico? p % q p % q p % q
24
Exerccio: Conjuno
Determine o V(p), sabendo que V(q) = V e V(p % q) = F
25
Disjuno
! Disjuno de duas proposies p e q
p&q l-se: p ou q
26
Def: Disjuno
Semntica da Disjuno p & q
p V V F F
q V F V F
p&q V V V F
27
Exp: Disjuno
Verdadeira Windows sist. operacional ou Pascal ling. de programao Windows sistema operacional ou Pascal planilha eletrnica Windows editor de textos ou Pascal ling. de programao Falsa Windows editor de textos ou Pascal planilha eletrnica
28
Exerccio: Disjuno
Suponha que p e q so respectivamente V e F. Valor lgico? p & q p & q p % (p & q)
29
Exerccio: Disjuno
Determine o V(p), sabendo que V(q) = F e V(p & q) = F
30
Condio
! Condio de duas proposies p e q
p'q l-se: se p ento q
! Reflete a noo
partir de uma premissa p verdadeira obrigatoriamente deve-se chegar a uma concluso q verdadeira para que p ' q seja verdadeira
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
31
! Portanto p ' q
falsa, quando p verdadeira e q falsa verdadeira, caso contrrio
32
Def: Condio
Semntica da Condio p ' q
p V V F F
q V F V F
p'q V F V V
33
Exp: Condio
Verdadeira se Windows sist. operacional ento Pascal ling. de progr. se Windows editor de textos ento Pascal ling. de programao se Windows editor de textos ento Pascal planilha eletrnica Falsa se Windows sist. operacional ento Pascal planilha eletrnica
34
Exerccio: Condio
Determine o V(p), sabendo que V(q) = F e V(p ' q) = F V(q) = F e V(q ' p) = V
35
Exerccio: Condio
Determine o V(p) e V(q), sabendo que V(p ' q) = V e V(p % q) = F V(p ' q) = V e V(p & q) = F
36
Bicondio
! Bicondio de duas proposies p e q
p(q l-se: p se e somente se q
37
! Portanto p ( q
verdadeira, quando p e q so ambas verdadeiras ou ambas falsas falsa, quando p e q possuem valor verdade distintos
38
Def: Bicondio
Semntica da Bicondio p ( q
p V V F F
q V F V F
p(q V F F V
39
Exp: Bicondio
Verdadeira Windows sist. oper. se e somente se Pascal ling. de progr. Windows ed. de textos se e somente se Pascal planilha eletr. Falsa Windows sist. Oper. se e somente se Pascal planilha eletr. Windows ed. de textos se e somente se Pascal ling. de progr.
40
Exerccio: Bicondio
Determine o V(p), sabendo que V(q) = V e V(p ( q) = F V(q) = F e V(q ( p) = V
41
Exerccio: Bicondio
Determine o V(p) e V(q), sabendo que V(p ( q) = V e V(p % q) = V V(p ( q) = V e V(p & q) = V V(p ( q) = F e V(p & q) = V
42
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
43
2.1.3
44
45
Exp: Frmulas
Suponha p, q e r so sentenas variveis valores verdade constantes V e F qualquer proposio p, q e r p, p % q, p & q, p ' q e p ( q p & (q) (p % q) ' F (p % q) ( (p & q) p & (q % r) ( (p & q) % (p & r)
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
46
48
! Tabelas Verdade
como construir uma tabela verdade de uma dada frmula? explicitar todas as combinaes possveis dos valores lgicos " das frmulas atmicas componentes frmula atmica no-constante " dois valores lgicos: V e F frmula atmica constante " valor verdade fixo (V ou F)
49
50
p V V F F
q V F V F
p V V F F
q q V F V F F V F V
p V V F F
q q p & q V F V F F V F V V V F V
51
p V V F F
q q p % q p % q ' F V F V F F V F V F V F F V F V V
52
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
55
2.1.4
p, q, r: boolean
56
57
58
program valor_logico (input, output); var p, q, r: boolean; begin read (p, q, r); if p or (q and r) then write(verdadeiro) else write(falso) end.
59
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
60
2.1.5
Tautologia e Contradio
61
p V F
p F V
p & p V V
p % p F F
62
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
63
2.1.6
Implicao e Equivalncia
64
p implica em q
se e somente se
65
p%q V F F F
(p % q) ' p V V V V
V V V F
F V F F
66
p equivalente a q
se e somente se p ( q uma tautologia
67
68
69
p ( q * (p ' q) % (q ' p)
(p ( q) ( (p ' q) % (q ' p) V V V V
V V V F F V F F
V F F V
V F V V
V V F V
V F F V
70
Exp: Contraposio
p ' q * q ' p
p q V V V F F V F F
p'q V F V V
p F F V V
q F V F V
q ' p V F V V
p ' q ( q ' p V V V V
71
p ' q * p % q ' F
q p'q V F V V
q F V F V
p % q F V F F
V V V F
F V F F
72
! Exerccios CIC
Idempotncia " p%p *p " p&p *p Comutativa " p%q * q%p " p&q * q&p Associativa " p % (q % r) * (p % q) % r " p & (q & r) * (p & q) & r Distributiva " p & (q % r) * (p & q) % (p & r)
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
73
! Exerccios CIC
Dupla negao " p * p DeMorgan " (p % q) * p & q " (p & q) * p % q Absoro " p % (p & q) * p " p & (p % q) * p
74
! Exerccios ECP
Bastam os conetivos e % " Prove que os conetivos estudados pode ser expresso usando somente e % Conetivos EXORe NAND " Prove que tais conetivos podem ser expressos usando os conetivos j estudados x y V V V F F V F F x EXOR y F V V F x NAND y F V V V
75
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
76
2.1.7
Quantificadores
! Quantificadores
dada uma proposio sobre um conjunto de valores freqentemente desejvel quantificar os valores a serem considerados
77
78
79
Suponha N
80
81
Conjunto universo N
tautologia conjunto verdade o conjunto universo N "2n mpar" contradio conjunto falsidade o conjunto universo N
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
82
Quantificador
! Com freqncia, para uma proposio p(x)
desejvel quantificar os valores de x que devem ser considerados
83
ou
85
86
87
! Generalizao de p(x)
p(x1, x2, , xn) p descreve alguma propriedade de x1 , A1, x 2 , A2, , xn , An cada elemento x1, x 2, , xn pode ser individualmente quantificado " a ordem dos quantificadores existencial e universal " pode alterar o valor verdade da proposio Exemplo, para o conjunto universo N, tem-se que " (/n)(0m)(n < m) verdadeira " (0m)(/n)(n < m) falsa
88
(0!n , N)(n < 1) verdadeira (0!n , N)(n! < 10) falsa (0!n , N)(n + 1 > n) falsa (0!n , N)(2n par) falsa
(0n , N)(n < 1) verdadeira (0n , N)(n! < 10) verdadeira (0n , N)(n + 1 > n) verdadeira (0n , N)(2n par) verdadeira
89
90
91
92
! Negao pode ser estendida para proposies que dependem de n elementos individualmente quantificados Exp: Negao de Proposies Quantificadas
Proposies quantificadas (/n)(0m)(n < m) verdadeira (0m)(/n)(n < m) falsa Negao (0n)(/m)(n 1 m) falsa (/m)(0n)(n 1 m) verdadeira
Matemtica Discreta para Computao e Informtica - P. Blauth Menezes
93
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
94
95
! Corolrio
teorema que conseqncia quase direta de outro j demonstrado
! Lema
teorema auxiliar resultado importante para a prova de outro
96
! Na demonstrao de que p ) q
hiptese p suposta verdadeira " no deve ser demonstrada
97
! Hiptese de Church
Computao e Informtica construda sobre tal premissa
98
99
100
101
! Para um teorema p ' q existem diversas tcnicas para provar (demonstrar) que, de fato, p ) q
Prova Direta Prova por Contraposio Prova por Reduo ao Absurdo ou Prova por Absurdo Prova por Induo
102
103
104
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
105
2.2.1
Prova Direta
106
Qualquer par n pode ser definido como n = 2r, para algum natural r Suponha que n e m so dois pares quaisquer Ento existem r, s , N tais que n = 2r Portanto n + m = 2r + 2s = 2(r + s) Como a soma de dois naturais r + s natural n + m = 2(r + s) Logo, n + m um nmero par e m = 2s
107
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
108
2.2.2
109
n 2 2!'!n! 2 n + 1
Muito simples!!! testar para os casos n = 0, n = 1 e n = 2 exerccio
110
Tcnicas de Demonstrao
2.1 Lgica
2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 Proposies Conetivos Frmulas, Ling. Lgica e Tabelas Verdade Lgica nas Linguagens de Programao Tautologia e Contradio Implicao e Equivalncia Quantificadores
2 Noes de Lgica e
111
2.2.3
(prova direta)
113
114
115
116
117