La forma normal disyuntiva ( DNF ) en lógica booleana es una forma normal en la que una fórmula booleana tiene la forma de una disyunción de conjunciones de literales . Cualquier fórmula booleana se puede convertir a un DNF. [1] Para hacer esto, puede usar la ley de doble negación , la ley de Morgan , la ley de distributividad . La forma normal disyuntiva es conveniente para la demostración automática de teoremas .
Fórmulas en DNF :
Fórmulas que no están en DNF :
Pero las dos últimas fórmulas son equivalentes a las siguientes fórmulas en DNF:
1) Deshágase de todas las operaciones lógicas contenidas en la fórmula, reemplazándolas por las principales: conjunción, disyunción, negación. Esto se puede hacer usando fórmulas equivalentes:
2) Reemplazar el signo de negación, referido a la expresión completa, por signos de negación, referidos a enunciados de variables individuales, con base en las fórmulas:
3) Deshazte de los signos negativos dobles.
4) Aplicar, en su caso, a las operaciones de conjunción y disyunción las propiedades de distributividad y fórmulas de absorción.
Reduzcamos la fórmula a DNF
Expresamos la operación lógica → a través de
En la fórmula resultante, trasladamos la negación a las variables y reducimos las dobles negaciones:
Usando la ley de distributividad , obtenemos:
Usando la idempotencia de la conjunción, obtenemos un DNF:
Una forma normal disyuntiva k es una forma normal disyuntiva en la que cada conjunción contiene exactamente k literales .
Por ejemplo, la siguiente fórmula está escrita en 2-DNF:
Si falta una variable, por ejemplo, Z, en alguna conjunción simple, insertamos la expresión en ella
,después de lo cual abrimos los paréntesis (al mismo tiempo, no escribimos los términos disjuntos repetidos, ya que de acuerdo con la ley de idempotencia ). Por ejemplo:
Así, de DNF obtuvimos SDNF .
La siguiente gramática formal describe todas las fórmulas reducidas a DNF:
<DNF> → <conjunción> <DNF> → <DNF> ∨ <conjunción> <conjunción> → <literal> <conjunción> → (<conjunción> ∧ <literal>) <literal> → <término> <literal> → ¬<término>donde <término> denota una variable booleana arbitraria.
Cabe señalar que, para facilitar la percepción, los símbolos de la multiplicación y la suma aritmética se utilizan a menudo como designación de la conjunción y la disyunción, mientras que el símbolo de la multiplicación suele omitirse. En este caso, las fórmulas del álgebra booleana parecen polinomios algebraicos, lo que resulta más familiar a la vista, pero a veces puede dar lugar a malentendidos.
Por ejemplo, las siguientes entradas son equivalentes:
Por esta razón, DNF en la literatura en idioma ruso a veces se denomina "suma de productos", que es un papel de calco del término inglés "suma de productos".