Articulo de referencia

forma normal conjuntiva

En álgebra booleana , una fórmula está en forma normal conjuntiva ( FNC ) o en forma normal clausal si es una conjunción de una o más cláusulas , donde una cláusula es una disyu...

En álgebra booleana , una fórmula está en forma normal conjuntiva ( FNC ) o en forma normal clausal si es una conjunción de una o más cláusulas , donde una cláusula es una disyunción de literales ; dicho de otro modo, es un producto de sumas o un AND de OR .

En la demostración automatizada de teoremas , la noción de " forma normal clausal " se usa a menudo en un sentido más restringido, refiriéndose a una representación particular de una fórmula en forma normal clausal como un conjunto de conjuntos de literales.

Definición

Una fórmula lógica se considera en forma normal conjuntiva (FNC) si es una conjunción de una o más disyunciones de uno o más literales . Al igual que en la forma normal disyuntiva (FND), los únicos operadores proposicionales en FNC son o ({\displaystyle \vee }), y ({\displaystyle \land }), y no (¬{\displaystyle \neg }). El operador not solo puede usarse como parte de un literal, lo que significa que solo puede preceder a una variable proposicional .

La siguiente es una gramática libre de contexto para la forma normal de contexto (FNC):

CNF{\displaystyle \,\to \,}Desunido{\displaystyle \,\mid \,}Desunido{\displaystyle \,\land \,}CNF
Desunido{\displaystyle \,\to \,}Literal{\displaystyle \,\mid \,}Literal{\displaystyle \,\lor \,}Desunido
Literal{\displaystyle \,\to \,}Variable{\displaystyle \,\mid \,}¬{\displaystyle \,\neg \,}Variable

Donde Variable es cualquier variable.

Todas las siguientes fórmulas en las variablesA,B,do,D,mi,{\displaystyle A,B,C,D,E,}yF{\displaystyle F}están en forma conjuntiva normal:

  • (A¬B¬do)(¬DmiF){\displaystyle (A\lor \neg B\lor \neg C)\land (\neg D\lor E\lor F)}
  • (AB)(do){\displaystyle (A\lor B)\land (C)}
  • (AB){\displaystyle (A\lor B)}
  • (A){\displaystyle (A)}

Las siguientes fórmulas no están en forma conjuntiva normal:

  • ¬(AB){\displaystyle \neg (A\land B)}, ya que un AND está anidado dentro de un NOT
  • ¬(AB)do{\displaystyle \neg (A\lor B)\land C}, ya que un OR está anidado dentro de un NOT
  • A(B(Dmi)){\displaystyle A\land (B\lor (D\land E))}, ya que un AND está anidado dentro de un OR
  • A(B(doD)){\displaystyle A\land (B\lor (C\lor D))}, ya que un OR anidado debe escribirse sin paréntesis

Conversión a FNC

En lógica clásica, cada fórmula proposicional puede convertirse en una fórmula equivalente que está en FNC. [ 1 ] Esta transformación se basa en reglas sobre equivalencias lógicas : eliminación de la doble negación , leyes de De Morgan y la ley distributiva .

Algoritmo básico

El algoritmo para calcular un equivalente en forma normal conjuntiva (FNC) de una fórmula proposicional dada.ϕ{\displaystyle \phi }se basa en¬ϕ{\displaystyle \lnot \phi }en forma normal disyuntiva (FND) : paso 1. [ 2 ] Entonces¬ϕDnorteF{\displaystyle \lnot \phi _{DNF}}se convierte enϕdonorteF{\displaystyle \phi _{CNF}}intercambiando AND con OR y viceversa mientras se niegan todos los literales. Eliminar todo¬¬{\displaystyle \lnot \lnot }. [ 1 ]

Conversión por medios sintácticos

Convierta la fórmula proposicional a FNCϕ{\displaystyle \phi }.

Paso 1 : Convertir su negación a forma normal disyuntiva. [ 2 ]

¬ϕDnorteF=(do1do2doidometro){\displaystyle \lnot \phi _{DNF}=(C_{1}\lor C_{2}\lor \ldots \lor C_{i}\lor \ldots \lor C_{m})}, [ 3 ]

donde cadadoi{\displaystyle C_{i}}es una conjunción de literalesli1li2linortei{\displaystyle l_{i1}\land l_{i2}\land \ldots \land l_{in_{i}}}. [ 4 ]

Paso 2 : Negar¬ϕDnorteF{\displaystyle \lnot \phi _{DNF}}Luego cambia.¬{\displaystyle \lnot }hacia adentro aplicando las equivalencias (generalizadas) de De Morgan hasta que ya no sea posible. ϕ¬¬ϕDnorteF=¬(do1do2doidometro)¬do1¬do2¬doi¬dometro// DM (generalizado){\displaystyle {\begin{aligned}\phi &\leftrightarrow \lnot \lnot \phi _{DNF}\\&=\lnot (C_{1}\lor C_{2}\lor \ldots \lor C_{i}\lor \ldots \lor C_{m})\\&\leftrightarrow \lnot C_{1}\land \lnot C_{2}\land \ldots \land \lnot C_{i}\land \ldots \land \lnot C_{m}&&{\text{// DM (generalizado)}}\end{aligned}}} dónde¬doi=¬(li1li2linortei)(¬li1¬li2¬linortei)// DM (generalizado){\displaystyle {\begin{aligned}\lnot C_{i}&=\lnot (l_{i1}\land l_{i2}\land \ldots \land l_{in_{i}})\\&\leftrightarrow (\lnot l_{i1}\lor \lnot l_{i2}\lor \ldots \lor \lnot l_{in_{i}})&&{\text{// DM (generalizado)}}\end{aligned}}}

Paso 3 : Eliminar todas las negaciones dobles.

Ejemplo

Convierta la fórmula proposicional a FNC ϕ=((¬(pagq))(¬r(pagq))){\displaystyle \phi =((\lnot (p\land q))\leftrightarrow (\lnot r\uparrow (p\oplus q)))}. [ 5 ]

El equivalente DNF (completo) de su negación es [ 2 ]¬ϕDnorteF=(pagqr)(pagq¬r)(pag¬q¬r)(¬pagq¬r){\displaystyle \lnot \phi _{DNF}=(p\land q\land r)\lor (p\land q\land \lnot r)\lor (p\land \lnot q\land \lnot r)\lor (\lnot p\land q\land \lnot r)}

ϕ¬¬ϕDnorteF=¬{(pagqr)(pagq¬r)(pag¬q¬r)(¬pagq¬r)}¬(pagqr)_¬(pagq¬r)_¬(pag¬q¬r)_¬(¬pagq¬r)_// DM generalizado (¬pag¬q¬r)(¬pag¬q¬¬r)(¬pag¬¬q¬¬r)(¬¬pag¬q¬¬r)// DM generalizado (4×)(¬pag¬q¬r)(¬pag¬qr)(¬pagqr)(pag¬qr)// eliminar todo ¬¬=ϕdonorteF{\displaystyle {\begin{aligned}\phi &\leftrightarrow \lnot \lnot \phi _{DNF}\\&=\lnot \{(p\land q\land r)\lor (p\land q\land \lnot r)\lor (p\land \lnot q\land \lnot r)\lor (\lnot p\land q\land \lnot r)\}\\&\leftrightarrow {\underline {\lnot (p\land q\land r)}}\land {\underline {\lnot (p\land q\land \lnot r)}}\land {\underline {\lnot (p\land \lnot q\land \lnot r)}}\land {\underline {\lnot (\lnot p\land q\land \lnot r)}}&&{\text{// generalized D.M. }}\\&\leftrightarrow (\lnot p\lor \lnot q\lor \lnot r)\land (\lnot p\lor \lnot q\lor \lnot \lnot r)\land (\lnot p\lor \lnot \lnot q\lor \lnot \lnot r)\land (\lnot \lnot p\lor \lnot q\lor \lnot \lnot r)&&{\text{// generalized D.M. }}(4\times )\\&\leftrightarrow (\lnot p\lor \lnot q\lor \lnot r)\land (\lnot p\lor \lnot q\lor r)\land (\lnot p\lor q\lor r)\land (p\lor \lnot q\lor r)&&{\text{// remove all }}\lnot \lnot \\&=\phi _{CNF}\end{aligned}}}

Conversión por medios semánticos

Se puede derivar un equivalente en forma normal conjuntiva (FNC) de una fórmula a partir de su tabla de verdad . Consideremos nuevamente la fórmula. ϕ=((¬(pagq))(¬r(pagq))){\displaystyle \phi =((\lnot (p\land q))\leftrightarrow (\lnot r\uparrow (p\oplus q)))}. [ 5 ]

La tabla de verdad correspondiente es

Un equivalente CNF deϕ{\displaystyle \phi }es (¬pag¬q¬r)(¬pag¬qr)(¬pagqr)(pag¬qr){\displaystyle (\lnot p\lor \lnot q\lor \lnot r)\land (\lnot p\lor \lnot q\lor r)\land (\lnot p\lor q\lor r)\land (p\lor \lnot q\lor r)}

Cada disyunción refleja una asignación de variables para las cualesϕ{\displaystyle \phi }se evalúa como F(alse). Si en dicha asignación una variableV{\displaystyle V}

  • es T(verdadero), entonces el literal se establece en¬V{\displaystyle \lnot V}en la disyunción,
  • es F(alse), entonces el literal se establece enV{\displaystyle V}en la disyunción.

Otros enfoques

Dado que todas las fórmulas proposicionales pueden convertirse en una fórmula equivalente en forma normal conjuntiva, las demostraciones a menudo se basan en la suposición de que todas las fórmulas son FNC. Sin embargo, en algunos casos esta conversión a FNC puede conducir a una explosión exponencial de la fórmula. Por ejemplo, al traducir la fórmula no FNC

(incógnita1Y1)(incógnita2Y2)(incógnitanorteYnorte){\displaystyle (X_{1}\wedge Y_{1})\vee (X_{2}\wedge Y_{2})\vee \ldots \vee (X_{n}\wedge Y_{n})}

en CNF produce una fórmula con2norte{\displaystyle 2^{n}}cláusulas:

(incógnita1incógnita2incógnitanorte)(Y1incógnita2incógnitanorte)(incógnita1Y2incógnitanorte)(Y1Y2incógnitanorte)(Y1Y2Ynorte).{\displaystyle (X_{1}\vee X_{2}\vee \ldots \vee X_{n})\wedge (Y_{1}\vee X_{2}\vee \ldots \vee X_{n})\wedge (X_{1}\vee Y_{2}\vee \ldots \vee X_{n})\wedge (Y_{1}\vee Y_{2}\vee \ldots \vee X_{n})\wedge \ldots \wedge (Y_{1}\vee Y_{2}\vee \ldots \vee Y_{n}).}

Cada cláusula contieneincógnitai{\displaystyle X_{i}}oYi{\displaystyle Y_{i}}para cadai{\displaystyle i}.

Existen transformaciones a FNC que evitan un aumento exponencial del tamaño al preservar la satisfacibilidad en lugar de la equivalencia . [ 6 ] [ 7 ] Estas transformaciones garantizan que el tamaño de la fórmula solo aumente linealmente, pero introducen nuevas variables. Por ejemplo, la fórmula anterior se puede transformar a FNC añadiendo variables.Z1,,Znorte{\displaystyle Z_{1},\ldots ,Z_{n}}como sigue:

(Z1Znorte)(¬Z1incógnita1)(¬Z1Y1)(¬Znorteincógnitanorte)(¬ZnorteYnorte).{\displaystyle (Z_{1}\vee \ldots \vee Z_{n})\wedge (\neg Z_{1}\vee X_{1})\wedge (\neg Z_{1}\vee Y_{1})\wedge \ldots \wedge (\neg Z_{n}\vee X_{n})\wedge (\neg Z_{n}\vee Y_{n}).}

Una interpretación satisface esta fórmula solo si al menos una de las nuevas variables es verdadera. Si esta variable es verdadera,Zi{\displaystyle Z_{i}}, entonces ambosincógnitai{\displaystyle X_{i}}yYi{\displaystyle Y_{i}}También son ciertas. Esto significa que cada modelo que satisface esta fórmula también satisface la original. Por otro lado, solo algunos de los modelos de la fórmula original satisfacen esta: puesto queZi{\displaystyle Z_{i}}Como no se mencionan en la fórmula original, sus valores son irrelevantes para su satisfacción, lo cual no ocurre en la última fórmula. Esto significa que la fórmula original y el resultado de la traducción son equisatisfacibles , pero no equivalentes .

Una traducción alternativa, la transformación de Tseitin , también incluye las cláusulasZi¬incógnitai¬Yi{\displaystyle Z_{i}\vee \neg X_{i}\vee \neg Y_{i}}Con estas cláusulas, la fórmula implicaZiincógnitaiYi{\displaystyle Z_{i}\equiv X_{i}\wedge Y_{i}}; esta fórmula se considera a menudo como "definitiva"Zi{\displaystyle Z_{i}}ser un nombre paraincógnitaiYi{\displaystyle X_{i}\wedge Y_{i}}.

Número máximo de disyunciones

Consideremos una fórmula proposicional connorte{\displaystyle n}variables,norte1{\displaystyle n\geq 1}.

Hay2norte{\displaystyle 2n}posibles literales:L={pag1,¬pag1,pag2,¬pag2,,pagnorte,¬pagnorte}{\displaystyle L=\{p_{1},\lnot p_{1},p_{2},\lnot p_{2},\ldots ,p_{n},\lnot p_{n}\}}.

L{\displaystyle L}tiene(22norte1){\displaystyle (2^{2n}-1)}subconjuntos no vacíos. [ 8 ]

Este es el número máximo de disyunciones que puede tener una CNF. [ 9 ]

Todas las combinaciones veritativo-funcionales pueden expresarse con2norte{\displaystyle 2^{n}}disyunciones, una por cada fila de la tabla de verdad. En el ejemplo siguiente están subrayadas.

Ejemplo

Consideremos una fórmula con dos variables.pag{\displaystyle p}yq{\displaystyle q}.

La CNF más larga posible tiene2(2×2)1=15{\displaystyle 2^{(2\times 2)}-1=15}disyunciones: [ 9 ](¬pag)(pag)(¬q)(q)(¬pagpag)(¬pag¬q)_(¬pagq)_(pag¬q)_(pagq)_(¬qq)(¬pagpag¬q)(¬pagpagq)(¬pag¬qq)(pag¬qq)(¬pagpag¬qq){\displaystyle {\begin{array}{lcl}(\lnot p)\land (p)\land (\lnot q)\land (q)\land \\(\lnot p\lor p)\land {\underline {(\lnot p\lor \lnot q)}}\land {\underline {(\lnot p\lor q)}}\land {\underline {(p\lor \lnot q)}}\land {\underline {(p\lor q)}}\land (\lnot q\lor q)\land \\(\lnot p\lor p\lor \lnot q)\land (\lnot p\lor p\lor q)\land (\lnot p\lor \lnot q\lor q)\land (p\lor \lnot q\lor q)\land \\(\lnot p\lor p\lor \lnot q\lor q)\end{array}}}

Esta fórmula es una contradicción . Se puede simplificar a(¬pagpag){\displaystyle (\neg p\land p)}o para(¬qq){\displaystyle (\neg q\land q)}, que también son contradicciones, así como FNC válidas.

Complejidad computacional

Un conjunto importante de problemas en complejidad computacional implica encontrar asignaciones a las variables de una fórmula booleana expresada en forma normal conjuntiva, de tal manera que la fórmula sea verdadera. El problema k -SAT es el problema de encontrar una asignación satisfactoria a una fórmula booleana expresada en CNF en la que cada disyunción contiene como máximo k variables. 3-SAT es NP-completo (como cualquier otro problema k -SAT con k > 2) mientras que se sabe que 2-SAT tiene soluciones en tiempo polinomial . Como consecuencia, [ 10 ] la tarea de convertir una fórmula en una DNF , preservando la satisfacibilidad, es NP-difícil ; dualmente , convertirla en CNF, preservando la validez , también es NP-difícil; por lo tanto, la conversión que preserva la equivalencia a DNF o CNF es nuevamente NP-difícil.

Los problemas típicos en este caso involucran fórmulas en "3CNF": forma normal conjuntiva con no más de tres variables por conjunción. Los ejemplos de tales fórmulas que se encuentran en la práctica pueden ser muy extensos, por ejemplo, con 100 000 variables y 1 000 000 de conjunciones.

Una fórmula en FNC se puede convertir en una fórmula equisatisfacible en " k FNC" (para k 3) reemplazando cada conjunción con más de k variables.incógnita1incógnitakincógnitanorte{\displaystyle X_{1}\vee \ldots \vee X_{k}\vee \ldots \vee X_{n}}por dos conjuntivosincógnita1incógnitak1Z{\displaystyle X_{1}\vee \ldots \vee X_{k-1}\vee Z}y¬Zincógnitakincógnitanorte{\displaystyle \neg Z\vee X_{k}\lor \ldots \vee X_{n}}con Z una nueva variable, y repitiendo tantas veces como sea necesario.

Lógica de primer orden

En lógica de primer orden, la forma normal conjuntiva se puede llevar más allá para producir la forma normal clausal de una fórmula lógica, que luego se puede usar para realizar la resolución de primer orden . En la demostración automática de teoremas basada en resolución, una fórmula CNF

Vea a continuación un ejemplo.

Conversión desde lógica de primer orden

Para convertir la lógica de primer orden a FNC: [ 12 ]

  1. Convertir a la forma normal de negación .
    1. Eliminar implicaciones y equivalencias: reemplazar repetidamentePAGQ{\displaystyle P\rightarrow Q}con¬PAGQ{\displaystyle \lnot P\lor Q}; reemplazarPAGQ{\displaystyle P\leftrightarrow Q}con(PAG¬Q)(¬PAGQ){\displaystyle (P\lor \lnot Q)\land (\lnot P\lor Q)}. Eventualmente, esto eliminará todas las ocurrencias de{\displaystyle \rightarrow }y{\displaystyle \leftrightarrow }.
    2. Mueva los NOT hacia adentro aplicando repetidamente la ley de De Morgan . Específicamente, reemplace¬(PAGQ){\displaystyle \lnot (P\lor Q)}con(¬PAG)(¬Q){\displaystyle (\lnot P)\land (\lnot Q)}; reemplazar¬(PAGQ){\displaystyle \lnot (P\land Q)}con(¬PAG)(¬Q){\displaystyle (\lnot P)\lor (\lnot Q)}; y reemplazar¬¬PAG{\displaystyle \lnot \lnot P}conPAG{\displaystyle P}; reemplazar¬(incógnitaPAG(incógnita)){\displaystyle \lnot (\forall xP(x))}conincógnita¬PAG(incógnita){\displaystyle \exists x\lnot P(x)};¬(incógnitaPAG(incógnita)){\displaystyle \lnot (\exists xP(x))}conincógnita¬PAG(incógnita){\displaystyle \forall x\lnot P(x)}. Después de eso, un¬{\displaystyle \lnot }puede aparecer solo inmediatamente antes de un símbolo de predicado.
  2. Estandarizar variables
    1. Para oraciones como(incógnitaPAG(incógnita))(incógnitaQ(incógnita)){\displaystyle (\forall xP(x))\lor (\exists xQ(x))}que utilizan el mismo nombre de variable dos veces, cambie el nombre de una de las variables. Esto evita confusiones posteriores al eliminar cuantificadores. Por ejemplo,incógnita[yAnorteimetroal(y)¬Lovmis(incógnita,y)][yLovmis(y,incógnita)]{\displaystyle \forall x[\exists y\mathrm {Animal} (y)\land \lnot \mathrm {Loves} (x,y)]\lor [\exists y\mathrm {Loves} (y,x)]}se cambia de nombre aincógnita[yAnorteimetroal(y)¬Lovmis(incógnita,y)][zLovmis(z,incógnita)]{\displaystyle \forall x[\exists y\mathrm {Animal} (y)\land \lnot \mathrm {Loves} (x,y)]\lor [\exists z\mathrm {Loves} (z,x)]}.
  3. Skolemizar la declaración
    1. Mover los cuantificadores hacia afuera: reemplazar repetidamentePAG(incógnitaQ(incógnita)){\displaystyle P\land (\forall xQ(x))}conincógnita(PAGQ(incógnita)){\displaystyle \forall x(P\land Q(x))}; reemplazarPAG(incógnitaQ(incógnita)){\displaystyle P\lor (\forall xQ(x))}conincógnita(PAGQ(incógnita)){\displaystyle \forall x(P\lor Q(x))}; reemplazarPAG(incógnitaQ(incógnita)){\displaystyle P\land (\exists xQ(x))}conincógnita(PAGQ(incógnita)){\displaystyle \exists x(P\land Q(x))}; reemplazarPAG(incógnitaQ(incógnita)){\displaystyle P\lor (\exists xQ(x))}conincógnita(PAGQ(incógnita)){\displaystyle \exists x(P\lor Q(x))}Estos reemplazos preservan la equivalencia, ya que el paso de estandarización de variables anterior garantizó queincógnita{\displaystyle x}no ocurre enPAG{\displaystyle P}. Después de estas sustituciones, un cuantificador puede aparecer solo en el prefijo inicial de la fórmula, pero nunca dentro de una¬{\displaystyle \lnot },{\displaystyle \land }, o{\displaystyle \lor }.
    2. Reemplazar repetidamenteincógnita1incógnitanorteyPAG(y){\displaystyle \forall x_{1}\ldots \forall x_{n}\;\exists y\;P(y)}conincógnita1incógnitanortePAG(F(incógnita1,,incógnitanorte)){\displaystyle \forall x_{1}\ldots \forall x_{n}\;P(f(x_{1},\ldots ,x_{n}))}, dóndeF{\displaystyle f}es un nuevonorte{\displaystyle n}Símbolo de función -aria, una llamada " función de Skolem ". Este es el único paso que conserva únicamente la satisfacibilidad en lugar de la equivalencia. Elimina todos los cuantificadores existenciales.
  4. Elimine todos los cuantificadores universales.
  5. Distribuye los OR hacia adentro sobre los AND: reemplaza repetidamentePAG(QR){\displaystyle P\lor (Q\land R)}con(PAGQ)(PAGR){\displaystyle (P\lor Q)\land (P\lor R)}.

Ejemplo

Como ejemplo, la fórmula que dice "Quien ama a todos los animales, es a su vez amado por alguien" se convierte en FNC (y posteriormente en forma de cláusula en la última línea) de la siguiente manera (resaltando las reglas de reemplazo redexes enrojo{\displaystyle {\color {red}{\text{red}}}}):

De manera informal, la función de Skolemgramo(incógnita){\displaystyle g(x)}puede pensarse como ceder a la persona por quienincógnita{\displaystyle x}es amado, mientras queF(incógnita){\displaystyle f(x)}produce el animal (si lo hay) queincógnita{\displaystyle x}no ama. La antepenúltima línea desde abajo dice entonces "incógnita{\displaystyle x}no ama al animalF(incógnita){\displaystyle f(x)}o de lo contrarioincógnita{\displaystyle x}es amado porgramo(incógnita){\displaystyle g(x)}" .

La penúltima línea desde arriba,(Anorteimetroal(F(incógnita))Lovmis(gramo(incógnita),incógnita))(¬Lovmis(incógnita,F(incógnita))Lovmis(gramo(incógnita),incógnita)){\displaystyle (\mathrm {Animal} (f(x))\lor \mathrm {Loves} (g(x),x))\land (\lnot \mathrm {Loves} (x,f(x))\lor \mathrm {Loves} (g(x),x))}, es la FNC.

Véase también

Notas

  1. 1 2 Howson 2005 , pág. 46.
  2. 1 2 3 ver Forma normal disyuntiva §  Conversión a FND
  3. 1metro{\displaystyle 1\leq m\leq }número máximo de conjunciones paraϕ{\displaystyle \phi }
  4. 1inortei{\displaystyle 1\leq in_{i}\leq }número máximo de literales paraϕ{\displaystyle \phi }
  5. 1 2ϕ{\displaystyle \phi }= (( NO (p Y q)) SI Y SOLO SI (( NO r) NAND (p XOR q)))
  6. Tseitin 1968 .
  7. Jackson y Sheridan 2004 .
  8. |PAG(L)|=22norte{\displaystyle \left|{\mathcal {P}}(L)\right|=2^{2n}}
  9. 1 2 Se supone que las repeticiones y variaciones (como(ab)(ba)(abb){\displaystyle (a\land b)\lor (b\land a)\lor (a\land b\land b)}) basado en la conmutatividad y asociatividad de{\displaystyle \lor }y{\displaystyle \land }no ocurren.
  10. ya que una forma de comprobar la satisfacibilidad de una CNF es convertirla en una DNF , cuya satisfacibilidad se puede comprobar en tiempo lineal.
  11. 1metro{\displaystyle 1\leq m\leq }número máximo de disyunciones1inortei{\displaystyle 1\leq in_{i}\leq }número máximo de literales
  12. Russel y Norvig 2010 , págs. 345–347, 9.5.1 Forma normal conjuntiva para la lógica de primer orden.

Referencias

  • Andrews, Peter B. (2013). Introducción a la lógica matemática y la teoría de tipos: Hacia la verdad a través de la demostración . Springer. ISBN 978-9401599344.
  • Howson, Colin (11 de octubre de 2005) [1997]. Lógica con árboles: una introducción a la lógica simbólica . Routledge. ISBN 978-1-134-78550-6.
  • Jackson, Paul; Sheridan, Daniel (10 de mayo de 2004). «Conversiones de forma de cláusula para circuitos booleanos» (PDF) . En Hoos, Holger H.; Mitchell, David G. (eds.). Teoría y aplicaciones de las pruebas de satisfacibilidad . 7.ª Conferencia Internacional sobre Teoría y Aplicaciones de las Pruebas de Satisfacibilidad, SAT . Artículos seleccionados revisados. Lecture Notes in Computer Science. Vol.  3542. Vancouver, BC, Canadá: Springer 2005. pp. 183–198 . doi : 10.1007/11527695_15 . ISBN  978-3-540-31580-3.
  • Kleine Büning, Hans; Lettmann, Theodor (28 de agosto de 1999). Lógica proposicional: deducción y algoritmos . Cambridge University Press . ISBN 978-0-521-63017-7.
  • Russel, Stuart ; Norvig, Peter , eds. (2010) [1995]. Inteligencia artificial  : un enfoque moderno (PDF) (3.ª  ed.). Upper Saddle River, NJ: Prentice Hall. ISBN 978-0-13-604259-4Archivado (PDF) del original el 31 de agosto de 2017 .
  • Tseitin, Grigori S. (1968). "Sobre la complejidad de la derivación en el cálculo proposicional" (PDF) . En Slisenko, AO (ed.). Estructuras en matemáticas constructivas y lógica matemática, Parte II, Seminarios de matemáticas (traducido del ruso) . Instituto Matemático Steklov. pp. 115–125 . 
  • Whitesitt, J. Eldon (24 de mayo de 2012) [1961]. Álgebra booleana y sus aplicaciones . Courier Corporation. ISBN 978-0-486-15816-7.
  • "Herramienta Java para convertir una tabla de verdad a FNC y FND" . Universidad de Marburgo . Consultado el 31 de diciembre de 2023 .