Formas Normais
Objectivos
- Simplificar a linguagem lógica, descartando a necessidade do conectivo .
- Normalizar a estrutura das proposições.
- Usufruir computacionalmente da normalização e simplificação.
Definição (Literal, FND, FNC)
- Uma literal é uma proposição atómica ou a negação de uma proposição atómica.
- Qualquer proposição é equivalente a uma proposição na forma normal disjuntiva (FND): em que cada é uma literal.
- Qualquer proposição é equivalente a uma proposição na forma normal conjuntiva (FNC): em que cada é uma literal.
As formas normais usam apenas os conectivos e (e este último apenas nas literais). Além disso os conectivos e estão agrupados de forma "regular".
Estas duas propriedades são importantes porque simplificam substancialmente a representação e processamento algorítmico de proposições.
Cálculo da Forma Normal Disjuntiva
A designação "disjuntiva" indica que esta forma é uma disjunção () de conjunções de literais.
Um processo para se obter a FND de uma proposição é o seguinte:
- Fazer a tabela da proposição , atendendo às colunas com os átomos e com a proposição.
- Em cada linha onde a proposição é , construir uma conjunção ():
- Para cada átomo que é nessa linha, "contribuir" para a conjunção com ;
- Para cada átomo que é nessa linha, "contribuir" para a conjunção com .
- Fazer a disjunção () de todas as conjunções.
Exemplo: FND de .
portanto
Intuitivamente, primeiro determina-se em que linhas a proposição é ?:
- No conjunto de linhas .
Depois descreve-se a união dessas linhas (). E cada linha é unicamente identificada pela parte conjuntiva ():
- só é na linha ;
- só é na linha .
A FND de descreve a união das linhas em que é .
Cálculo da Forma Normal Conjuntiva
A designação "conjuntiva" indica que esta forma é uma conjunção () de disjunções de literais.
Um processo para se obter a FNC de uma proposição é o seguinte:
- Fazer a tabela da proposição , atendendo às colunas com os átomos e com a proposição.
- Em cada linha onde a proposição é , construir uma disjunção ():
- Para cada átomo que é nessa linha, "contribuir" para a disjunção com ;
- Para cada átomo que é nessa linha, "contribuir" para a disjunção com .
- Fazer a conjunção () de todas as disjunções.
Exemplo: FNC de .
portanto
Intuitivamente, primeiro determina-se em que linhas a proposição é ?:
- No conjunto de linhas .
Depois descreve-se a interseção dos complementos de cada uma dessas linhas (). O complemento de cada linha é unicamente identificado pela parte disjuntiva ():
- só é na linha , ie é nas linhas e ;
- só é na linha , ie é nas linhas e .
A FNC de descreve a interseção de linhas em que é .
Completude Funcional
Uma das aplicações práticas das formas normais consiste na descrição de qualquer função booleana.
Isto é, dada uma função booleana (os argumentos e o valor são ) qualquer:
Por exemplo
Esta descrição da função na forma de uma proposição é importante porque assim pode-se aplicar a Dedução Natural Proposicional para estudar a função.
Mas também pode acontecer estar disponível apenas uma "tabela" dessa função. Por exemplo
Neste caso, em que não é dada uma proposição para descrever a função, também não pode ser utilizada a Dedução Natural Proposicional.
Importa então de resolver o seguinte problema: "Dada uma função na forma de uma tabela, é possível encontrar uma proposição que descreva essa função? Se sim, como obter tal proposição?"
Teorema (Completude funcional) Qualquer função booleana pode ser representada por uma proposição usando apenas os conectivos , e .
Demonstração.
Basta aplicar a cálculo da FNC ou da FND à tabela da função. ◻
Exemplo. Encontrar uma proposição que descreveva uma dada função booleana.
Portanto
Fica como exercício mostar que e são equivalentes. Isso pode ser feito de duas formas distintas:
- Com duas provas DNP: .
- Com uma tabela: .
O Teorema de Completude e Validade garante que qualquer uma destas duas formas é suficiente.
Exercício: Encontre uma proposição para representar a função booleana dada na tabela seguinte.