Saltar al contenido

Lección 10: Formas normales: FND, FNC, mintérminos y maxtérminos

Cualquier fórmula puede reescribirse como un OR de términos AND (FND) o un AND de cláusulas OR (FNC). Esta lección avanzada, de unos quince minutos, lee mintérminos y maxtérminos en una tabla de verdad, escribe las formas Σm y ΠM, y muestra por qué las conversiones tienen límites.

Nivel: avanzado15 min9 afirmaciones de esta lección fueron confirmadas por el comprobador exacto al compilar

Reescribe cualquier fórmula como un OR de términos AND o un AND de cláusulas OR, lee las formas Σm y ΠM fila por fila y entiende por qué las conversiones están acotadas.

El primer paso define literales, términos y cláusulas y muestra las dos formas normales de A XOR B: la FND (A AND NOT B) OR (NOT A AND B) y la FNC (A OR B) AND (NOT A OR NOT B). El segundo lee las filas VERDADERAS de una tabla como mintérminos, de modo que Σm(A, B, C; 3, 5, 6, 7) es la función de mayoría (A AND B) OR (A AND C) OR (B AND C), con la primera entrada como bit más significativo. El tercero lee las filas FALSAS como maxtérminos, ΠM(A, B, C; 0, 1, 2, 4), la misma función. El cuarto convierte con leyes, eliminando flechas, empujando NOT hacia dentro y distribuyendo, de modo que (A AND B) OR C se convierte en (A OR C) AND (B OR C), y explica por qué la distribución puede dispararse y por qué el conversor tiene un límite.

Cinco de las afirmaciones de la lección son equivalencias verificadas en cada construcción, incluidas las dos formas canónicas de la función de mayoría. Los ejercicios piden la FND de A -> (B AND C), la FNC de (A AND B) OR C, el valor de una forma indexada en una fila, y una FNC escrita por extenso a partir de ΠM(A, B; 0, 3).

El conversor a FNC y FND de la sección de herramientas hace las conversiones nombrando cada ley, y las páginas de comparativa sobre FNC frente a FND y sobre mintérminos frente a maxtérminos muestran cuándo cada forma es la más corta.

Haz esta lección de forma interactiva en la app

Pasos

1. Literales, términos y cláusulas

Un literal es una entrada o su negación, como A o NOT B.

- La FND (forma normal disyuntiva) es un OR de términos AND de literales: (A AND NOT B) OR (NOT A AND B). - La FNC (forma normal conjuntiva) es un AND de cláusulas OR: (A OR B) AND (NOT A OR NOT B).

Ambas fórmulas son equivalentes a A XOR B. Toda fórmula tiene una FND y una FNC.

parity := A XOR B · salidadnf := (A AND NOT B) OR (NOT A AND B) · salidacnf := (A OR B) AND (NOT A OR NOT B) · salida
Literales, términos y cláusulas
#ABparitydnfcnf
0FALSOFALSOFALSOFALSOFALSO
1FALSOVERDADEROVERDADEROVERDADEROVERDADERO
2VERDADEROFALSOVERDADEROVERDADEROVERDADERO
3VERDADEROVERDADEROFALSOFALSOFALSO

Compara dnf y cnf con parity.

equivalent parity / dnf · se cumpleequivalent parity / cnf · se cumple

2. Mintérminos: un término por cada fila TRUE

Un mintérmino es un AND de todas las entradas, cada una tal cual o negada, que vale TRUE en exactamente una fila. Su índice es el número de fila, con la primera entrada como bit más significativo: para A, B, C, el mintérmino 5 es A AND NOT B AND C (101 en binario).

La lista de filas con TRUE da la FND canónica, que se escribe Σm(A, B, C; 3, 5, 6, 7). Es la función mayoría: TRUE cuando al menos dos entradas lo son.

majority := Σm(A, B, C; 3, 5, 6, 7) · salidaexpanded := (A AND B) OR (A AND C) OR (B AND C) · salida
Mintérminos: un término por cada fila TRUE
#ABCmajorityexpanded
0FALSOFALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSOFALSO
2FALSOVERDADEROFALSOFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADEROVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADEROVERDADERO

Ajusta A=TRUE, B=FALSE, C=TRUE (fila 5) y mira majority.

equivalent majority / expanded · se cumple

3. Maxtérminos: una cláusula por cada fila FALSE

Un maxtérmino es un OR de todas las entradas que vale FALSE en exactamente una fila. El maxtérmino 0 para A, B, C es A OR B OR C, falso solo cuando las tres valen FALSE.

La lista de filas con FALSE da la FNC canónica: ΠM(A, B, C; 0, 1, 2, 4) es la misma función mayoría. Los índices de mintérminos y maxtérminos cubren juntos cada fila exactamente una vez.

majority := Σm(A, B, C; 3, 5, 6, 7) · salidamajority_pm := ΠM(A, B, C; 0, 1, 2, 4) · salida
Maxtérminos: una cláusula por cada fila FALSE
#ABCmajoritymajority_pm
0FALSOFALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSOFALSO
2FALSOVERDADEROFALSOFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADEROVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADEROVERDADERO

Compara majority_pm con majority.

equivalent majority / majority_pm · se cumple

4. Convertir con leyes, dentro de unos límites

Para llegar a la FNC, elimina -> y <->, lleva los NOT hacia dentro (De Morgan) y después distribuye OR sobre AND: (A AND B) OR C se convierte en (A OR C) AND (B OR C).

La distribución puede hacer crecer las fórmulas de forma exponencial, por eso Tangibool acota las conversiones (4096 términos) y nunca presenta un resultado parcial como una forma normal completa. Cada conversión terminada se somete a una comprobación de equivalencia.

original := (A AND B) OR C · salidacnf := (A OR C) AND (B OR C) · salida
Convertir con leyes, dentro de unos límites
#ABCoriginalcnf
0FALSOFALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROVERDADEROVERDADERO
2FALSOVERDADEROFALSOFALSOFALSO
3FALSOVERDADEROVERDADEROVERDADEROVERDADERO
4VERDADEROFALSOFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADEROVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADEROVERDADERO

Compara original con cnf.

equivalent original / cnf · se cumple

Ejercicios

  1. Escribe A -> (B AND C) en forma normal disyuntiva (un OR de términos AND). (write-equivalent)
  2. Escribe (A AND B) OR C en forma normal conjuntiva (un AND de cláusulas OR). (write-equivalent)
  3. f := Σm(A, B, C; 1, 4, 6). ¿Cuánto vale f cuando A=TRUE, B=TRUE, C=FALSE? (predict-output)
  4. Desarrolla ΠM(A, B; 0, 3) como FNC, una cláusula por maxtérmino. (write-equivalent)

Haz esta lección de forma interactiva en la app

Preguntas

¿La forma canónica es la más corta?

Rara vez. Tiene un término por fila VERDADERA, así que una función VERDADERA en la mitad de las filas de una tabla de cuatro variables tiene ocho términos. La lección sobre mapas de Karnaugh trata de acortarla.

¿Cuál es el límite de las conversiones?

El conversor se detiene en 4.096 términos o 20.000 apariciones de literales e informa de que se detuvo, en lugar de imprimir una forma parcial. Una cadena de catorce XOR basta para alcanzarlo.

Relacionado

Leyes

Herramientas

Ejercicios

Véase también

Lecciones

Generado a partir del motor de Tangibool, semántica tangibool-semantics/1, motor 1.0.0, compilación . Cada tabla, mapa, simplificación y veredicto de estas páginas lo calculó el motor de Tangibool al compilar el sitio, y cada afirmación la volvió a comprobar el mismo verificador exacto que usa la app. Los límites se indican donde aplican. © 2026 Foreranger LTD.