Slide 1

Slide 1 text

LNCC UFRJ O cálculo proposicional Prof. Paulo R. G. Bordoni

Slide 2

Slide 2 text

A Pedra de Roseta Pinturas em cavernas Caracteres cuneiformes Falar e escrever, com regras e significados, é o que distingue o “bicho homem” dos demais animais.

Slide 3

Slide 3 text

Então o tempo correu, e dando um salto gigantesco no tempo:

Slide 4

Slide 4 text

Trata-se de uma expressão LÓGICA!

Slide 5

Slide 5 text

No processador há uma Unidade de Aritmética e Lógica

Slide 6

Slide 6 text

Circuitos LÓGICOS!

Slide 7

Slide 7 text

Em 1857, Boole trouxe uma ideia nova: a manipulação algébrica para proposições

Slide 8

Slide 8 text

Uma Álgebra de Boole é uma estrutura algébrica constituída por um conjunto A, que possui pelo menos dois elementos 0 e 1, no qual estão definidas duas operações binárias + e × e uma operação unária ‘ satisfazendo os 5 pares de propriedades: + = + × = × Comutatividade + + = + ( + ) Associatividade ( × ) × = × ( × )

Slide 9

Slide 9 text

+ 0 = × 1 = Exist. de ele/. neutros + ’ = 1 × ’ = 0 Propr. do complemento Uma Álgebra de Boole é uma estrutura algébrica ... x + y × z = (x + y) × (x + z) Distributividade x × y + z = x × y + (x × z)

Slide 10

Slide 10 text

Várias representações das operações lógicas básicas: • Álgebra de Boole • Circuitos lógicos • Diagramas de Venn • Cálculo proposicional

Slide 11

Slide 11 text

Confira que o conjunto das partes, (), do conjunto = { 0, 1 } é uma álgebra de Boole quando + é a reunião, × a interseção e ' é o complemento. Só para começar: () = {, {0}, {1}, {0,1} }

Slide 12

Slide 12 text

Os diagramas de Venn para teoria dos conjuntos ...

Slide 13

Slide 13 text

U Reunião U Interseção U Complementação Nunca ninguém ficou tão conhecido por tão pouco!

Slide 14

Slide 14 text

Em sua tese de mestrado no MIT fez o casamento entre álgebras de Boole e circuitos elétricos.

Slide 15

Slide 15 text

Um recorte da folha de rosto da sua tese de mestrado no MIT

Slide 16

Slide 16 text

Sobre a tese de mestrado no MIT

Slide 17

Slide 17 text

x x* 0 1 1 0 + 0 1 0 0 1 1 1 1 ∙ 0 1 0 0 0 1 0 1 A menor Álgebra de Boole possível é construída com o conjunto X = { 0, 1 } e as operações +, ∙ e * definidas pelas tabelas:

Slide 18

Slide 18 text

Desl. Ligar/desligar – acender/apagar

Slide 19

Slide 19 text

Um circuito inversor Desl. Lig.

Slide 20

Slide 20 text

Desl. Lig. Desl. Lig. Desl. Desl. Circuito em paralelo

Slide 21

Slide 21 text

Lig. Lig. Circuito em série

Slide 22

Slide 22 text

A∙B AND A’ NOT A+B OR As portas lógicas associadas:

Slide 23

Slide 23 text

Uma das partes da Lógica Matemática é o Cálculo Proposicional. Nele lidamos com proposições – mais precisamente realizaremos operações entre proposições.

Slide 24

Slide 24 text

No Cálculo Proposicional, a perspectiva operacional é inter-sentencial. A outra parte da Lógica Matemática é o Cálculo de Predicados, onde a perspectiva é intra-sentencial. Ela envolve as noções de constante, variável, quantificação, função e substituição.

Slide 25

Slide 25 text

Σ = {átomos} ∪ { ˄ ,˅ ,  ,  } ∪ {( , ) } Os símbolos usados no Cálculo Proposicional são os identificadores das proposições atômicas(átomos) juntamente com operadores , ˄, ˅ ,  ,  e delimitadores ( , ).

Slide 26

Slide 26 text

Os átomos são as proposições mais simples. Como os dígitos na álgebra. Os parênteses são usados na pontuação. Os símbolos ˄, ˅, ,  são conectivos binários e  é um conectivo unário. Como os operadores na álgebra.

Slide 27

Slide 27 text

 negação ˅ disjunção ˄ conjunção  condicional bicondicional  O nome de cada um dos conectivos é:

Slide 28

Slide 28 text

letra_maiúsc átomo dígito Desta forma, todo nome de átomo inicia com uma letra maiúscula e pode ser seguido por qualquer número natural. Portanto são nomes válidos para átomos: A, B, P, Q, A1, A35, P482, ... Para escrever identificadores para um conjunto enumerável de átomos, temos a regra:

Slide 29

Slide 29 text

prop ˄ ˅ → ↔ prop ( ) ¬ prop ( ) átomo prop E esta é a regra para construir proposições. Ela é recursiva!

Slide 30

Slide 30 text

O conjunto de todas as proposições é um subconjunto infinito de σ∗ = σ \. O conjunto , de todas as proposições, é o conjunto gerado através das regras sintáticas estabelecidas nas duas transparências anteriores Nada mais é proposição!

Slide 31

Slide 31 text

( ) ã ( ˅ ) ( ˄ ) ( ) ã , , ( ) Se P e Q são proposições então as proposições a seguir são lidas como:

Slide 32

Slide 32 text

(( ˄ )) ( ˄ ( ˅ )) ( ˅ )  (( ( ))  ( ˅ )) ((( ) ˄ ( ))  ( ( ˅ ))) Professor, mostre mais alguns exemplos de proposição. Usando a definição podemos gerar as proposições:

Slide 33

Slide 33 text

(( ˄ )) ( ˄ ( ˅ )) (( ˅ )  ) (( ( ))  ( ˅ )) ((( ) ˄ ( ))  ( ( ˅ ))) Professor, são muitos parênteses! O conectivo associado ao par de parênteses mais externo é dito conectivo principal.

Slide 34

Slide 34 text

Por simplicidade vamos omitir os parênteses mais externos das proposições Tem toda razão, Loirinha! Ah, portanto posso escrever ( ˄ ) no lugar de (( ˄ )).

Slide 35

Slide 35 text

( ( ˅ )  ) ˅  ( ( ( ) )  ( ˅ ) )  ( )  ˅ 1º lugar:  2º lugar: ˄ 3º lugar: ˅ 4º lugar:  5º lugar:  Para simplificar mais ainda, seguiremos a regra de precedência: Legal, então vale:

Slide 36

Slide 36 text

((( )˄( ))  (( ˅ ))) ()˄()   ˅ ((((¬)˄( ))  (¬)) ((( ˄ ( ))  )) ¬˄( )  ¬  ˄(  )  ¬ X .... - X X ˄ Y .... X · Y X ˅ Y .... X + Y X  Y .... ?? X  Y .... X = Y

Slide 37

Slide 37 text

( + ) ∗ ∗ z + y x (˅)˄ ˄ R ˅ Q P + ∗ + x ∗ z y ˅˄ ˅ P ˄ R Q Surfista, sua sacada foi ótima! Lembrei-me das árvores de avaliação para expressões algébricas!

Slide 38

Slide 38 text

¬ ˄ ˄ Q ¬ P ¬(˄) ¬ ˄ Q P Ótima lembrança, Loirinha! Na proposição P ˄ Q o conectivo  está associado a P e não (P ˄ Q). Veja a diferença:

Slide 39

Slide 39 text

→ R → Q P ( → ) → ) → P → R Q → ( → ) A proposição  é dúbia as possíveis formas corretas são (  ) ou ( )  . Com os diagramas de árvore, fica claro:

Slide 40

Slide 40 text

↔ R ↔ Q P ( ↔ ) ↔ ↔ P ↔ R Q ↔ ( ↔ ) A proposição também é dúbia. As possíveis formas corretas são ( ) ou ( ) Os diagramas são semelhantes ao da →

Slide 41

Slide 41 text

¬ ˄ ( )  ¬  ˄ (  )  ↔ → Q ¬ Q P → Q P ˄ ¬ Q → → P ˄ P Genial Loirinha, como na álgebra!

Slide 42

Slide 42 text

Bem, até agora tudo isto não passa de um joguinho no qual brincamos com letras e símbolos. Nada mais!

Slide 43

Slide 43 text

Acabei de lembrar do filme O significado da vida de Monty Python. Tem razão Filósofo. Na álgebra os números possuem significado, assim como as operações!

Slide 44

Slide 44 text

Toda proposição é idêntica a si mesma. Identidade Uma proposição não pode ser, simultaneamente, verdadeira e falsa. Não contradição Toda proposição é verdadeira ou falsa, inexiste outra possibilidade. 3º excluído O primeiro passo é estabelecer três princípios básicos a respeito de proposições:

Slide 45

Slide 45 text

P V F R V F Q V F Essas ideias se aplicam às proposições atômicas: um átomo P é verdadeiro ou falso e não há uma 3ª possibilidade. Idem ibidem para outros átomos Q, R, etc.

Slide 46

Slide 46 text

P ¬ P V F F V Naturalmente, sempre que uma proposição P é verdadeira, V, sua negação ¬ P é falsa, F. E vice-versa. Isto fica claro ao construirmos a tabelinha:

Slide 47

Slide 47 text

P, Q V F V F V F V, V V, F F, V F, F Para 2 átomos teremos 4 possibilidades de combinar Vs com Fs. Vejam:

Slide 48

Slide 48 text

V, V, V V, V, F V, F, V V, F, F P, Q, R V F V F V V F F F V F V V F F, V, V F, V, F F, F, V F, F, F Para 2 átomos teremos 4 combinações, para 3 teremos 8. Assim por diante, sempre dobrando.

Slide 49

Slide 49 text

Numa batalha, o famoso enxadrista salvou a vida de do imperador. Em agradecimento o Imperador disse-lhe: Peça o que quiser – eu te concederei! Humildemente, o mestre disse: Quero 1 grão de trigo para a 1ªcasa do meu tabuleiro de xadrez, 2 grãos para a 2ª, 4 para a 3ª, e assim por diante. Professora, conte a lenda do imperador indiano, do mestre em xadrez e seu tabuleiro!

Slide 50

Slide 50 text

O imperador precisou mandar matar o mestre, porque não pode cumprir sua promessa... A quantidade de trigo em todos os armazéns de seu império, e de todos os outros do mundo, era insuficiente! E como termina essa estória, Mestra?

Slide 51

Slide 51 text

O Monte Everest tem 8.848 metros de altitude e o Brasil tem uma área total de 8.514.876 m2. Fiz um programa para calcular a quantidade de formas cilíndricas de base Brasil e altura Everest necessários para cumprir a promessa do imperador.

Slide 52

Slide 52 text

Meu programa:

Slide 53

Slide 53 text

Eis o resultado dele:

Slide 54

Slide 54 text

Essa lenda objetiva apontar que a quantidade de linhas das tabelas verdade cresce muito depressa. Observe que para proposições com 20 átomos ela terá 1 mega de linhas (i. é 1.048.576 linhas) Assim, proposições com 60 átomos exigiriam tabelas com 1 hexa linhas. Em outras palavras, tantas linhas quanto a quantidade de grãos de trigo necessária para encher um cilindro de base Brasil e quase 3 vezes a altura do Everest. Algo impensável!

Slide 55

Slide 55 text

É, mas para as proposições simples P ˄ Q, P ˅ Q, P → Q, P ↔ Q, envolvendo apenas dois átomos teremos só quatro combinações: V-V, V-F, F-V, F-F, e eu vou mostrar como a coisa funciona! Essa argumentação não deixa dúvidas que é necessária alguma outra técnica, diferente de tabelas-verdade, para determinar o valor-lógico de proposições.

Slide 56

Slide 56 text

P Q P ˄ Q P ˅ Q P → Q P ↔ Q V V V F F V F F Assim as tabelas envolvendo dois átomos, deverão ter 4 linhas. O passo seguinte é saber quais valores lógicos resultarão para as proposições simples construídas.

Slide 57

Slide 57 text

P Q P ˄ Q P ˅ Q P → Q P ↔ Q V V V V V V V F F V F F F V F V V F F F F F V V Indo direto ao ponto, os valores lógicos são os escritos. E não se fala mais nisso

Slide 58

Slide 58 text

P Q P ˅ Q → P V V V F F V F F P Q → P ˅ P ˅ Q → P V V V F V V F V Para as proposições gerais, montamos a tabela (dita tabela verdade) e preenchemos as colunas dos átomos. Depois seguimos a árvore.

Slide 59

Slide 59 text

P Q P ˄ Q ↔ P V V V F F V F F P Q ↔ P ˄ P ˄ Q ↔ P V F F F V F V V Outro exemplo:

Slide 60

Slide 60 text

↔ ⇔ ( → ) ˄ ( → ) E esta, junto com uma das acima, redefinir a bicondicional. → ⇔ ¬( ˄ ¬) → ⇔ ¬ ∨ Estas equivalências permitem redefinir a implicação apenas com ¬ e ∧ ou com ¬ e ∨.

Slide 61

Slide 61 text

Idem, idem para as portas lógicas! É por esse motivo que, nas linguagens de programação, bastam os operadores or, and e not

Slide 62

Slide 62 text

Tchau, até a próxima aula!