Lógica para computação - parte II

Continuando o artigo anterior, (se você não o viu, poderá vê-lo em: http://vivaolinux.com.br/artigo/Introducao-a-Logica-para-computacao/ ),
estaremos adentrando em outras propriedades da Lógica direcionada à computação.

[ Hits: 19.871 ]

Por: Ariel Galante Dalla Costa em 27/12/2011 | Blog: http://arielgdc.wordpress.com


Equivalência lógica e Negações Lógicas



Equivalência lógica

A equivalência já diz no nome, é o valor lógico igual às linhas das proposições compostas que têm na sua resolução o valor lógico verdadeiro, formando assim uma tautologia na última coluna de resolução.

Como por exemplo:

p^q->r <=> p->(q->r), resolvendo:

p, q, r p^q p^q->r q->r p->(q->r) p^q->r<=>p->(q->r)
V  V  V  V    V      V    V              V
V  V  F  V    F      F    F              V
V  F  V  F    V      V    V              V
V  F  F  F    V      V    V              V
F  V  V  F    V      V    V              V
F  V  F  F    V      V    V              V
F  F  V  F    V      V    V              V
F  F  F  F    V      V    V              V

Neste exemplo, é uma equivalência lógica, pois, o valor formado é uma tautologia.

Outro exemplo: p->q<=>p

p, q p->q p->q<=>p
V  V  V       V
V  F  F       F
F  V  V       F
F  F  V       F

Neste exemplo, não é uma equivalência lógica, pois, fora formada uma contingência, e só é uma equivalência lógica, se for formada uma tautologia.

Proposições associadas a uma condicional:

I- Recíproca: É a troca de proposições simples através de um operador lógico.

Exemplo:

- p: Ariel é programador;
- q: Ariel ganha pouco;
- p^q <=> Ariel é programador e ganha pouco;

Recíproca: Ariel ganha pouco e é programador.

II- Contrapositiva: É a troca de proposições simples através de um operador lógico, também inverte os valores lógicos presentes nas proposições simples aplicadas.

- p: Ariel é programador
- q: Ariel ganha pouco
- p^q <=> Ariel é programador e ganha pouco

Recíproca: Ariel não é programador e não ganha pouco.

Negações Lógicas

Negação Conjunta: é a negação de duas proposições simples, ou seja, "p^q' na negação conjunta é '~p^~q". Lê-se "não p e não q". Simbolicamente é representado por "p↓q" (caso não consiga visualizar, é uma seta para baixo). É parecida com a contrapositiva, porém não é sinônimo.

Exemplo:

      (p↓q)↓(q->p)

Resolução do exemplo fica:

p, q (p↓q) ↓ (q->p)
V  V   V   F
V  F   V   F
F  V   F   V
F  F   V   F

~(~p^~q)v~(q->p) é a equivalente.

Outro exemplo: p: Ariel usa Linux, q: Ariel usa wordpress

p↑q <=> Ariel não usa Linux e não usa wordpress.

Talvez surja a dúvida: Por que conjunta?

- Porque uma negação, quando conjunta E (^) influencia diretamente sobre a outra proposição, pois, a soma delas é o valor lógico obtido.

Negação disjunta: é a negação de duas proposições simples, ou seja, "~pv~q". Lê-se "não p ou não q" e simbolicamente é representado por "p↑q" (caso não consiga visualizar, é uma seta para cima).

Exemplo:

      p↑q↑(p↓q)

   Resolução do exemplo fica:

p, q p↑q p↓q p↑q↑(p↓q)
V  V  F   F     V
V  F  V   F     V
F  V  V   F     V
F  F  V   V     F

~~(p^~q)v~(~pv~q) é a equivalente.

Outro exemplo..: p: Ariel usa Linux, q: Ariel usa wordpress

p↑q <=> Ariel não usa Linux ou não usa wordpress.

Talvez surja a dúvida: Por que disjunta?

- Porque uma negação, quando disjunta OU (v) influencia em somente uma proposição, ou seja, não quer dizer que o resultado será obtido através das duas, mas pode ser através de uma proposição somente por uma delas ser verdadeira.
Página anterior     Próxima página

Páginas do artigo
   1. Definições base
   2. Equivalência lógica e Negações Lógicas
   3. Álgebra das proposições, regra de Morgam e método dedutivo
Outros artigos deste autor

Lógica para computação - parte III

Ética na Programação

Trabalhando com datas em PHP

Lógica para Computação - Parte V

Computação em nuvem, uma visão panorâmica

Leitura recomendada

Instalação do Linux em pendrive com VirtualBox

Listando os serviços Linux com o Systemctl

Instalando e arredondando o Slackware 13.1

Como atualizar o Ubuntu Linux 8.04 (Hardy Heron) para 8.10 (Intrepid Ibex)

Trabalhando com arquivos e diretórios

  
Comentários
[1] Comentário enviado por arieldll em 27/12/2011 - 22:14h

Quem possuir sugestoes ou encontrar algo de errado, fico feliz em compartilhar conosco.
[]'s Ariel

[2] Comentário enviado por marquinhos1875 em 27/12/2011 - 23:29h

PQP, meu carma no semestre, abre o VOL e mais carma...... (rs)
Mais ta muito bom, parabéns.

[3] Comentário enviado por arieldll em 28/12/2011 - 07:43h

Obrigado

[4] Comentário enviado por nicolo em 28/12/2011 - 12:16h

Cruzes, que horror !
Ainda bem que eu já passei desta fase macabra.

Se eu precisasse aprender isso para comer, já teria morrido de fome.


[5] Comentário enviado por neonx em 28/12/2011 - 17:08h

Olha só... é sempre bom ver alunos com grandes potenciais... Ariel está de parabéns... muito bem escrito e desenvolvido este seu artigo...

abraço...

Ânderson

[6] Comentário enviado por arieldll em 28/12/2011 - 18:00h

Obrigado e fico feliz por ter gostado.
Abraço
Ariel

[7] Comentário enviado por lcavalheiro em 29/12/2011 - 14:02h

Ariel, eu tenho uma sugestão com relação às regras de cálculo proposicional de primeira ordem. O método de sistema dedutivo que você apresentou é funcional, mas exigem muita decoreba e nem sempre são de aplicação simples e imediata. Nos estudos contemporâneos de Lógica Matemática esse método está sendo abandonado em prol das regras de inclusão e eliminação de operadores(literalmente, operações com operadores lógicos). Existe um livro muito bom sobre o assunto (infelizmente eu não sei se ele já foi traduzido pro nosso idioma) chamado "Logic and Structure", de Dirk van Dalen. Assim que a carga no meu computador reduzir um pouco (no momento estou compilando o Virtual Box pra testar a distro educacional Pandorga, que nosso governo criou baseada em (argh!) Debian) eu te passo as regras, ok?

[8] Comentário enviado por arieldll em 29/12/2011 - 14:28h

lcavalheiro, eu agradeço e fico feliz por compartilhar. O conhecimento é o nosso objetivo.
Fico grato desde já.

[]'s Ariel

[9] Comentário enviado por lestatwa em 30/12/2011 - 19:44h

no seu exemplo 1:
p, q (p^~q)
V V F
V F F
F V F
F F F

temos um erro
o correto seria
p , q, ~q, (p^~q)
V V F F
V F V V
F V F F
F F V F

Lógica Matemática apesar de simples, exige atenção!
Abraço!

[10] Comentário enviado por arieldll em 30/12/2011 - 21:11h

Obrigado pela sinalização! Sem problemas, podemos corrigir facilmente a expressão.
Para a proposição ser contraválida basta substituir a epxressão por: (p^~q)^q. Onde que o q força uma negação na linha, bem como toda a tabela.
Se possível moderação, favor corrigir.

[]'s Ariel.

[11] Comentário enviado por lcavalheiro em 31/12/2011 - 11:32h

Ariel, no exemplo 1 em questão o lestatwa está falando de proposições contingentes. A contradição total, se for o caso, pode ser obtida mais facilmente com (p ^ ~p). Duas variáveis com um único operador binário formam, necessariamente, uma expressão contingente, sendo necessário recorrer a um segundo operador binário (aumentando a profundidade da árvore dedutiva da proposição e, em TI, a complexidade computacional do processo) como o amigo Ariel sugeriu. Note que semanticamente falando essa proposição da correção do amigo pode ser escrita como (p ^ q) ^ ~q, ainda que indutivamente você possa dizer que a implicação dessas duas proposições seja o p, mas isso é assunto pra outro lugar...

[12] Comentário enviado por arieldll em 31/12/2011 - 12:03h

lcalheiro, a ideia é deixar a tabela como contraválida, para, um simples exemplo.
Aproveitando o post, a ideia era ter um exemplo de cada situação com uma proposição composta de mais de uma proposição simples apenas(p), como pode-se observar os outros exemplos, que também são desta forma. A forma mais fácil realmente seria ~p^p.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts