{"meta":{"buildDate":"2026-11-07","engineVersion":"1.0.0","semanticsVersion":"tangibool-semantics/1","limits":{"maxInputs":64,"truthTableInputs":12,"kmapVariables":4,"normalFormTerms":4096,"normalFormLiterals":20000,"expressionChars":20000},"counts":{"T0":12,"T1":32,"T2":11,"T3":9,"T4":61,"T5":25,"T6":14,"T7":60,"T8":9,"T9":15,"T10":10,"T11":20}},"laws":[{"key":"identity","title":{"en":"Identity law of Boolean algebra: A AND TRUE = A, A OR FALSE = A","es":"Ley de identidad (elemento neutro): A·1 = A, A+0 = A"},"url":{"en":"/logic/laws/identity-law/","es":"/es/logica/leyes/ley-de-identidad/"},"engineLaw":"identity","names":{"en":"Identity","es":"Elemento neutro","fr":"Élément neutre","de":"Neutralitätsgesetz"},"example":"A AND TRUE = A; A OR FALSE = A","identities":[{"text":"A AND TRUE = A","sides":["A AND TRUE","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR FALSE = A","sides":["A OR FALSE","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"domination","title":{"en":"Null law (domination): A AND FALSE = FALSE, A OR TRUE = TRUE","es":"Ley de dominación (elemento dominante): A·0 = 0, A+1 = 1"},"url":{"en":"/logic/laws/null-law/","es":"/es/logica/leyes/ley-de-dominacion/"},"engineLaw":"domination","names":{"en":"Domination","es":"Elemento dominante","fr":"Élément absorbant","de":"Dominanzgesetz"},"example":"A AND FALSE = FALSE; A OR TRUE = TRUE","identities":[{"text":"A AND FALSE = FALSE","sides":["A AND FALSE","FALSE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR TRUE = TRUE","sides":["A OR TRUE","TRUE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"idempotence","title":{"en":"Idempotent law: A AND A = A, A OR A = A","es":"Ley de idempotencia: A·A = A, A+A = A"},"url":{"en":"/logic/laws/idempotent-law/","es":"/es/logica/leyes/ley-de-idempotencia/"},"engineLaw":"idempotence","names":{"en":"Idempotence","es":"Idempotencia","fr":"Idempotence","de":"Idempotenzgesetz"},"example":"A AND A = A; A OR A = A","identities":[{"text":"A AND A = A","sides":["A AND A","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR A = A","sides":["A OR A","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"complement","title":{"en":"Complement law: A AND NOT A = FALSE, A OR NOT A = TRUE","es":"Ley del complemento: A·A' = 0, A+A' = 1"},"url":{"en":"/logic/laws/complement-law/","es":"/es/logica/leyes/ley-del-complemento/"},"engineLaw":"complement","names":{"en":"Complement","es":"Complemento","fr":"Complémentarité","de":"Komplementärgesetz"},"example":"A AND NOT A = FALSE; A OR NOT A = TRUE","identities":[{"text":"A AND NOT A = FALSE","sides":["A AND NOT A","FALSE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR NOT A = TRUE","sides":["A OR NOT A","TRUE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"absorption","title":{"en":"Absorption law: A OR (A AND B) = A, with proof","es":"Ley de absorción: A + A·B = A, con demostración"},"url":{"en":"/logic/laws/absorption-law/","es":"/es/logica/leyes/ley-de-absorcion/"},"engineLaw":"absorption","names":{"en":"Absorption","es":"Absorción","fr":"Absorption","de":"Absorptionsgesetz"},"example":"A AND (A OR B) = A; A OR (A AND B) = A","identities":[{"text":"A AND (A OR B) = A","sides":["A AND (A OR B)","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR (A AND B) = A","sides":["A OR (A AND B)","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"double-negation","title":{"en":"Double negation (involution): NOT NOT A = A","es":"Doble negación (involución): (A')' = A"},"url":{"en":"/logic/laws/double-negation/","es":"/es/logica/leyes/doble-negacion/"},"engineLaw":"double-negation","names":{"en":"Double negation","es":"Doble negación","fr":"Double négation","de":"Doppelte Negation"},"example":"NOT NOT A = A","identities":[{"text":"NOT NOT A = A","sides":["NOT NOT A","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"de-morgan","title":{"en":"De Morgan's laws: NOT (A AND B) = NOT A OR NOT B, with proof and examples","es":"Leyes de De Morgan: (A·B)' = A' + B', con demostración y ejemplos"},"url":{"en":"/logic/laws/de-morgan/","es":"/es/logica/leyes/leyes-de-de-morgan/"},"engineLaw":"de-morgan","names":{"en":"De Morgan's law","es":"Ley de De Morgan","fr":"Loi de De Morgan","de":"De-Morgan-Gesetz"},"example":"NOT (A AND B) = NOT A OR NOT B; NOT (A OR B) = NOT A AND NOT B","identities":[{"text":"NOT (A AND B) = NOT A OR NOT B","sides":["NOT (A AND B)","NOT A OR NOT B"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"NOT (A OR B) = NOT A AND NOT B","sides":["NOT (A OR B)","NOT A AND NOT B"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"constant-negation","title":{"en":"Negating constants: NOT TRUE = FALSE, NOT FALSE = TRUE","es":"Negación de constantes: 1' = 0, 0' = 1"},"url":{"en":"/logic/laws/negating-constants/","es":"/es/logica/leyes/negacion-de-constantes/"},"engineLaw":"constant-negation","names":{"en":"Negating a constant","es":"Negación de una constante","fr":"Négation d'une constante","de":"Negation einer Konstante"},"example":"NOT TRUE = FALSE; NOT FALSE = TRUE","identities":[{"text":"NOT TRUE = FALSE","sides":["NOT TRUE","FALSE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":1,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"NOT FALSE = TRUE","sides":["NOT FALSE","TRUE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":1,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"xor-identity","title":{"en":"XOR identities: A XOR FALSE = A, A XOR TRUE = NOT A, A XOR A = FALSE","es":"Identidades de XOR: A ⊕ 0 = A, A ⊕ 1 = A', A ⊕ A = 0"},"url":{"en":"/logic/laws/xor-identities/","es":"/es/logica/leyes/identidades-de-xor/"},"engineLaw":"xor-identity","names":{"en":"XOR identities","es":"Identidades de XOR","fr":"Identités du XOR","de":"XOR-Identitäten"},"example":"A XOR FALSE = A; A XOR TRUE = NOT A; A XOR A = FALSE","identities":[{"text":"A XOR FALSE = A","sides":["A XOR FALSE","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A XOR TRUE = NOT A","sides":["A XOR TRUE","NOT A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A XOR A = FALSE","sides":["A XOR A","FALSE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"associativity","title":{"en":"Associative law: (A AND B) AND C = A AND (B AND C)","es":"Ley asociativa: (A·B)·C = A·(B·C)"},"url":{"en":"/logic/laws/associative-law/","es":"/es/logica/leyes/ley-asociativa/"},"engineLaw":"associativity","names":{"en":"Associativity","es":"Asociatividad","fr":"Associativité","de":"Assoziativgesetz"},"example":"(A AND B) AND C = A AND (B AND C) = A AND B AND C","identities":[{"text":"(A AND B) AND C = A AND (B AND C) = A AND B AND C","sides":["(A AND B) AND C","A AND (B AND C)","A AND B AND C"],"verdicts":[{"a":"lhs","b":"mid1","verdict":"holds","summary":"lhs and mid1 agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"},{"a":"mid1","b":"rhs","verdict":"holds","summary":"mid1 and rhs agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"implication-elimination","title":{"en":"Implication elimination: A → B = NOT A OR B, and the →E rule","es":"Eliminación de la implicación: A → B = A' + B"},"url":{"en":"/logic/laws/implication-elimination/","es":"/es/logica/leyes/eliminacion-de-la-implicacion/"},"engineLaw":"implication-elimination","names":{"en":"Implication elimination","es":"Eliminación de la implicación","fr":"Élimination de l'implication","de":"Auflösung der Implikation"},"example":"A -> B = NOT A OR B","identities":[{"text":"A -> B = NOT A OR B","sides":["A -> B","NOT A OR B"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"biconditional-elimination","title":{"en":"Biconditional elimination: the A ↔ B rewrite and the ↔E rule","es":"Eliminación del bicondicional: A ↔ B = A·B + A'·B'"},"url":{"en":"/logic/laws/biconditional-elimination/","es":"/es/logica/leyes/eliminacion-del-bicondicional/"},"engineLaw":"biconditional-elimination","names":{"en":"Biconditional elimination","es":"Eliminación del bicondicional","fr":"Élimination du biconditionnel","de":"Auflösung des Bikonditionals"},"example":"A <-> B = (A AND B) OR (NOT A AND NOT B)","identities":[{"text":"A <-> B = (A AND B) OR (NOT A AND NOT B)","sides":["A <-> B","(A AND B) OR (NOT A AND NOT B)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"xor-elimination","title":{"en":"XOR elimination: A XOR B = (A AND NOT B) OR (NOT A AND B)","es":"Eliminación de XOR: A ⊕ B = A·B' + A'·B"},"url":{"en":"/logic/laws/xor-elimination/","es":"/es/logica/leyes/eliminacion-de-xor/"},"engineLaw":"xor-elimination","names":{"en":"XOR elimination","es":"Eliminación de XOR","fr":"Élimination du XOR","de":"Auflösung von XOR"},"example":"A XOR B = (A AND NOT B) OR (NOT A AND B)","identities":[{"text":"A XOR B = (A AND NOT B) OR (NOT A AND B)","sides":["A XOR B","(A AND NOT B) OR (NOT A AND B)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nand-elimination","title":{"en":"NAND elimination: NAND(A, B) = NOT (A AND B)","es":"Eliminación de NAND: NAND(A, B) = (A·B)'"},"url":{"en":"/logic/laws/nand-elimination/","es":"/es/logica/leyes/eliminacion-de-nand/"},"engineLaw":"nand-elimination","names":{"en":"NAND elimination","es":"Eliminación de NAND","fr":"Élimination du NAND","de":"Auflösung von NAND"},"example":"NAND(A, B) = NOT (A AND B)","identities":[{"text":"NAND(A, B) = NOT (A AND B)","sides":["NAND(A, B)","NOT (A AND B)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nor-elimination","title":{"en":"NOR elimination: NOR(A, B) = NOT (A OR B)","es":"Eliminación de NOR: NOR(A, B) = (A+B)'"},"url":{"en":"/logic/laws/nor-elimination/","es":"/es/logica/leyes/eliminacion-de-nor/"},"engineLaw":"nor-elimination","names":{"en":"NOR elimination","es":"Eliminación de NOR","fr":"Élimination du NOR","de":"Auflösung von NOR"},"example":"NOR(A, B) = NOT (A OR B)","identities":[{"text":"NOR(A, B) = NOT (A OR B)","sides":["NOR(A, B)","NOT (A OR B)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"xnor-elimination","title":{"en":"XNOR elimination: XNOR(A, B) = A ↔ B","es":"Eliminación de XNOR: XNOR(A, B) = A ↔ B"},"url":{"en":"/logic/laws/xnor-elimination/","es":"/es/logica/leyes/eliminacion-de-xnor/"},"engineLaw":"xnor-elimination","names":{"en":"XNOR elimination","es":"Eliminación de XNOR","fr":"Élimination du XNOR","de":"Auflösung von XNOR"},"example":"XNOR(A, B) = A <-> B","identities":[{"text":"XNOR(A, B) = A <-> B","sides":["XNOR(A, B)","A <-> B"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"distribution","title":{"en":"Distributive law: A AND (B OR C) = (A AND B) OR (A AND C), both forms","es":"Ley distributiva: A·(B+C) = A·B + A·C, ambas formas"},"url":{"en":"/logic/laws/distributive-law/","es":"/es/logica/leyes/ley-distributiva/"},"engineLaw":"distribution","names":{"en":"Distribution","es":"Distributividad","fr":"Distributivité","de":"Distributivgesetz"},"example":"A OR (B AND C) = (A OR B) AND (A OR C)","identities":[{"text":"A OR (B AND C) = (A OR B) AND (A OR C)","sides":["A OR (B AND C)","(A OR B) AND (A OR C)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"minterm-expansion","title":{"en":"Minterm expansion: the canonical sum of products (Σm)","es":"Desarrollo en mintérminos: la suma canónica de productos (Σm)"},"url":{"en":"/logic/laws/minterm-expansion/","es":"/es/logica/leyes/desarrollo-en-minterminos/"},"engineLaw":"minterm-expansion","names":{"en":"Minterm expansion","es":"Desarrollo en mintérminos","fr":"Développement en mintermes","de":"Minterm-Entwicklung"},"example":"A XOR B = Σm(A, B; 1, 2) = (NOT A AND B) OR (A AND NOT B)","identities":[{"text":"A XOR B = Σm(A, B; 1, 2) = (NOT A AND B) OR (A AND NOT B)","sides":["A XOR B","Σm(A, B; 1, 2)","(NOT A AND B) OR (A AND NOT B)"],"verdicts":[{"a":"lhs","b":"mid1","verdict":"holds","summary":"lhs and mid1 agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"},{"a":"mid1","b":"rhs","verdict":"holds","summary":"mid1 and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"maxterm-expansion","title":{"en":"Maxterm expansion: the canonical product of sums (ΠM)","es":"Desarrollo en maxtérminos: el producto canónico de sumas (ΠM)"},"url":{"en":"/logic/laws/maxterm-expansion/","es":"/es/logica/leyes/desarrollo-en-maxterminos/"},"engineLaw":"maxterm-expansion","names":{"en":"Maxterm expansion","es":"Desarrollo en maxtérminos","fr":"Développement en maxtermes","de":"Maxterm-Entwicklung"},"example":"A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B)","identities":[{"text":"A AND B = ΠM(A, B; 0, 1, 2) = (A OR B) AND (A OR NOT B) AND (NOT A OR B)","sides":["A AND B","ΠM(A, B; 0, 1, 2)","(A OR B) AND (A OR NOT B) AND (NOT A OR B)"],"verdicts":[{"a":"lhs","b":"mid1","verdict":"holds","summary":"lhs and mid1 agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"},{"a":"mid1","b":"rhs","verdict":"holds","summary":"mid1 and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"subcircuit-expansion","title":{"en":"Subcircuit expansion (Tangibool rewriting step)","es":"Expansión de un subcircuito (paso de reescritura de Tangibool)"},"url":{"en":"/logic/laws/subcircuit-expansion/","es":"/es/logica/leyes/expansion-de-subcircuito/"},"engineLaw":"subcircuit-expansion","names":{"en":"Subcircuit expansion","es":"Expansión de un subcircuito","fr":"Expansion d'un sous-circuit","de":"Expansion einer Teilschaltung"},"example":"maj(A, B, C) = (A AND B) OR (A AND C) OR (B AND C)","identities":[]},{"key":"reference-expansion","title":{"en":"Named-output reference expansion (Tangibool rewriting step)","es":"Expansión de una referencia a una salida con nombre (Tangibool)"},"url":{"en":"/logic/laws/reference-expansion/","es":"/es/logica/leyes/expansion-de-referencia/"},"engineLaw":"reference-expansion","names":{"en":"Reference expansion","es":"Expansión de una referencia","fr":"Expansion d'une référence","de":"Expansion eines Verweises"},"example":"eligible := A OR B; eligible AND C = (A OR B) AND C","identities":[{"text":"eligible := A OR B","sides":["eligible AND C","(A OR B) AND C"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"eligible AND C = (A OR B) AND C","sides":["eligible AND C","(A OR B) AND C"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"count-expansion","title":{"en":"Counting-constraint expansion: AT_LEAST(2; A, B, C) = (A AND B) OR (A AND C) OR (B AND C)","es":"Desarrollo de una restricción de recuento: AT_LEAST(2; A, B, C) = (A AND B) OR (A AND C) OR (B AND C)"},"url":{"en":"/logic/laws/counting-constraint-expansion/","es":"/es/logica/leyes/desarrollo-de-una-restriccion-de-recuento/"},"engineLaw":"count-expansion","names":{"en":"Counting-constraint expansion","es":"Desarrollo de una restricción de recuento","fr":"Développement d'une contrainte de comptage","de":"Entfaltung einer Zählbedingung"},"example":"AT_LEAST(2; A, B, C) = (A AND B) OR (A AND C) OR (B AND C)","identities":[{"text":"AT_LEAST(2; A, B, C) = (A AND B) OR (A AND C) OR (B AND C)","sides":["AT_LEAST(2; A, B, C)","(A AND B) OR (A AND C) OR (B AND C)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nand-not","title":{"en":"NOT from NAND: NOT A = NAND(A, A)","es":"NOT con NAND: A' = NAND(A, A)"},"url":{"en":"/logic/laws/not-from-nand/","es":"/es/logica/leyes/not-con-nand/"},"engineLaw":"nand-not","names":{"en":"NOT as NAND","es":"NOT como NAND","fr":"NOT en NAND","de":"NOT als NAND"},"example":"NOT A = NAND(A, A)","identities":[{"text":"NOT A = NAND(A, A)","sides":["NOT A","NAND(A, A)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nand-and","title":{"en":"AND from NAND gates: A AND B = NAND(NAND(A, B), NAND(A, B))","es":"AND con compuertas NAND: A·B = NAND(NAND(A, B), NAND(A, B))"},"url":{"en":"/logic/laws/and-from-nand/","es":"/es/logica/leyes/and-con-nand/"},"engineLaw":"nand-and","names":{"en":"AND as NAND","es":"AND como NAND","fr":"AND en NAND","de":"AND als NAND"},"example":"A AND B = NAND(NAND(A, B), NAND(A, B))","identities":[{"text":"A AND B = NAND(NAND(A, B), NAND(A, B))","sides":["A AND B","NAND(NAND(A, B), NAND(A, B))"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nand-or","title":{"en":"OR from NAND gates: A OR B = NAND(NAND(A, A), NAND(B, B))","es":"OR con compuertas NAND: A + B = NAND(NAND(A, A), NAND(B, B))"},"url":{"en":"/logic/laws/or-from-nand/","es":"/es/logica/leyes/or-con-nand/"},"engineLaw":"nand-or","names":{"en":"OR as NAND","es":"OR como NAND","fr":"OR en NAND","de":"OR als NAND"},"example":"A OR B = NAND(NAND(A, A), NAND(B, B))","identities":[{"text":"A OR B = NAND(NAND(A, A), NAND(B, B))","sides":["A OR B","NAND(NAND(A, A), NAND(B, B))"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nor-not","title":{"en":"NOT from NOR: NOT A = NOR(A, A)","es":"NOT con NOR: A' = NOR(A, A)"},"url":{"en":"/logic/laws/not-from-nor/","es":"/es/logica/leyes/not-con-nor/"},"engineLaw":"nor-not","names":{"en":"NOT as NOR","es":"NOT como NOR","fr":"NOT en NOR","de":"NOT als NOR"},"example":"NOT A = NOR(A, A)","identities":[{"text":"NOT A = NOR(A, A)","sides":["NOT A","NOR(A, A)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nor-or","title":{"en":"OR from NOR gates: A OR B = NOR(NOR(A, B), NOR(A, B))","es":"OR con compuertas NOR: A + B = NOR(NOR(A, B), NOR(A, B))"},"url":{"en":"/logic/laws/or-from-nor/","es":"/es/logica/leyes/or-con-nor/"},"engineLaw":"nor-or","names":{"en":"OR as NOR","es":"OR como NOR","fr":"OR en NOR","de":"OR als NOR"},"example":"A OR B = NOR(NOR(A, B), NOR(A, B))","identities":[{"text":"A OR B = NOR(NOR(A, B), NOR(A, B))","sides":["A OR B","NOR(NOR(A, B), NOR(A, B))"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"nor-and","title":{"en":"AND from NOR gates: A AND B = NOR(NOR(A, A), NOR(B, B))","es":"AND con compuertas NOR: A·B = NOR(NOR(A, A), NOR(B, B))"},"url":{"en":"/logic/laws/and-from-nor/","es":"/es/logica/leyes/and-con-nor/"},"engineLaw":"nor-and","names":{"en":"AND as NOR","es":"AND como NOR","fr":"AND en NOR","de":"AND als NOR"},"example":"A AND B = NOR(NOR(A, A), NOR(B, B))","identities":[{"text":"A AND B = NOR(NOR(A, A), NOR(B, B))","sides":["A AND B","NOR(NOR(A, A), NOR(B, B))"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"kmap-grouping","title":{"en":"Karnaugh map grouping rule: adjacent cells drop the variable that changes","es":"Regla de agrupación en el mapa de Karnaugh: las celdas adyacentes eliminan la variable que cambia"},"url":{"en":"/logic/laws/karnaugh-map-grouping/","es":"/es/logica/leyes/agrupacion-en-el-mapa-de-karnaugh/"},"engineLaw":"kmap-grouping","names":{"en":"Karnaugh-map grouping","es":"Agrupación en el mapa de Karnaugh","fr":"Regroupement dans un tableau de Karnaugh","de":"Gruppierung im KV-Diagramm"},"example":"(A AND B) OR (A AND NOT B) = A","identities":[{"text":"(A AND B) OR (A AND NOT B) = A","sides":["(A AND B) OR (A AND NOT B)","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"commutative","title":{"en":"Commutative law: A AND B = B AND A, A OR B = B OR A","es":"Ley conmutativa: A·B = B·A, A+B = B+A"},"url":{"en":"/logic/laws/commutative-law/","es":"/es/logica/leyes/ley-conmutativa/"},"engineLaw":null,"names":null,"example":"A AND B = B AND A; A OR B = B OR A","identities":[{"text":"A AND B = B AND A","sides":["A AND B","B AND A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR B = B OR A","sides":["A OR B","B OR A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"consensus","title":{"en":"Consensus theorem: AB + A'C + BC = AB + A'C, with proof","es":"Teorema del consenso: AB + A'C + BC = AB + A'C, con demostración"},"url":{"en":"/logic/laws/consensus-theorem/","es":"/es/logica/leyes/teorema-del-consenso/"},"engineLaw":null,"names":null,"example":"(A AND B) OR (NOT A AND C) OR (B AND C) = (A AND B) OR (NOT A AND C)","identities":[{"text":"(A AND B) OR (NOT A AND C) OR (B AND C) = (A AND B) OR (NOT A AND C)","sides":["(A AND B) OR (NOT A AND C) OR (B AND C)","(A AND B) OR (NOT A AND C)"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":8,"method":"Exhaustively checked and solver cross-checked"}]}]},{"key":"huntington","title":{"en":"Huntington's postulates of Boolean algebra, with their duals","es":"Postulados de Huntington: los axiomas del álgebra de Boole"},"url":{"en":"/logic/laws/huntington-postulates/","es":"/es/logica/leyes/postulados-de-huntington/"},"engineLaw":null,"names":null,"example":"A OR (A AND B) = A; A AND (A OR B) = A; A OR NOT A = TRUE; A AND NOT A = FALSE","identities":[{"text":"A OR (A AND B) = A","sides":["A OR (A AND B)","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A AND (A OR B) = A","sides":["A AND (A OR B)","A"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":4,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A OR NOT A = TRUE","sides":["A OR NOT A","TRUE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]},{"text":"A AND NOT A = FALSE","sides":["A AND NOT A","FALSE"],"verdicts":[{"a":"lhs","b":"rhs","verdict":"holds","summary":"lhs and rhs agree on every assignment.","rows":2,"method":"Exhaustively checked and solver cross-checked"}]}]}],"operators":[{"key":"not","title":{"en":"NOT gate (inverter): truth table, symbol and the NOT operator","es":"Compuerta NOT (inversor): tabla de verdad, símbolo y el operador NOT"},"url":{"en":"/logic/operators/not/","es":"/es/logica/operadores/not/"},"tables":[{"text":"NOT A","notations":{"words":"NOT A","programming":"!A","mathematical":"¬A","algebra":"A'"},"truthTable":{"variables":["A"],"rowCount":2,"inputs":[[false],[true]],"columns":[{"label":"f","kind":"output","values":[true,false]}],"inScope":null,"differing":[]}}]},{"key":"and","title":{"en":"AND gate: truth table for 2, 3 and 4 inputs, symbol and expression","es":"Compuerta AND (puerta Y): tabla de verdad de 2, 3 y 4 entradas, símbolo y expresión"},"url":{"en":"/logic/operators/and/","es":"/es/logica/operadores/and/"},"tables":[{"text":"A AND B","notations":{"words":"A AND B","programming":"A && B","mathematical":"A ∧ B","algebra":"A·B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[false,false,false,true]}],"inScope":null,"differing":[]}},{"text":"A AND B AND C","notations":{"words":"A AND B AND C","programming":"A && B && C","mathematical":"A ∧ B ∧ C","algebra":"A·B·C"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,false,false,false,false,false,false,true]}],"inScope":null,"differing":[]}},{"text":"A AND B AND C AND D","notations":{"words":"A AND B AND C AND D","programming":"A && B && C && D","mathematical":"A ∧ B ∧ C ∧ D","algebra":"A·B·C·D"},"truthTable":{"variables":["A","B","C","D"],"rowCount":16,"inputs":[[false,false,false,false],[false,false,false,true],[false,false,true,false],[false,false,true,true],[false,true,false,false],[false,true,false,true],[false,true,true,false],[false,true,true,true],[true,false,false,false],[true,false,false,true],[true,false,true,false],[true,false,true,true],[true,true,false,false],[true,true,false,true],[true,true,true,false],[true,true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true]}],"inScope":null,"differing":[]}}]},{"key":"or","title":{"en":"OR gate: truth table for 2, 3 and 4 inputs, inclusive or explained","es":"Compuerta OR (puerta O): tabla de verdad de 2, 3 y 4 entradas"},"url":{"en":"/logic/operators/or/","es":"/es/logica/operadores/or/"},"tables":[{"text":"A OR B","notations":{"words":"A OR B","programming":"A || B","mathematical":"A ∨ B","algebra":"A + B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,true]}],"inScope":null,"differing":[]}},{"text":"A OR B OR C","notations":{"words":"A OR B OR C","programming":"A || B || C","mathematical":"A ∨ B ∨ C","algebra":"A + B + C"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,true,true,true,true,true]}],"inScope":null,"differing":[]}},{"text":"A OR B OR C OR D","notations":{"words":"A OR B OR C OR D","programming":"A || B || C || D","mathematical":"A ∨ B ∨ C ∨ D","algebra":"A + B + C + D"},"truthTable":{"variables":["A","B","C","D"],"rowCount":16,"inputs":[[false,false,false,false],[false,false,false,true],[false,false,true,false],[false,false,true,true],[false,true,false,false],[false,true,false,true],[false,true,true,false],[false,true,true,true],[true,false,false,false],[true,false,false,true],[true,false,true,false],[true,false,true,true],[true,true,false,false],[true,true,false,true],[true,true,true,false],[true,true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true]}],"inScope":null,"differing":[]}}]},{"key":"xor","title":{"en":"XOR gate: truth table for 2, 3 and 4 inputs (odd parity, not “exactly one”)","es":"Compuerta XOR: tabla de verdad de 2, 3 y 4 entradas (paridad impar)"},"url":{"en":"/logic/operators/xor/","es":"/es/logica/operadores/xor/"},"tables":[{"text":"A XOR B","notations":{"words":"A XOR B","programming":"A XOR B","mathematical":"A ⊕ B","algebra":"A ⊕ B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,false]}],"inScope":null,"differing":[]}},{"text":"A XOR B XOR C","notations":{"words":"A XOR B XOR C","programming":"A XOR B XOR C","mathematical":"A ⊕ B ⊕ C","algebra":"A ⊕ B ⊕ C"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,false,true,false,false,true]}],"inScope":null,"differing":[]}},{"text":"A XOR B XOR C XOR D","notations":{"words":"A XOR B XOR C XOR D","programming":"A XOR B XOR C XOR D","mathematical":"A ⊕ B ⊕ C ⊕ D","algebra":"A ⊕ B ⊕ C ⊕ D"},"truthTable":{"variables":["A","B","C","D"],"rowCount":16,"inputs":[[false,false,false,false],[false,false,false,true],[false,false,true,false],[false,false,true,true],[false,true,false,false],[false,true,false,true],[false,true,true,false],[false,true,true,true],[true,false,false,false],[true,false,false,true],[true,false,true,false],[true,false,true,true],[true,true,false,false],[true,true,false,true],[true,true,true,false],[true,true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,false,true,false,false,true,true,false,false,true,false,true,true,false]}],"inScope":null,"differing":[]}}]},{"key":"nand","title":{"en":"NAND gate: truth table for 2, 3 and 4 inputs, universal gate","es":"Compuerta NAND: tabla de verdad de 2, 3 y 4 entradas, compuerta universal"},"url":{"en":"/logic/operators/nand/","es":"/es/logica/operadores/nand/"},"tables":[{"text":"NAND(A, B)","notations":{"words":"NAND(A, B)","programming":"NAND(A, B)","mathematical":"NAND(A, B)","algebra":"NAND(A, B)"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,true,true,false]}],"inScope":null,"differing":[]}},{"text":"NOT (A AND B AND C)","notations":{"words":"NOT (A AND B AND C)","programming":"!(A && B && C)","mathematical":"¬(A ∧ B ∧ C)","algebra":"(A·B·C)'"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[true,true,true,true,true,true,true,false]}],"inScope":null,"differing":[]}},{"text":"NOT (A AND B AND C AND D)","notations":{"words":"NOT (A AND B AND C AND D)","programming":"!(A && B && C && D)","mathematical":"¬(A ∧ B ∧ C ∧ D)","algebra":"(A·B·C·D)'"},"truthTable":{"variables":["A","B","C","D"],"rowCount":16,"inputs":[[false,false,false,false],[false,false,false,true],[false,false,true,false],[false,false,true,true],[false,true,false,false],[false,true,false,true],[false,true,true,false],[false,true,true,true],[true,false,false,false],[true,false,false,true],[true,false,true,false],[true,false,true,true],[true,true,false,false],[true,true,false,true],[true,true,true,false],[true,true,true,true]],"columns":[{"label":"f","kind":"output","values":[true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false]}],"inScope":null,"differing":[]}}]},{"key":"nor","title":{"en":"NOR gate: truth table for 2, 3 and 4 inputs, universal gate","es":"Compuerta NOR: tabla de verdad de 2, 3 y 4 entradas, compuerta universal"},"url":{"en":"/logic/operators/nor/","es":"/es/logica/operadores/nor/"},"tables":[{"text":"NOR(A, B)","notations":{"words":"NOR(A, B)","programming":"NOR(A, B)","mathematical":"NOR(A, B)","algebra":"NOR(A, B)"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,false]}],"inScope":null,"differing":[]}},{"text":"NOT (A OR B OR C)","notations":{"words":"NOT (A OR B OR C)","programming":"!(A || B || C)","mathematical":"¬(A ∨ B ∨ C)","algebra":"(A + B + C)'"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,false,false,false,false,false]}],"inScope":null,"differing":[]}},{"text":"NOT (A OR B OR C OR D)","notations":{"words":"NOT (A OR B OR C OR D)","programming":"!(A || B || C || D)","mathematical":"¬(A ∨ B ∨ C ∨ D)","algebra":"(A + B + C + D)'"},"truthTable":{"variables":["A","B","C","D"],"rowCount":16,"inputs":[[false,false,false,false],[false,false,false,true],[false,false,true,false],[false,false,true,true],[false,true,false,false],[false,true,false,true],[false,true,true,false],[false,true,true,true],[true,false,false,false],[true,false,false,true],[true,false,true,false],[true,false,true,true],[true,true,false,false],[true,true,false,true],[true,true,true,false],[true,true,true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}],"inScope":null,"differing":[]}}]},{"key":"xnor","title":{"en":"XNOR gate: truth table, symbol and equivalence with the biconditional","es":"Compuerta XNOR: tabla de verdad, símbolo y equivalencia con el bicondicional"},"url":{"en":"/logic/operators/xnor/","es":"/es/logica/operadores/xnor/"},"tables":[{"text":"XNOR(A, B)","notations":{"words":"XNOR(A, B)","programming":"XNOR(A, B)","mathematical":"XNOR(A, B)","algebra":"XNOR(A, B)"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,true]}],"inScope":null,"differing":[]}},{"text":"A <-> B","notations":{"words":"A <-> B","programming":"A <-> B","mathematical":"A ↔ B","algebra":"A ↔ B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,true]}],"inScope":null,"differing":[]}}]},{"key":"implication","title":{"en":"Implication (→, if–then): truth table and why a false antecedent makes it true","es":"Implicación (→, condicional): tabla de verdad y por qué un antecedente falso la hace verdadera"},"url":{"en":"/logic/operators/implication/","es":"/es/logica/operadores/implicacion/"},"tables":[{"text":"A -> B","notations":{"words":"A -> B","programming":"A -> B","mathematical":"A → B","algebra":"A → B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,true,false,true]}],"inScope":null,"differing":[]}},{"text":"NOT A OR B","notations":{"words":"NOT A OR B","programming":"!A || B","mathematical":"¬A ∨ B","algebra":"A' + B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,true,false,true]}],"inScope":null,"differing":[]}}]},{"key":"biconditional","title":{"en":"Biconditional (↔, if and only if): truth table and examples","es":"Bicondicional (↔, si y solo si): tabla de verdad y ejemplos"},"url":{"en":"/logic/operators/biconditional/","es":"/es/logica/operadores/bicondicional/"},"tables":[{"text":"A <-> B","notations":{"words":"A <-> B","programming":"A <-> B","mathematical":"A ↔ B","algebra":"A ↔ B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,true]}],"inScope":null,"differing":[]}},{"text":"(A AND B) OR (NOT A AND NOT B)","notations":{"words":"(A AND B) OR (NOT A AND NOT B)","programming":"(A && B) || (!A && !B)","mathematical":"(A ∧ B) ∨ (¬A ∧ ¬B)","algebra":"(A·B) + (A'·B')"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[true,false,false,true]}],"inScope":null,"differing":[]}}]},{"key":"constants","title":{"en":"Is 1 true or false? 1 = TRUE, 0 = FALSE in Boolean logic","es":"VERDADERO y FALSO (1 y 0): las constantes de la lógica booleana"},"url":{"en":"/logic/operators/constants/","es":"/es/logica/operadores/constantes/"},"tables":[{"text":"A AND TRUE","notations":{"words":"A AND TRUE","programming":"A && TRUE","mathematical":"A ∧ 1","algebra":"A·1"},"truthTable":{"variables":["A"],"rowCount":2,"inputs":[[false],[true]],"columns":[{"label":"f","kind":"output","values":[false,true]}],"inScope":null,"differing":[]}},{"text":"A OR TRUE","notations":{"words":"A OR TRUE","programming":"A || TRUE","mathematical":"A ∨ 1","algebra":"A + 1"},"truthTable":{"variables":["A"],"rowCount":2,"inputs":[[false],[true]],"columns":[{"label":"f","kind":"output","values":[true,true]}],"inScope":null,"differing":[]}}]},{"key":"precedence","title":{"en":"Operator precedence in Boolean logic: NOT, then AND, then XOR, then OR","es":"Precedencia de operadores en lógica booleana: NOT, luego AND, luego XOR, luego OR"},"url":{"en":"/logic/operators/precedence/","es":"/es/logica/operadores/precedencia/"},"tables":[{"text":"A OR B AND C","notations":{"words":"A OR B AND C","programming":"A || B && C","mathematical":"A ∨ B ∧ C","algebra":"A + B·C"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,false,false,true,true,true,true,true]}],"inScope":null,"differing":[]}},{"text":"NOT A AND B","notations":{"words":"NOT A AND B","programming":"!A && B","mathematical":"¬A ∧ B","algebra":"A'·B"},"truthTable":{"variables":["A","B"],"rowCount":4,"inputs":[[false,false],[false,true],[true,false],[true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,false,false]}],"inScope":null,"differing":[]}},{"text":"A XOR B OR C","notations":{"words":"A XOR B OR C","programming":"A XOR B || C","mathematical":"A ⊕ B ∨ C","algebra":"A ⊕ B + C"},"truthTable":{"variables":["A","B","C"],"rowCount":8,"inputs":[[false,false,false],[false,false,true],[false,true,false],[false,true,true],[true,false,false],[true,false,true],[true,true,false],[true,true,true]],"columns":[{"label":"f","kind":"output","values":[false,true,true,true,true,true,false,true]}],"inScope":null,"differing":[]}}]}],"spellings":{"accepted":[{"op":"not","spellings":["NOT","!","¬","a'","a′"],"printed":{"words":"NOT a","programming":"!a","mathematical":"¬a","algebra":"a'"}},{"op":"and","spellings":["AND","&&","∧","·","⋅"],"printed":{"words":"a AND b","programming":"a && b","mathematical":"a ∧ b","algebra":"a·b"}},{"op":"or","spellings":["OR","||","∨","+"],"printed":{"words":"a OR b","programming":"a || b","mathematical":"a ∨ b","algebra":"a + b"}},{"op":"xor","spellings":["XOR","⊕"],"printed":{"words":"a XOR b","programming":"a XOR b","mathematical":"a ⊕ b","algebra":"a ⊕ b"}},{"op":"implies","spellings":["->","→"],"printed":{"words":"a -> b","programming":"a -> b","mathematical":"a → b","algebra":"a → b"}},{"op":"iff","spellings":["<->","↔"],"printed":{"words":"a <-> b","programming":"a <-> b","mathematical":"a ↔ b","algebra":"a ↔ b"}},{"op":"nand","spellings":["NAND(a, b)"],"printed":{"words":"NAND(a, b)","programming":"NAND(a, b)","mathematical":"NAND(a, b)","algebra":"NAND(a, b)"}},{"op":"nor","spellings":["NOR(a, b)"],"printed":{"words":"NOR(a, b)","programming":"NOR(a, b)","mathematical":"NOR(a, b)","algebra":"NOR(a, b)"}},{"op":"xnor","spellings":["XNOR(a, b)"],"printed":{"words":"XNOR(a, b)","programming":"XNOR(a, b)","mathematical":"XNOR(a, b)","algebra":"XNOR(a, b)"}},{"op":"minterms","spellings":["Σm(a, b; 1, 3)","∑m(…)","minterms(…)"],"printed":{"words":"Σm(a, b; 1, 3)","programming":"Σm(a, b; 1, 3)","mathematical":"Σm(a, b; 1, 3)","algebra":"Σm(a, b; 1, 3)"}},{"op":"maxterms","spellings":["ΠM(a, b; 0)","∏M(…)","maxterms(…)"],"printed":{"words":"ΠM(a, b; 0)","programming":"ΠM(a, b; 0)","mathematical":"ΠM(a, b; 0)","algebra":"ΠM(a, b; 0)"}},{"op":"constants","spellings":["TRUE","FALSE","1","0"],"printed":{"words":"TRUE / FALSE","programming":"TRUE / FALSE","mathematical":"1 / 0","algebra":"1 / 0"}}],"rejected":[{"key":"equals","input":"A = B","pitfall":"equals-is-not-an-operator","status":"invalid","code":"unsupported-operator","message":"`=` is not an expression operator. Use `<->` when both sides must have the same value; compare whole formulas in the Compare workbench. Output definitions use `:=`.","repairs":["Replace with <->"]},{"key":"double-equals","input":"A == B","pitfall":"double-equals","status":"invalid","code":"unsupported-operator","message":"`==` is not an expression operator. Use `<->` when both sides must have the same value, or the Compare workbench to compare two formulas.","repairs":["Replace with <->"]},{"key":"not-equal","input":"A != B","pitfall":"not-equal-is-xor","status":"invalid","code":"unsupported-operator","message":"`!=` is not an expression operator. Use `XOR` when the two sides must differ.","repairs":["Replace with XOR"]},{"key":"fat-arrow","input":"A => B","pitfall":"arrow-variants","status":"invalid","code":"unsupported-operator","message":"`=>` is not a supported operator. Use `->` for implication.","repairs":["Replace with ->"]},{"key":"fat-iff","input":"A <=> B","pitfall":"arrow-variants","status":"invalid","code":"unsupported-operator","message":"`<=>` is not a supported operator. Use `<->` for a biconditional.","repairs":["Replace with <->"]},{"key":"tilde","input":"~A","pitfall":"tilde-not","status":"invalid","code":"unsupported-operator","message":"`~` is not a supported operator. Use `NOT`, `!`, or `¬` for negation.","repairs":["Replace with NOT"]},{"key":"ampersand","input":"A & B","pitfall":"single-ampersand","status":"invalid","code":"unsupported-operator","message":"A single `&` is not supported. Use `AND` or `&&`.","repairs":["Replace with AND","Replace with &&"]},{"key":"pipe","input":"A | B","pitfall":"single-ampersand","status":"invalid","code":"unsupported-operator","message":"A single `|` is not supported. Use `OR` or `||`.","repairs":["Replace with OR","Replace with ||"]},{"key":"caret","input":"A ^ B","pitfall":"caret-is-xor","status":"invalid","code":"unsupported-operator","message":"`^` is not supported (it is bitwise in many languages). Use `XOR` or `⊕`.","repairs":["Replace with XOR"]},{"key":"star","input":"A * B","pitfall":null,"status":"invalid","code":"unsupported-operator","message":"`*` is not supported. Use `AND`, `&&`, `∧`, or the algebra product `·`.","repairs":["Replace with AND","Replace with ·"]},{"key":"infix-nand","input":"A NAND B","pitfall":null,"status":"invalid","code":"infix-function","message":"NAND uses function notation, e.g. NAND(A, B).","repairs":["Rewrite as NAND(A, B)"]},{"key":"juxtaposition","input":"A B","pitfall":"implicit-multiplication","status":"invalid","code":"missing-operator","message":"Missing operator between `A` and `B`. Implicit multiplication is not supported — write the operator explicitly.","repairs":["Insert AND","Insert OR"]},{"key":"python-not-equals","input":"not A == B","pitfall":"precedence-across-languages","status":"invalid","code":"unsupported-operator","message":"`==` is not an expression operator. Use `<->` when both sides must have the same value, or the Compare workbench to compare two formulas.","repairs":["Replace with <->"]}]},"examples":[{"key":"entry-rule","title":{"en":"Entry rule: (member OR invited) AND NOT banned, checked every way","es":"Regla de entrada: (socio OR invitado) AND NOT vetado, comprobada de todas las formas"},"url":{"en":"/logic/examples/entry-rule/","es":"/es/logica/ejemplos/regla-de-entrada/"},"mode":"decision","formulas":[{"name":"allow_entry","role":"output","text":"(member OR invited) AND NOT banned"}],"variables":["member","invited","banned"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"allow_entry is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"member":false,"invited":false,"banned":false},"free":[],"values":[{"label":"allow_entry","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"allow_entry is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"member":false,"invited":true,"banned":false},"free":[],"values":[{"label":"allow_entry","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"allow_entry can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"member":false,"invited":true,"banned":false},"free":[],"values":[{"label":"allow_entry","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(member OR invited) AND NOT banned","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(member OR invited) AND NOT banned","termCount":2,"literalCount":3,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(member AND NOT banned) OR (invited AND NOT banned)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]}}},{"key":"entry-rule-slip","title":{"en":"Entry rule slip: member OR (invited AND NOT banned) and the case that differs","es":"El error de la regla de entrada: socio OR (invitado AND NOT vetado) y el caso que difiere"},"url":{"en":"/logic/examples/entry-rule-slip/","es":"/es/logica/ejemplos/regla-de-entrada-error/"},"mode":"decision","formulas":[{"name":"intended","role":"output","text":"(member OR invited) AND NOT banned"},{"name":"slip","role":"output","text":"member OR (invited AND NOT banned)"}],"variables":["member","invited","banned"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"intended is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"member":false,"invited":false,"banned":false},"free":[],"values":[{"label":"intended","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"intended is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"member":false,"invited":true,"banned":false},"free":[],"values":[{"label":"intended","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"intended can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"member":false,"invited":true,"banned":false},"free":[],"values":[{"label":"intended","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"intended","b":"slip","kind":"equivalence","verdict":"violated","summary":"Not equivalent: on the counterexample intended and slip give different results.","method":"Exhaustively checked and solver cross-checked","rows":6,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"member":true,"invited":false,"banned":true},"free":[],"values":[{"label":"intended","value":false},{"label":"slip","value":true}],"replayed":true},"unknownReason":null},"simplification":{"resultText":"(member OR invited) AND NOT banned","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(member OR invited) AND NOT banned","termCount":2,"literalCount":3,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(member AND NOT banned) OR (invited AND NOT banned)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]}}},{"key":"majority-of-three","title":{"en":"Majority of three (2-out-of-3 voting): truth table, K-map and NAND form","es":"Mayoría de tres (votación 2 de 3): tabla de verdad, mapa de Karnaugh y forma NAND"},"url":{"en":"/logic/examples/majority-of-three/","es":"/es/logica/ejemplos/mayoria-de-tres/"},"mode":"decision","formulas":[{"name":"majority","role":"output","text":"(A AND B) OR (A AND C) OR (B AND C)"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"majority is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"majority","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"majority is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true,"C":true},"free":[],"values":[{"label":"majority","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"majority can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true,"C":true},"free":[],"values":[{"label":"majority","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(A AND B) OR (A AND C) OR (B AND C)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (A OR C) AND (B OR C)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":2},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B) OR (A AND C) OR (B AND C)","termCount":3,"literalCount":6,"reason":null,"laws":[]}}},{"key":"parity-of-three","title":{"en":"Odd parity of three inputs: A XOR B XOR C","es":"Paridad impar de tres entradas: A XOR B XOR C"},"url":{"en":"/logic/examples/parity-of-three/","es":"/es/logica/ejemplos/paridad-de-tres/"},"mode":"decision","formulas":[{"name":"odd_parity","role":"output","text":"A XOR B XOR C"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"odd_parity is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"odd_parity","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"odd_parity is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"odd_parity","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"odd_parity can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"odd_parity","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A XOR B XOR C","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR C) AND (A OR NOT B OR NOT C) AND (NOT A OR B OR NOT C) AND (NOT A OR NOT B OR C)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C) OR (A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"exactly-one-of-three","title":{"en":"Exactly one of three: why XOR is the wrong tool","es":"Exactamente uno de tres: por qué XOR no sirve"},"url":{"en":"/logic/examples/exactly-one-of-three/","es":"/es/logica/ejemplos/exactamente-uno-de-tres/"},"mode":"decision","formulas":[{"name":"exactly_one","role":"output","text":"(A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)"},{"name":"xor_chain","role":"output","text":"A XOR B XOR C"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"exactly_one is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"exactly_one","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"exactly_one is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"exactly_one","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"exactly_one can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"exactly_one","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"exactly_one","b":"xor_chain","kind":"equivalence","verdict":"violated","summary":"Not equivalent: on the counterexample exactly_one and xor_chain give different results.","method":"Exhaustively checked and solver cross-checked","rows":8,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":true,"C":true},"free":[],"values":[{"label":"exactly_one","value":false},{"label":"xor_chain","value":true}],"replayed":true},"unknownReason":null},"simplification":{"resultText":"(A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR C) AND (NOT A OR NOT B) AND (NOT A OR NOT C) AND (NOT B OR NOT C)","termCount":4,"literalCount":9,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":5},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":5},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)","termCount":3,"literalCount":9,"reason":null,"laws":[]}}},{"key":"at-most-one-of-three","title":{"en":"At most one of three: mutual exclusion","es":"Como máximo uno de tres: exclusión mutua"},"url":{"en":"/logic/examples/at-most-one-of-three/","es":"/es/logica/ejemplos/como-maximo-uno-de-tres/"},"mode":"decision","formulas":[{"name":"at_most_one","role":"output","text":"NOT ((A AND B) OR (A AND C) OR (B AND C))"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"at_most_one is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true,"C":true},"free":[],"values":[{"label":"at_most_one","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"at_most_one is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"at_most_one","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"at_most_one can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"at_most_one","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"NOT ((A AND B) OR (A AND C) OR (B AND C))","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(NOT A OR NOT B) AND (NOT A OR NOT C) AND (NOT B OR NOT C)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(NOT A AND NOT B) OR (NOT A AND NOT C) OR (NOT B AND NOT C)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":2},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1}]}}},{"key":"half-adder-sum","title":{"en":"Half adder sum: A XOR B","es":"Semisumador, suma: A XOR B"},"url":{"en":"/logic/examples/half-adder-sum/","es":"/es/logica/ejemplos/semisumador-suma/"},"mode":"decision","formulas":[{"name":"sum","role":"output","text":"A XOR B"},{"name":"carry","role":"output","text":"A AND B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"sum is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"sum","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"sum is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"sum","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"sum can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"sum","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A XOR B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (NOT A OR NOT B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND NOT B) OR (NOT A AND B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1}]}}},{"key":"half-adder-carry","title":{"en":"Half adder carry: A AND B","es":"Semisumador, acarreo: A AND B"},"url":{"en":"/logic/examples/half-adder-carry/","es":"/es/logica/ejemplos/semisumador-acarreo/"},"mode":"decision","formulas":[{"name":"carry","role":"output","text":"A AND B"},{"name":"sum","role":"output","text":"A XOR B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"carry is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"carry","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"carry is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":true},"free":[],"values":[{"label":"carry","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"carry can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":true,"B":true},"free":[],"values":[{"label":"carry","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A AND B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"A AND B","termCount":2,"literalCount":2,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"A AND B","termCount":1,"literalCount":2,"reason":null,"laws":[]}}},{"key":"full-adder-sum","title":{"en":"Full adder sum: A XOR B XOR Cin","es":"Sumador completo, suma: A XOR B XOR Cin"},"url":{"en":"/logic/examples/full-adder-sum/","es":"/es/logica/ejemplos/sumador-completo-suma/"},"mode":"decision","formulas":[{"name":"sum","role":"output","text":"A XOR B XOR Cin"}],"variables":["A","B","Cin"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"sum is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"Cin":false},"free":[],"values":[{"label":"sum","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"sum is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"Cin":true},"free":[],"values":[{"label":"sum","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"sum can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"Cin":true},"free":[],"values":[{"label":"sum","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A XOR B XOR Cin","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR Cin) AND (A OR NOT B OR NOT Cin) AND (NOT A OR B OR NOT Cin) AND (NOT A OR NOT B OR Cin)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND Cin) OR (A AND NOT B AND NOT Cin) OR (NOT A AND B AND NOT Cin) OR (NOT A AND NOT B AND Cin)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"full-adder-carry","title":{"en":"Full adder carry-out: (A AND B) OR (Cin AND (A XOR B))","es":"Sumador completo, acarreo de salida: (A AND B) OR (Cin AND (A XOR B))"},"url":{"en":"/logic/examples/full-adder-carry/","es":"/es/logica/ejemplos/sumador-completo-acarreo/"},"mode":"decision","formulas":[{"name":"carry_out","role":"output","text":"(A AND B) OR (Cin AND (A XOR B))"}],"variables":["A","B","Cin"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"carry_out is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"Cin":false},"free":[],"values":[{"label":"carry_out","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"carry_out is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true,"Cin":true},"free":[],"values":[{"label":"carry_out","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"carry_out can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true,"Cin":true},"free":[],"values":[{"label":"carry_out","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(A AND B) OR (Cin AND (A XOR B))","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (A OR Cin) AND (B OR Cin)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":2},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B) OR (A AND NOT B AND Cin) OR (NOT A AND B AND Cin)","termCount":3,"literalCount":8,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]}}},{"key":"mux-2-to-1","title":{"en":"2-to-1 multiplexer: (S AND B) OR (NOT S AND A)","es":"Multiplexor 2 a 1: (S AND B) OR (NOT S AND A)"},"url":{"en":"/logic/examples/mux-2-to-1/","es":"/es/logica/ejemplos/multiplexor-2-a-1/"},"mode":"decision","formulas":[{"name":"out","role":"output","text":"(S AND B) OR (NOT S AND A)"}],"variables":["S","B","A"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"out is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"S":false,"B":false,"A":false},"free":[],"values":[{"label":"out","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"out is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"S":false,"B":false,"A":true},"free":[],"values":[{"label":"out","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"out can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"S":false,"B":false,"A":true},"free":[],"values":[{"label":"out","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(S AND B) OR (NOT S AND A)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(S OR A) AND (NOT S OR B) AND (B OR A)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(S AND B) OR (NOT S AND A)","termCount":2,"literalCount":4,"reason":null,"laws":[]}}},{"key":"one-bit-comparator","title":{"en":"One-bit comparator: A greater than B","es":"Comparador de un bit: A mayor que B"},"url":{"en":"/logic/examples/one-bit-comparator/","es":"/es/logica/ejemplos/comparador-de-un-bit/"},"mode":"decision","formulas":[{"name":"a_greater","role":"output","text":"A AND NOT B"},{"name":"equal","role":"output","text":"XNOR(A, B)"},{"name":"b_greater","role":"output","text":"NOT A AND B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"a_greater is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"a_greater","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"a_greater is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"a_greater","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"a_greater can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"a_greater","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A AND NOT B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"A AND NOT B","termCount":2,"literalCount":2,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"A AND NOT B","termCount":1,"literalCount":2,"reason":null,"laws":[]}}},{"key":"two-bit-equality","title":{"en":"Two-bit equality: (A1 XNOR B1) AND (A0 XNOR B0)","es":"Igualdad de dos bits: (A1 XNOR B1) AND (A0 XNOR B0)"},"url":{"en":"/logic/examples/two-bit-equality/","es":"/es/logica/ejemplos/igualdad-de-dos-bits/"},"mode":"decision","formulas":[{"name":"equal","role":"output","text":"XNOR(A1, B1) AND XNOR(A0, B0)"}],"variables":["A1","B1","A0","B0"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"equal is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A1":false,"B1":false,"A0":false,"B0":true},"free":[],"values":[{"label":"equal","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"equal is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A1":false,"B1":false,"A0":false,"B0":false},"free":[],"values":[{"label":"equal","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"equal can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A1":false,"B1":false,"A0":false,"B0":false},"free":[],"values":[{"label":"equal","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"XNOR(A1, B1) AND XNOR(A0, B0)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A1 OR NOT B1) AND (NOT A1 OR B1) AND (A0 OR NOT B0) AND (NOT A0 OR B0)","termCount":4,"literalCount":8,"reason":null,"laws":[{"law":"xnor-elimination","lawName":{"en":"XNOR elimination","es":"Eliminación de XNOR"},"count":2}]},"dnf":{"status":"complete","method":"algebraic","text":"(A1 AND B1 AND A0 AND B0) OR (A1 AND B1 AND NOT A0 AND NOT B0) OR (NOT A1 AND NOT B1 AND A0 AND B0) OR (NOT A1 AND NOT B1 AND NOT A0 AND NOT B0)","termCount":4,"literalCount":16,"reason":null,"laws":[{"law":"xnor-elimination","lawName":{"en":"XNOR elimination","es":"Eliminación de XNOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]}}},{"key":"seven-segment-a","title":{"en":"Seven-segment segment a from BCD with don’t-cares as assumptions","es":"Segmento a de un display de siete segmentos desde BCD con indiferencias como supuestos"},"url":{"en":"/logic/examples/seven-segment-a/","es":"/es/logica/ejemplos/siete-segmentos-a/"},"mode":"decision","formulas":[{"name":"segment_a","role":"output","text":"Σm(D, C, B, A; 0, 2, 3, 5, 6, 7, 8, 9)"}],"variables":["D","C","B","A"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"segment_a is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"D":false,"C":false,"B":false,"A":true},"free":[],"values":[{"label":"segment_a","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"segment_a is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"D":false,"C":false,"B":false,"A":false},"free":[],"values":[{"label":"segment_a","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"segment_a can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"D":false,"C":false,"B":false,"A":false},"free":[],"values":[{"label":"segment_a","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"Σm(D, C, B, A; 0, 2, 3, 5, 6, 7, 8, 9)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(D OR C OR B OR NOT A) AND (D OR NOT C OR B OR A) AND (NOT D OR C OR NOT B OR A) AND (NOT D OR C OR NOT B OR NOT A) AND (NOT D OR NOT C OR B OR A) AND (NOT D OR NOT C OR B OR NOT A) AND (NOT D OR NOT C OR NOT B OR A) AND (NOT D OR NOT C OR NOT B OR NOT A)","termCount":8,"literalCount":32,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(D AND NOT C AND NOT B AND A) OR (D AND NOT C AND NOT B AND NOT A) OR (NOT D AND C AND B AND A) OR (NOT D AND C AND B AND NOT A) OR (NOT D AND C AND NOT B AND A) OR (NOT D AND NOT C AND B AND A) OR (NOT D AND NOT C AND B AND NOT A) OR (NOT D AND NOT C AND NOT B AND NOT A)","termCount":8,"literalCount":32,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]}}},{"key":"bcd-greater-than-five","title":{"en":"BCD digit greater than five: four-variable K-map with don’t-cares","es":"Dígito BCD mayor que cinco: mapa de Karnaugh de cuatro variables con indiferencias"},"url":{"en":"/logic/examples/bcd-greater-than-five/","es":"/es/logica/ejemplos/bcd-mayor-que-cinco/"},"mode":"decision","formulas":[{"name":"greater_than_five","role":"output","text":"Σm(D, C, B, A; 6, 7, 8, 9)"}],"variables":["D","C","B","A"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"greater_than_five is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"D":false,"C":false,"B":false,"A":false},"free":[],"values":[{"label":"greater_than_five","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"greater_than_five is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":7,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"D":false,"C":true,"B":true,"A":false},"free":[],"values":[{"label":"greater_than_five","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"greater_than_five can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":7,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"D":false,"C":true,"B":true,"A":false},"free":[],"values":[{"label":"greater_than_five","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"Σm(D, C, B, A; 6, 7, 8, 9)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(D OR C OR B OR A) AND (D OR C OR B OR NOT A) AND (D OR C OR NOT B OR A) AND (D OR C OR NOT B OR NOT A) AND (D OR NOT C OR B OR A) AND (D OR NOT C OR B OR NOT A) AND (NOT D OR C OR NOT B OR A) AND (NOT D OR C OR NOT B OR NOT A) AND (NOT D OR NOT C OR B OR A) AND (NOT D OR NOT C OR B OR NOT A) AND (NOT D OR NOT C OR NOT B OR A) AND (NOT D OR NOT C OR NOT B OR NOT A)","termCount":12,"literalCount":48,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(D AND NOT C AND NOT B AND A) OR (D AND NOT C AND NOT B AND NOT A) OR (NOT D AND C AND B AND A) OR (NOT D AND C AND B AND NOT A)","termCount":4,"literalCount":16,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]}}},{"key":"consensus-example","title":{"en":"Consensus in practice: AB + A'C + BC simplified","es":"El consenso en la práctica: AB + A'C + BC simplificado"},"url":{"en":"/logic/examples/consensus-example/","es":"/es/logica/ejemplos/ejemplo-de-consenso/"},"mode":"decision","formulas":[{"name":"with_consensus","role":"output","text":"(A AND B) OR (NOT A AND C) OR (B AND C)"},{"name":"without","role":"output","text":"(A AND B) OR (NOT A AND C)"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"with_consensus is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"with_consensus","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"with_consensus is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"with_consensus","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"with_consensus can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"with_consensus","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"with_consensus","b":"without","kind":"equivalence","verdict":"holds","summary":"with_consensus and without agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":8,"inputs":3,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"(A AND B) OR (NOT A AND C) OR (B AND C)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR C) AND (NOT A OR B) AND (B OR C)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":2}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B) OR (NOT A AND C) OR (B AND C)","termCount":3,"literalCount":6,"reason":null,"laws":[]}}},{"key":"absorption-example","title":{"en":"Absorption in practice: A OR (A AND B) simplified","es":"La absorción en la práctica: A OR (A AND B) simplificado"},"url":{"en":"/logic/examples/absorption-example/","es":"/es/logica/ejemplos/ejemplo-de-absorcion/"},"mode":"decision","formulas":[{"name":"f","role":"output","text":"A OR (A AND B)"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"f is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"f","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"f is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"f can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A","steps":[{"law":"absorption","rule":"A OR (A AND B) = A"}]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"A","termCount":1,"literalCount":1,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"A","termCount":1,"literalCount":1,"reason":null,"laws":[{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":1}]}}},{"key":"de-morgan-example","title":{"en":"De Morgan in practice: NOT (A AND B) rewritten and verified","es":"De Morgan en la práctica: NOT (A AND B) reescrito y verificado"},"url":{"en":"/logic/examples/de-morgan-example/","es":"/es/logica/ejemplos/ejemplo-de-de-morgan/"},"mode":"decision","formulas":[{"name":"negated_and","role":"output","text":"NOT (A AND B)"},{"name":"rewritten","role":"output","text":"NOT A OR NOT B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"negated_and is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":true},"free":[],"values":[{"label":"negated_and","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"negated_and is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"negated_and","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"negated_and can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"negated_and","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"negated_and","b":"rewritten","kind":"equivalence","verdict":"holds","summary":"negated_and and rewritten agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"NOT (A AND B)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT A OR NOT B","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT A OR NOT B","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]}}},{"key":"de-morgan-slip","title":{"en":"The De Morgan slip: NOT (A AND B) vs NOT A AND NOT B","es":"El error de De Morgan: NOT (A AND B) frente a NOT A AND NOT B"},"url":{"en":"/logic/examples/de-morgan-slip/","es":"/es/logica/ejemplos/error-de-de-morgan/"},"mode":"decision","formulas":[{"name":"correct","role":"output","text":"NOT (A AND B)"},{"name":"slip","role":"output","text":"NOT A AND NOT B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"correct is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":true},"free":[],"values":[{"label":"correct","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"correct is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"correct","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"correct can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"correct","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"correct","b":"slip","kind":"equivalence","verdict":"violated","summary":"Not equivalent: on the counterexample correct and slip give different results.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"correct","value":true},{"label":"slip","value":false}],"replayed":true},"unknownReason":null},"simplification":{"resultText":"NOT (A AND B)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT A OR NOT B","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT A OR NOT B","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]}}},{"key":"distribution-example","title":{"en":"Distribution in practice: A AND (B OR C) expanded","es":"La distributividad en la práctica: A AND (B OR C) desarrollado"},"url":{"en":"/logic/examples/distribution-example/","es":"/es/logica/ejemplos/ejemplo-de-distribucion/"},"mode":"decision","formulas":[{"name":"factored","role":"output","text":"A AND (B OR C)"},{"name":"expanded","role":"output","text":"(A AND B) OR (A AND C)"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"factored is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"factored","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"factored is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":6,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false,"C":true},"free":[],"values":[{"label":"factored","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"factored can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":6,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":true,"B":false,"C":true},"free":[],"values":[{"label":"factored","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"factored","b":"expanded","kind":"equivalence","verdict":"holds","summary":"factored and expanded agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":8,"inputs":3,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"A AND (B OR C)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"A AND (B OR C)","termCount":2,"literalCount":3,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B) OR (A AND C)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]}}},{"key":"xor-from-and-or","title":{"en":"XOR built from AND, OR and NOT","es":"XOR construido con AND, OR y NOT"},"url":{"en":"/logic/examples/xor-from-and-or/","es":"/es/logica/ejemplos/xor-con-and-or/"},"mode":"decision","formulas":[{"name":"exclusive_or","role":"output","text":"A XOR B"},{"name":"built","role":"output","text":"(A AND NOT B) OR (NOT A AND B)"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"exclusive_or is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"exclusive_or","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"exclusive_or is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"exclusive_or","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"exclusive_or can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"exclusive_or","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"exclusive_or","b":"built","kind":"equivalence","verdict":"holds","summary":"exclusive_or and built agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"A XOR B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (NOT A OR NOT B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND NOT B) OR (NOT A AND B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1}]}}},{"key":"xnor-from-and-or","title":{"en":"XNOR built from AND, OR and NOT","es":"XNOR construido con AND, OR y NOT"},"url":{"en":"/logic/examples/xnor-from-and-or/","es":"/es/logica/ejemplos/xnor-con-and-or/"},"mode":"decision","formulas":[{"name":"same_value","role":"output","text":"XNOR(A, B)"},{"name":"built","role":"output","text":"(A AND B) OR (NOT A AND NOT B)"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"same_value is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"same_value","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"same_value is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"same_value","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"same_value can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"same_value","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"same_value","b":"built","kind":"equivalence","verdict":"holds","summary":"same_value and built agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"XNOR(A, B)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR NOT B) AND (NOT A OR B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xnor-elimination","lawName":{"en":"XNOR elimination","es":"Eliminación de XNOR"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B) OR (NOT A AND NOT B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xnor-elimination","lawName":{"en":"XNOR elimination","es":"Eliminación de XNOR"},"count":1}]}}},{"key":"implication-as-or","title":{"en":"Implication as NOT A OR B, verified","es":"La implicación como NOT A OR B, verificada"},"url":{"en":"/logic/examples/implication-as-or/","es":"/es/logica/ejemplos/implicacion-como-or/"},"mode":"decision","formulas":[{"name":"implication","role":"output","text":"A -> B"},{"name":"as_or","role":"output","text":"NOT A OR B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"implication is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"implication","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"implication is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"implication can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"implication","b":"as_or","kind":"equivalence","verdict":"holds","summary":"implication and as_or agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"A -> B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]}}},{"key":"contrapositive","title":{"en":"Contrapositive: A → B is equivalent to NOT B → NOT A","es":"Contrarrecíproco: A → B equivale a NOT B → NOT A"},"url":{"en":"/logic/examples/contrapositive/","es":"/es/logica/ejemplos/contrarreciproco/"},"mode":"decision","formulas":[{"name":"implication","role":"output","text":"A -> B"},{"name":"contrapositive","role":"output","text":"NOT B -> NOT A"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"implication is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"implication","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"implication is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"implication can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"implication","b":"contrapositive","kind":"equivalence","verdict":"holds","summary":"implication and contrapositive agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"A -> B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]}}},{"key":"converse-slip","title":{"en":"The converse slip: A → B is not B → A","es":"El error del recíproco: A → B no es B → A"},"url":{"en":"/logic/examples/converse-slip/","es":"/es/logica/ejemplos/error-del-reciproco/"},"mode":"decision","formulas":[{"name":"implication","role":"output","text":"A -> B"},{"name":"converse","role":"output","text":"B -> A"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"implication is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"implication","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"implication is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"implication can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"implication","b":"converse","kind":"equivalence","verdict":"violated","summary":"Not equivalent: on the counterexample implication and converse give different results.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"implication","value":true},{"label":"converse","value":false}],"replayed":true},"unknownReason":null},"simplification":{"resultText":"A -> B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]}}},{"key":"inverse-slip","title":{"en":"The inverse slip: A → B is not NOT A → NOT B","es":"El error del inverso: A → B no es NOT A → NOT B"},"url":{"en":"/logic/examples/inverse-slip/","es":"/es/logica/ejemplos/error-del-inverso/"},"mode":"decision","formulas":[{"name":"implication","role":"output","text":"A -> B"},{"name":"inverse","role":"output","text":"NOT A -> NOT B"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"implication is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":false},"free":[],"values":[{"label":"implication","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"implication is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"implication can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"implication","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"implication","b":"inverse","kind":"equivalence","verdict":"violated","summary":"Not equivalent: on the counterexample implication and inverse give different results.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"implication","value":true},{"label":"inverse","value":false}],"replayed":true},"unknownReason":null},"simplification":{"resultText":"A -> B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT A OR B","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":1}]}}},{"key":"modus-ponens","title":{"en":"Modus ponens: A → B, A, therefore B (valid)","es":"Modus ponens: A → B, A, por tanto B (válido)"},"url":{"en":"/logic/examples/modus-ponens/","es":"/es/logica/ejemplos/modus-ponens/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A -> B"},{"name":"p2","role":"premise","text":"A"},{"name":"conclusion","role":"conclusion","text":"B"}],"variables":["A","B"],"checks":null,"validity":{"kind":"validity","verdict":"holds","summary":"The conclusion follows: no admissible assignment makes every premise true and the conclusion false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"modus-tollens","title":{"en":"Modus tollens: A → B, NOT B, therefore NOT A (valid)","es":"Modus tollens: A → B, NOT B, por tanto NOT A (válido)"},"url":{"en":"/logic/examples/modus-tollens/","es":"/es/logica/ejemplos/modus-tollens/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A -> B"},{"name":"p2","role":"premise","text":"NOT B"},{"name":"conclusion","role":"conclusion","text":"NOT A"}],"variables":["A","B"],"checks":null,"validity":{"kind":"validity","verdict":"holds","summary":"The conclusion follows: no admissible assignment makes every premise true and the conclusion false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"affirming-the-consequent","title":{"en":"Affirming the consequent: A → B, B, therefore A (invalid, with counterexample)","es":"Afirmación del consecuente: A → B, B, por tanto A (inválido, con contraejemplo)"},"url":{"en":"/logic/examples/affirming-the-consequent/","es":"/es/logica/ejemplos/afirmacion-del-consecuente/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A -> B"},{"name":"p2","role":"premise","text":"B"},{"name":"conclusion","role":"conclusion","text":"A"}],"variables":["A","B"],"checks":null,"validity":{"kind":"validity","verdict":"violated","summary":"The conclusion does not follow: in the counterexample every premise is true but the conclusion is false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"p1","value":true},{"label":"p2","value":true},{"label":"conclusion","value":false}],"replayed":true},"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"denying-the-antecedent","title":{"en":"Denying the antecedent: A → B, NOT A, therefore NOT B (invalid)","es":"Negación del antecedente: A → B, NOT A, por tanto NOT B (inválido)"},"url":{"en":"/logic/examples/denying-the-antecedent/","es":"/es/logica/ejemplos/negacion-del-antecedente/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A -> B"},{"name":"p2","role":"premise","text":"NOT A"},{"name":"conclusion","role":"conclusion","text":"NOT B"}],"variables":["A","B"],"checks":null,"validity":{"kind":"validity","verdict":"violated","summary":"The conclusion does not follow: in the counterexample every premise is true but the conclusion is false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"p1","value":true},{"label":"p2","value":true},{"label":"conclusion","value":false}],"replayed":true},"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"hypothetical-syllogism","title":{"en":"Hypothetical syllogism: A → B, B → C, therefore A → C","es":"Silogismo hipotético: A → B, B → C, por tanto A → C"},"url":{"en":"/logic/examples/hypothetical-syllogism/","es":"/es/logica/ejemplos/silogismo-hipotetico/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A -> B"},{"name":"p2","role":"premise","text":"B -> C"},{"name":"conclusion","role":"conclusion","text":"A -> C"}],"variables":["A","B","C"],"checks":null,"validity":{"kind":"validity","verdict":"holds","summary":"The conclusion follows: no admissible assignment makes every premise true and the conclusion false.","method":"Exhaustively checked and solver cross-checked","rows":8,"inputs":3,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"disjunctive-syllogism","title":{"en":"Disjunctive syllogism: A OR B, NOT A, therefore B","es":"Silogismo disyuntivo: A OR B, NOT A, por tanto B"},"url":{"en":"/logic/examples/disjunctive-syllogism/","es":"/es/logica/ejemplos/silogismo-disyuntivo/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A OR B"},{"name":"p2","role":"premise","text":"NOT A"},{"name":"conclusion","role":"conclusion","text":"B"}],"variables":["A","B"],"checks":null,"validity":{"kind":"validity","verdict":"holds","summary":"The conclusion follows: no admissible assignment makes every premise true and the conclusion false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"constructive-dilemma","title":{"en":"Constructive dilemma: (A → B) AND (C → D), A OR C, therefore B OR D","es":"Dilema constructivo: (A → B) AND (C → D), A OR C, por tanto B OR D"},"url":{"en":"/logic/examples/constructive-dilemma/","es":"/es/logica/ejemplos/dilema-constructivo/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"(A -> B) AND (C -> D)"},{"name":"p2","role":"premise","text":"A OR C"},{"name":"conclusion","role":"conclusion","text":"B OR D"}],"variables":["A","B","C","D"],"checks":null,"validity":{"kind":"validity","verdict":"holds","summary":"The conclusion follows: no admissible assignment makes every premise true and the conclusion false.","method":"Exhaustively checked and solver cross-checked","rows":16,"inputs":4,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"inconsistent-premises","title":{"en":"Inconsistent premises: A and NOT A prove anything (vacuous validity)","es":"Premisas inconsistentes: A y NOT A demuestran cualquier cosa (validez vacua)"},"url":{"en":"/logic/examples/inconsistent-premises/","es":"/es/logica/ejemplos/premisas-inconsistentes/"},"mode":"argument","formulas":[{"name":"p1","role":"premise","text":"A"},{"name":"p2","role":"premise","text":"NOT A"},{"name":"conclusion","role":"conclusion","text":"B"}],"variables":["A","B"],"checks":null,"validity":{"kind":"validity","verdict":"holds","summary":"Warning: the argument is valid only vacuously — the premises (with the assumptions) can never all be true, so anything would follow.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":true,"consistent":"no","witness":null,"unknownReason":null},"equivalence":null,"simplification":null,"forms":null},{"key":"tautology-example","title":{"en":"A tautology: A OR NOT A, checked on every row","es":"Una tautología: A OR NOT A, comprobada en todas las filas"},"url":{"en":"/logic/examples/tautology-example/","es":"/es/logica/ejemplos/ejemplo-de-tautologia/"},"mode":"decision","formulas":[{"name":"always","role":"output","text":"A OR NOT A"}],"variables":["A"],"checks":{"tautology":{"kind":"tautology","verdict":"holds","summary":"always is true on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":1,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"always is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":1,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false},"free":[],"values":[{"label":"always","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"always can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":1,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false},"free":[],"values":[{"label":"always","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"TRUE","steps":[{"law":"complement","rule":"A OR NOT A = TRUE"}]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"TRUE","termCount":0,"literalCount":0,"reason":null,"laws":[{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"TRUE","termCount":1,"literalCount":0,"reason":null,"laws":[{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]}}},{"key":"contradiction-example","title":{"en":"A contradiction: A AND NOT A","es":"Una contradicción: A AND NOT A"},"url":{"en":"/logic/examples/contradiction-example/","es":"/es/logica/ejemplos/ejemplo-de-contradiccion/"},"mode":"decision","formulas":[{"name":"never","role":"output","text":"A AND NOT A"}],"variables":["A"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"never is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":1,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false},"free":[],"values":[{"label":"never","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"holds","summary":"never is false on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":1,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"violated","summary":"never can never be true on any assignment.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":1,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"FALSE","steps":[{"law":"complement","rule":"A AND NOT A = FALSE"}]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"FALSE","termCount":1,"literalCount":0,"reason":null,"laws":[{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"FALSE","termCount":0,"literalCount":0,"reason":null,"laws":[{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]}}},{"key":"peirce-law","title":{"en":"Peirce's law: ((A → B) → A) → A is a tautology","es":"Ley de Peirce: ((A → B) → A) → A es una tautología"},"url":{"en":"/logic/examples/peirce-law/","es":"/es/logica/ejemplos/ley-de-peirce/"},"mode":"decision","formulas":[{"name":"peirce","role":"output","text":"((A -> B) -> A) -> A"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"holds","summary":"peirce is true on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"peirce is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"peirce","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"peirce can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"peirce","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"((A -> B) -> A) -> A","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"TRUE","termCount":0,"literalCount":0,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":3},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":1},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"TRUE","termCount":1,"literalCount":0,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":3},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":1},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]}}},{"key":"sigma-m-1-2-4-7","title":{"en":"Σm(1, 2, 4, 7): canonical sum of products for three variables","es":"Σm(1, 2, 4, 7): suma canónica de productos de tres variables"},"url":{"en":"/logic/examples/sigma-m-1-2-4-7/","es":"/es/logica/ejemplos/sigma-m-1-2-4-7/"},"mode":"decision","formulas":[{"name":"f","role":"output","text":"Σm(A, B, C; 1, 2, 4, 7)"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"f is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"f","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"f is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"f can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"Σm(A, B, C; 1, 2, 4, 7)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR C) AND (A OR NOT B OR NOT C) AND (NOT A OR B OR NOT C) AND (NOT A OR NOT B OR C)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C) OR (A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]}}},{"key":"kmap-four-variable-classic","title":{"en":"Four-variable K-map: Σm(0, 2, 5, 7, 8, 10, 13, 15) simplified","es":"Mapa de Karnaugh de cuatro variables: Σm(0, 2, 5, 7, 8, 10, 13, 15) simplificado"},"url":{"en":"/logic/examples/kmap-four-variable-classic/","es":"/es/logica/ejemplos/mapa-de-karnaugh-cuatro-variables/"},"mode":"decision","formulas":[{"name":"f","role":"output","text":"Σm(A, B, C, D; 0, 2, 5, 7, 8, 10, 13, 15)"}],"variables":["A","B","C","D"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"f is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false,"D":true},"free":[],"values":[{"label":"f","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"f is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"f can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"Σm(A, B, C, D; 0, 2, 5, 7, 8, 10, 13, 15)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR C OR NOT D) AND (A OR B OR NOT C OR NOT D) AND (A OR NOT B OR C OR D) AND (A OR NOT B OR NOT C OR D) AND (NOT A OR B OR C OR NOT D) AND (NOT A OR B OR NOT C OR NOT D) AND (NOT A OR NOT B OR C OR D) AND (NOT A OR NOT B OR NOT C OR D)","termCount":8,"literalCount":32,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C AND D) OR (A AND B AND NOT C AND D) OR (A AND NOT B AND C AND NOT D) OR (A AND NOT B AND NOT C AND NOT D) OR (NOT A AND B AND C AND D) OR (NOT A AND B AND NOT C AND D) OR (NOT A AND NOT B AND C AND NOT D) OR (NOT A AND NOT B AND NOT C AND NOT D)","termCount":8,"literalCount":32,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]}}},{"key":"pos-four-variable-classic","title":{"en":"Four-variable product of sums: ΠM(…) simplified from the zeros","es":"Producto de sumas de cuatro variables: ΠM(…) simplificado desde los ceros"},"url":{"en":"/logic/examples/pos-four-variable-classic/","es":"/es/logica/ejemplos/producto-de-sumas-cuatro-variables/"},"mode":"decision","formulas":[{"name":"f","role":"output","text":"ΠM(A, B, C, D; 1, 3, 5, 7, 8, 10, 12, 14)"}],"variables":["A","B","C","D"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"f is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false,"D":true},"free":[],"values":[{"label":"f","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"f is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"f can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"ΠM(A, B, C, D; 1, 3, 5, 7, 8, 10, 12, 14)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR C OR NOT D) AND (A OR B OR NOT C OR NOT D) AND (A OR NOT B OR C OR NOT D) AND (A OR NOT B OR NOT C OR NOT D) AND (NOT A OR B OR C OR D) AND (NOT A OR B OR NOT C OR D) AND (NOT A OR NOT B OR C OR D) AND (NOT A OR NOT B OR NOT C OR D)","termCount":8,"literalCount":32,"reason":null,"laws":[{"law":"maxterm-expansion","lawName":{"en":"Maxterm expansion","es":"Desarrollo en maxtérminos"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C AND D) OR (A AND B AND NOT C AND D) OR (A AND NOT B AND C AND D) OR (A AND NOT B AND NOT C AND D) OR (NOT A AND B AND C AND NOT D) OR (NOT A AND B AND NOT C AND NOT D) OR (NOT A AND NOT B AND C AND NOT D) OR (NOT A AND NOT B AND NOT C AND NOT D)","termCount":8,"literalCount":32,"reason":null,"laws":[{"law":"maxterm-expansion","lawName":{"en":"Maxterm expansion","es":"Desarrollo en maxtérminos"},"count":1}]}}},{"key":"prime-implicants-example","title":{"en":"Prime implicants and essential prime implicants on a K-map","es":"Implicantes primos e implicantes primos esenciales en un mapa de Karnaugh"},"url":{"en":"/logic/examples/prime-implicants-example/","es":"/es/logica/ejemplos/implicantes-primos/"},"mode":"decision","formulas":[{"name":"f","role":"output","text":"Σm(A, B, C, D; 0, 1, 2, 5, 6, 7, 8, 9, 10, 14)"}],"variables":["A","B","C","D"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"f is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":true,"D":true},"free":[],"values":[{"label":"f","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"f is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"f can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"f","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"Σm(A, B, C, D; 0, 1, 2, 5, 6, 7, 8, 9, 10, 14)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR NOT C OR NOT D) AND (A OR NOT B OR C OR D) AND (NOT A OR B OR NOT C OR NOT D) AND (NOT A OR NOT B OR C OR D) AND (NOT A OR NOT B OR C OR NOT D) AND (NOT A OR NOT B OR NOT C OR NOT D)","termCount":6,"literalCount":24,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C AND NOT D) OR (A AND NOT B AND C AND NOT D) OR (A AND NOT B AND NOT C AND D) OR (A AND NOT B AND NOT C AND NOT D) OR (NOT A AND B AND C AND D) OR (NOT A AND B AND C AND NOT D) OR (NOT A AND B AND NOT C AND D) OR (NOT A AND NOT B AND C AND NOT D) OR (NOT A AND NOT B AND NOT C AND D) OR (NOT A AND NOT B AND NOT C AND NOT D)","termCount":10,"literalCount":40,"reason":null,"laws":[{"law":"minterm-expansion","lawName":{"en":"Minterm expansion","es":"Desarrollo en mintérminos"},"count":1}]}}},{"key":"nand-only-xor","title":{"en":"XOR with four NAND gates, verified equivalent","es":"XOR con cuatro compuertas NAND, equivalencia verificada"},"url":{"en":"/logic/examples/nand-only-xor/","es":"/es/logica/ejemplos/xor-solo-con-nand/"},"mode":"decision","formulas":[{"name":"exclusive_or","role":"output","text":"A XOR B"},{"name":"four_nands","role":"output","text":"NAND(NAND(A, NAND(A, B)), NAND(B, NAND(A, B)))"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"exclusive_or is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"exclusive_or","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"exclusive_or is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"exclusive_or","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"exclusive_or can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true},"free":[],"values":[{"label":"exclusive_or","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"exclusive_or","b":"four_nands","kind":"equivalence","verdict":"holds","summary":"exclusive_or and four_nands agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"A XOR B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (NOT A OR NOT B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND NOT B) OR (NOT A AND B)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":1}]}}},{"key":"nor-only-and","title":{"en":"AND with NOR gates only","es":"AND solo con compuertas NOR"},"url":{"en":"/logic/examples/nor-only-and/","es":"/es/logica/ejemplos/and-solo-con-nor/"},"mode":"decision","formulas":[{"name":"conjunction","role":"output","text":"A AND B"},{"name":"with_nors","role":"output","text":"NOR(NOR(A, A), NOR(B, B))"}],"variables":["A","B"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"conjunction is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false},"free":[],"values":[{"label":"conjunction","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"conjunction is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":true,"B":true},"free":[],"values":[{"label":"conjunction","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"conjunction can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":true,"B":true},"free":[],"values":[{"label":"conjunction","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"conjunction","b":"with_nors","kind":"equivalence","verdict":"holds","summary":"conjunction and with_nors agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"A AND B","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"A AND B","termCount":2,"literalCount":2,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"A AND B","termCount":1,"literalCount":2,"reason":null,"laws":[]}}},{"key":"nand-only-majority","title":{"en":"Majority of three with NAND gates only","es":"Mayoría de tres solo con compuertas NAND"},"url":{"en":"/logic/examples/nand-only-majority/","es":"/es/logica/ejemplos/mayoria-solo-con-nand/"},"mode":"decision","formulas":[{"name":"majority","role":"output","text":"(A AND B) OR (A AND C) OR (B AND C)"},{"name":"with_nands","role":"output","text":"NAND(NAND(A, B), NAND(NAND(A, C), NAND(B, C)))"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"majority is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"majority","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"majority is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true,"C":true},"free":[],"values":[{"label":"majority","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"majority can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true,"C":true},"free":[],"values":[{"label":"majority","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"majority","b":"with_nands","kind":"equivalence","verdict":"violated","summary":"Not equivalent: on the counterexample majority and with_nands give different results.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"majority","value":false},{"label":"with_nands","value":true}],"replayed":true},"unknownReason":null},"simplification":{"resultText":"(A AND B) OR (A AND C) OR (B AND C)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (A OR C) AND (B OR C)","termCount":3,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":2},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B) OR (A AND C) OR (B AND C)","termCount":3,"literalCount":6,"reason":null,"laws":[]}}},{"key":"discount-eligibility","title":{"en":"Discount eligibility rule: (student OR senior) AND NOT expired AND (member OR coupon)","es":"Regla de descuento: (estudiante OR mayor) AND NOT caducado AND (socio OR cupon)"},"url":{"en":"/logic/examples/discount-eligibility/","es":"/es/logica/ejemplos/regla-de-descuento/"},"mode":"decision","formulas":[{"name":"discount","role":"output","text":"(student OR senior) AND NOT expired AND (member OR coupon)"}],"variables":["student","senior","expired","member","coupon"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"discount is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":5,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"student":false,"senior":false,"expired":false,"member":false,"coupon":false},"free":[],"values":[{"label":"discount","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"discount is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":10,"inputs":5,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"student":false,"senior":true,"expired":false,"member":false,"coupon":true},"free":[],"values":[{"label":"discount","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"discount can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":10,"inputs":5,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"student":false,"senior":true,"expired":false,"member":false,"coupon":true},"free":[],"values":[{"label":"discount","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(student OR senior) AND NOT expired AND (member OR coupon)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(student OR senior) AND NOT expired AND (member OR coupon)","termCount":3,"literalCount":5,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(student AND NOT expired AND member) OR (student AND NOT expired AND coupon) OR (senior AND NOT expired AND member) OR (senior AND NOT expired AND coupon)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"feature-flag-rule","title":{"en":"Feature flag rule: (beta_user OR internal) AND flag_on AND NOT kill_switch","es":"Regla de feature flag: (beta OR interno) AND flag_activo AND NOT interruptor"},"url":{"en":"/logic/examples/feature-flag-rule/","es":"/es/logica/ejemplos/regla-de-feature-flag/"},"mode":"decision","formulas":[{"name":"enabled","role":"output","text":"(beta_user OR internal) AND flag_on AND NOT kill_switch"}],"variables":["beta_user","internal","flag_on","kill_switch"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"enabled is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"beta_user":false,"internal":false,"flag_on":false,"kill_switch":false},"free":[],"values":[{"label":"enabled","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"enabled is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":7,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"beta_user":false,"internal":true,"flag_on":true,"kill_switch":false},"free":[],"values":[{"label":"enabled","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"enabled can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":7,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"beta_user":false,"internal":true,"flag_on":true,"kill_switch":false},"free":[],"values":[{"label":"enabled","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(beta_user OR internal) AND flag_on AND NOT kill_switch","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(beta_user OR internal) AND flag_on AND NOT kill_switch","termCount":3,"literalCount":4,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(beta_user AND flag_on AND NOT kill_switch) OR (internal AND flag_on AND NOT kill_switch)","termCount":2,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"access-control-rule","title":{"en":"Access control rule: owner OR admin OR (editor AND NOT locked)","es":"Regla de control de acceso: propietario OR admin OR (editor AND NOT bloqueado)"},"url":{"en":"/logic/examples/access-control-rule/","es":"/es/logica/ejemplos/regla-de-control-de-acceso/"},"mode":"decision","formulas":[{"name":"can_edit","role":"output","text":"owner OR admin OR (editor AND NOT locked)"}],"variables":["owner","admin","editor","locked"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"can_edit is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"owner":false,"admin":false,"editor":false,"locked":false},"free":[],"values":[{"label":"can_edit","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"can_edit is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"owner":false,"admin":false,"editor":true,"locked":false},"free":[],"values":[{"label":"can_edit","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"can_edit can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":3,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"owner":false,"admin":false,"editor":true,"locked":false},"free":[],"values":[{"label":"can_edit","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"owner OR admin OR (editor AND NOT locked)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(owner OR admin OR editor) AND (owner OR admin OR NOT locked)","termCount":2,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"owner OR admin OR (editor AND NOT locked)","termCount":3,"literalCount":4,"reason":null,"laws":[]}}},{"key":"loan-eligibility","title":{"en":"Loan eligibility: income_ok AND (credit_ok OR guarantor) AND NOT bankrupt","es":"Elegibilidad de un préstamo: ingresos_ok AND (credito_ok OR avalista) AND NOT quiebra"},"url":{"en":"/logic/examples/loan-eligibility/","es":"/es/logica/ejemplos/elegibilidad-de-prestamo/"},"mode":"decision","formulas":[{"name":"eligible","role":"output","text":"income_ok AND (credit_ok OR guarantor) AND NOT bankrupt"}],"variables":["income_ok","credit_ok","guarantor","bankrupt"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"eligible is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"income_ok":false,"credit_ok":false,"guarantor":false,"bankrupt":false},"free":[],"values":[{"label":"eligible","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"eligible is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":11,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"income_ok":true,"credit_ok":false,"guarantor":true,"bankrupt":false},"free":[],"values":[{"label":"eligible","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"eligible can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":11,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"income_ok":true,"credit_ok":false,"guarantor":true,"bankrupt":false},"free":[],"values":[{"label":"eligible","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"income_ok AND (credit_ok OR guarantor) AND NOT bankrupt","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"income_ok AND (credit_ok OR guarantor) AND NOT bankrupt","termCount":3,"literalCount":4,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(income_ok AND credit_ok AND NOT bankrupt) OR (income_ok AND guarantor AND NOT bankrupt)","termCount":2,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"free-shipping-rule","title":{"en":"Free shipping rule: (over_50 OR prime) AND NOT oversized AND domestic","es":"Regla de envío gratis: (mas_de_50 OR prime) AND NOT voluminoso AND nacional"},"url":{"en":"/logic/examples/free-shipping-rule/","es":"/es/logica/ejemplos/regla-de-envio-gratis/"},"mode":"decision","formulas":[{"name":"free_shipping","role":"output","text":"(over_50 OR prime) AND NOT oversized AND domestic"}],"variables":["over_50","prime","oversized","domestic"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"free_shipping is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"over_50":false,"prime":false,"oversized":false,"domestic":false},"free":[],"values":[{"label":"free_shipping","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"free_shipping is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":6,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"over_50":false,"prime":true,"oversized":false,"domestic":true},"free":[],"values":[{"label":"free_shipping","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"free_shipping can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":6,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"over_50":false,"prime":true,"oversized":false,"domestic":true},"free":[],"values":[{"label":"free_shipping","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(over_50 OR prime) AND NOT oversized AND domestic","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(over_50 OR prime) AND NOT oversized AND domestic","termCount":3,"literalCount":4,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(over_50 AND NOT oversized AND domestic) OR (prime AND NOT oversized AND domestic)","termCount":2,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"alarm-rule","title":{"en":"Alarm rule: armed AND (door OR window OR motion) AND NOT disarm_code","es":"Regla de alarma: armada AND (puerta OR ventana OR movimiento) AND NOT codigo"},"url":{"en":"/logic/examples/alarm-rule/","es":"/es/logica/ejemplos/regla-de-alarma/"},"mode":"decision","formulas":[{"name":"alarm","role":"output","text":"armed AND (door OR window OR motion) AND NOT disarm_code"}],"variables":["armed","door","window","motion","disarm_code"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"alarm is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":5,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"armed":false,"door":false,"window":false,"motion":false,"disarm_code":false},"free":[],"values":[{"label":"alarm","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"alarm is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":19,"inputs":5,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"armed":true,"door":false,"window":false,"motion":true,"disarm_code":false},"free":[],"values":[{"label":"alarm","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"alarm can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":19,"inputs":5,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"armed":true,"door":false,"window":false,"motion":true,"disarm_code":false},"free":[],"values":[{"label":"alarm","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"armed AND (door OR window OR motion) AND NOT disarm_code","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"armed AND (door OR window OR motion) AND NOT disarm_code","termCount":3,"literalCount":5,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(armed AND door AND NOT disarm_code) OR (armed AND window AND NOT disarm_code) OR (armed AND motion AND NOT disarm_code)","termCount":3,"literalCount":9,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"traffic-light-safety","title":{"en":"Traffic-light safety property: never both greens, checked as “always true”","es":"Propiedad de seguridad de un semáforo: nunca dos verdes, comprobada como «siempre verdadera»"},"url":{"en":"/logic/examples/traffic-light-safety/","es":"/es/logica/ejemplos/seguridad-de-semaforo/"},"mode":"decision","formulas":[{"name":"ns_go","role":"output","text":"ns_green AND NOT ew_green"},{"name":"ew_go","role":"output","text":"ew_green AND NOT ns_green"},{"name":"conflict","role":"output","text":"ns_go AND ew_go"}],"variables":["ns_green","ew_green"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"conflict is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"ns_green":false,"ew_green":false},"free":[],"values":[{"label":"conflict","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"holds","summary":"conflict is false on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"violated","summary":"conflict can never be true on any assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"ns_go AND ew_go","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"FALSE","termCount":1,"literalCount":0,"reason":null,"laws":[{"law":"reference-expansion","lawName":{"en":"Reference expansion","es":"Expansión de una referencia"},"count":2},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"FALSE","termCount":0,"literalCount":0,"reason":null,"laws":[{"law":"reference-expansion","lawName":{"en":"Reference expansion","es":"Expansión de una referencia"},"count":2},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]}}},{"key":"machine-interlock","title":{"en":"Machine interlock: start AND guard_closed AND NOT (estop OR fault)","es":"Enclavamiento de máquina: arranque AND resguardo_cerrado AND NOT (paro_emergencia OR fallo)"},"url":{"en":"/logic/examples/machine-interlock/","es":"/es/logica/ejemplos/enclavamiento-de-maquina/"},"mode":"decision","formulas":[{"name":"run","role":"output","text":"start AND guard_closed AND NOT (estop OR fault)"}],"variables":["start","guard_closed","estop","fault"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"run is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"start":false,"guard_closed":false,"estop":false,"fault":false},"free":[],"values":[{"label":"run","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"run is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":13,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"start":true,"guard_closed":true,"estop":false,"fault":false},"free":[],"values":[{"label":"run","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"run can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":13,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"start":true,"guard_closed":true,"estop":false,"fault":false},"free":[],"values":[{"label":"run","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"start AND guard_closed AND NOT (estop OR fault)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"start AND guard_closed AND NOT estop AND NOT fault","termCount":4,"literalCount":4,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"start AND guard_closed AND NOT estop AND NOT fault","termCount":1,"literalCount":4,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]}}},{"key":"three-way-switch","title":{"en":"Staircase light with three switches: A XOR B XOR C","es":"Luz de escalera con tres interruptores: A XOR B XOR C"},"url":{"en":"/logic/examples/three-way-switch/","es":"/es/logica/ejemplos/conmutador-de-tres-vias/"},"mode":"decision","formulas":[{"name":"light","role":"output","text":"A XOR B XOR C"}],"variables":["A","B","C"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"light is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false},"free":[],"values":[{"label":"light","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"light is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"light","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"light can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":false,"C":true},"free":[],"values":[{"label":"light","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"A XOR B XOR C","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B OR C) AND (A OR NOT B OR NOT C) AND (NOT A OR B OR NOT C) AND (NOT A OR NOT B OR C)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C) OR (A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)","termCount":4,"literalCount":12,"reason":null,"laws":[{"law":"xor-elimination","lawName":{"en":"XOR elimination","es":"Eliminación de XOR"},"count":2},{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"quorum-three-of-four","title":{"en":"Quorum: at least three of four, truth table and K-map","es":"Quórum: al menos tres de cuatro, tabla de verdad y mapa de Karnaugh"},"url":{"en":"/logic/examples/quorum-three-of-four/","es":"/es/logica/ejemplos/quorum-tres-de-cuatro/"},"mode":"decision","formulas":[{"name":"quorum","role":"output","text":"(A AND B AND C) OR (A AND B AND D) OR (A AND C AND D) OR (B AND C AND D)"}],"variables":["A","B","C","D"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"quorum is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":false,"C":false,"D":false},"free":[],"values":[{"label":"quorum","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"quorum is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":8,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"A":false,"B":true,"C":true,"D":true},"free":[],"values":[{"label":"quorum","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"quorum can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":8,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"A":false,"B":true,"C":true,"D":true},"free":[],"values":[{"label":"quorum","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(A AND B AND C) OR (A AND B AND D) OR (A AND C AND D) OR (B AND C AND D)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(A OR B) AND (A OR C) AND (A OR D) AND (B OR C) AND (B OR D) AND (C OR D)","termCount":6,"literalCount":12,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":3},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":7},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":10}]},"dnf":{"status":"complete","method":"algebraic","text":"(A AND B AND C) OR (A AND B AND D) OR (A AND C AND D) OR (B AND C AND D)","termCount":4,"literalCount":12,"reason":null,"laws":[]}}},{"key":"leap-year-rule","title":{"en":"Leap year rule: (div4 AND NOT div100) OR div400","es":"Regla del año bisiesto: (div4 AND NOT div100) OR div400"},"url":{"en":"/logic/examples/leap-year-rule/","es":"/es/logica/ejemplos/regla-de-ano-bisiesto/"},"mode":"decision","formulas":[{"name":"leap","role":"output","text":"(div4 AND NOT div100) OR div400"}],"variables":["div4","div100","div400"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"leap is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"div4":false,"div100":false,"div400":false},"free":[],"values":[{"label":"leap","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"leap is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":5,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"div4":true,"div100":false,"div400":false},"free":[],"values":[{"label":"leap","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"leap can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":5,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"div4":true,"div100":false,"div400":false},"free":[],"values":[{"label":"leap","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(div4 AND NOT div100) OR div400","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(div4 OR div400) AND (NOT div100 OR div400)","termCount":2,"literalCount":4,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(div4 AND NOT div100) OR div400","termCount":2,"literalCount":3,"reason":null,"laws":[]}}},{"key":"password-policy","title":{"en":"Password policy: length_ok AND (has_digit OR has_symbol) AND NOT common","es":"Política de contraseñas: longitud_ok AND (tiene_digito OR tiene_simbolo) AND NOT comun"},"url":{"en":"/logic/examples/password-policy/","es":"/es/logica/ejemplos/politica-de-contrasenas/"},"mode":"decision","formulas":[{"name":"accepted","role":"output","text":"length_ok AND (has_digit OR has_symbol) AND NOT common"}],"variables":["length_ok","has_digit","has_symbol","common"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"accepted is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"length_ok":false,"has_digit":false,"has_symbol":false,"common":false},"free":[],"values":[{"label":"accepted","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"accepted is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":11,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"length_ok":true,"has_digit":false,"has_symbol":true,"common":false},"free":[],"values":[{"label":"accepted","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"accepted can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":11,"inputs":4,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"length_ok":true,"has_digit":false,"has_symbol":true,"common":false},"free":[],"values":[{"label":"accepted","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"length_ok AND (has_digit OR has_symbol) AND NOT common","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"length_ok AND (has_digit OR has_symbol) AND NOT common","termCount":3,"literalCount":4,"reason":null,"laws":[]},"dnf":{"status":"complete","method":"algebraic","text":"(length_ok AND has_digit AND NOT common) OR (length_ok AND has_symbol AND NOT common)","termCount":2,"literalCount":6,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2}]}}},{"key":"exclusive-payment-options","title":{"en":"Exactly one payment option: cash, card or voucher","es":"Exactamente una opción de pago: efectivo, tarjeta o vale"},"url":{"en":"/logic/examples/exclusive-payment-options/","es":"/es/logica/ejemplos/opciones-de-pago-excluyentes/"},"mode":"decision","formulas":[{"name":"valid","role":"output","text":"(cash AND NOT card AND NOT voucher) OR (NOT cash AND card AND NOT voucher) OR (NOT cash AND NOT card AND voucher)"}],"variables":["cash","card","voucher"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"valid is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"cash":false,"card":false,"voucher":false},"free":[],"values":[{"label":"valid","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"valid is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"cash":false,"card":false,"voucher":true},"free":[],"values":[{"label":"valid","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"valid can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"cash":false,"card":false,"voucher":true},"free":[],"values":[{"label":"valid","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"(cash AND NOT card AND NOT voucher) OR (NOT cash AND card AND NOT voucher) OR (NOT cash AND NOT card AND voucher)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"(cash OR card OR voucher) AND (NOT cash OR NOT card) AND (NOT cash OR NOT voucher) AND (NOT card OR NOT voucher)","termCount":4,"literalCount":9,"reason":null,"laws":[{"law":"distribution","lawName":{"en":"Distribution","es":"Distributividad"},"count":2},{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":5},{"law":"absorption","lawName":{"en":"Absorption","es":"Absorción"},"count":5},{"law":"idempotence","lawName":{"en":"Idempotence","es":"Idempotencia"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"(cash AND NOT card AND NOT voucher) OR (NOT cash AND card AND NOT voucher) OR (NOT cash AND NOT card AND voucher)","termCount":3,"literalCount":9,"reason":null,"laws":[]}}},{"key":"implication-chain-rule","title":{"en":"Chained conditions: if premium then (discount → approved)","es":"Condiciones encadenadas: si premium entonces (descuento → aprobado)"},"url":{"en":"/logic/examples/implication-chain-rule/","es":"/es/logica/ejemplos/cadena-de-condiciones/"},"mode":"decision","formulas":[{"name":"rule","role":"output","text":"premium -> (discount -> approved)"}],"variables":["premium","discount","approved"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"rule is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":7,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"premium":true,"discount":true,"approved":false},"free":[],"values":[{"label":"rule","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"rule is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"premium":false,"discount":false,"approved":false},"free":[],"values":[{"label":"rule","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"rule can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":3,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"premium":false,"discount":false,"approved":false},"free":[],"values":[{"label":"rule","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"premium -> discount -> approved","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT premium OR NOT discount OR approved","termCount":1,"literalCount":3,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":2}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT premium OR NOT discount OR approved","termCount":3,"literalCount":3,"reason":null,"laws":[{"law":"implication-elimination","lawName":{"en":"Implication elimination","es":"Eliminación de la implicación"},"count":2}]}}},{"key":"de-morgan-in-code","title":{"en":"De Morgan in code: !(a && b) refactored to !a || !b, verified","es":"De Morgan en el código: !(a && b) refactorizado a !a || !b, verificado"},"url":{"en":"/logic/examples/de-morgan-in-code/","es":"/es/logica/ejemplos/de-morgan-en-codigo/"},"mode":"decision","formulas":[{"name":"before","role":"output","text":"NOT (a AND b)"},{"name":"after","role":"output","text":"NOT a OR NOT b"}],"variables":["a","b"],"checks":{"tautology":{"kind":"tautology","verdict":"violated","summary":"before is not always true: the counterexample makes it false.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"a":true,"b":true},"free":[],"values":[{"label":"before","value":false}],"replayed":true},"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"before is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"a":false,"b":false},"free":[],"values":[{"label":"before","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"before can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":2,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"a":false,"b":false},"free":[],"values":[{"label":"before","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":{"a":"before","b":"after","kind":"equivalence","verdict":"holds","summary":"before and after agree on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":4,"inputs":2,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"simplification":{"resultText":"NOT (a AND b)","steps":[]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"NOT a OR NOT b","termCount":1,"literalCount":2,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"NOT a OR NOT b","termCount":2,"literalCount":2,"reason":null,"laws":[{"law":"de-morgan","lawName":{"en":"De Morgan's law","es":"Ley de De Morgan"},"count":1}]}}},{"key":"sql-null-rule","title":{"en":"A nullable flag rule in SQL: why (a OR NOT a) is not always true","es":"Una regla con un indicador NULL en SQL: por qué (a OR NOT a) no siempre es verdadera"},"url":{"en":"/logic/examples/sql-null-rule/","es":"/es/logica/ejemplos/regla-con-null-en-sql/"},"mode":"decision","formulas":[{"name":"always_true","role":"output","text":"a OR NOT a"}],"variables":["a"],"checks":{"tautology":{"kind":"tautology","verdict":"holds","summary":"always_true is true on every assignment.","method":"Exhaustively checked and solver cross-checked","rows":2,"inputs":1,"vacuous":false,"consistent":"yes","witness":null,"unknownReason":null},"contradiction":{"kind":"contradiction","verdict":"violated","summary":"always_true is not always false: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":1,"vacuous":false,"consistent":"yes","witness":{"role":"counterexample","assignment":{"a":false},"free":[],"values":[{"label":"always_true","value":true}],"replayed":true},"unknownReason":null},"satisfiable":{"kind":"satisfiable","verdict":"holds","summary":"always_true can be true: the witness makes it true.","method":"Exhaustively checked and solver cross-checked","rows":1,"inputs":1,"vacuous":false,"consistent":"yes","witness":{"role":"witness","assignment":{"a":false},"free":[],"values":[{"label":"always_true","value":true}],"replayed":true},"unknownReason":null}},"validity":null,"equivalence":null,"simplification":{"resultText":"TRUE","steps":[{"law":"complement","rule":"A OR NOT A = TRUE"}]},"forms":{"cnf":{"status":"complete","method":"algebraic","text":"TRUE","termCount":0,"literalCount":0,"reason":null,"laws":[{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]},"dnf":{"status":"complete","method":"algebraic","text":"TRUE","termCount":1,"literalCount":0,"reason":null,"laws":[{"law":"complement","lawName":{"en":"Complement","es":"Complemento"},"count":1}]}}}],"glossary":[{"key":"truth-table","title":{"en":"Truth table: meaning and examples","es":"Tabla de verdad: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/truth-table/","es":"/es/logica/glosario/tabla-de-verdad/"}},{"key":"tautology","title":{"en":"Tautology in logic: meaning and examples","es":"Tautología: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/tautology/","es":"/es/logica/glosario/tautologia/"}},{"key":"contradiction","title":{"en":"Contradiction in logic: meaning and examples","es":"Contradicción: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/contradiction/","es":"/es/logica/glosario/contradiccion/"}},{"key":"contingency","title":{"en":"Contingency in logic: meaning and examples","es":"Contingencia: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/contingency/","es":"/es/logica/glosario/contingencia/"}},{"key":"satisfiable","title":{"en":"Satisfiable in logic: meaning and examples","es":"Satisfacible: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/satisfiable/","es":"/es/logica/glosario/satisfacible/"}},{"key":"valid-argument","title":{"en":"Valid argument in logic: meaning and examples","es":"Argumento válido: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/valid-argument/","es":"/es/logica/glosario/argumento-valido/"}},{"key":"sound-argument","title":{"en":"Sound argument in logic: meaning and examples","es":"Argumento sólido: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/sound-argument/","es":"/es/logica/glosario/argumento-solido/"}},{"key":"counterexample","title":{"en":"Counterexample in logic: meaning and examples","es":"Contraejemplo: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/counterexample/","es":"/es/logica/glosario/contraejemplo/"}},{"key":"witness","title":{"en":"Witness (satisfying assignment): meaning and examples","es":"Testigo (asignación que satisface): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/witness/","es":"/es/logica/glosario/testigo/"}},{"key":"premise","title":{"en":"Premise in logic: meaning and examples","es":"Premisa: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/premise/","es":"/es/logica/glosario/premisa/"}},{"key":"conclusion","title":{"en":"Conclusion in logic: meaning and examples","es":"Conclusión: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/conclusion/","es":"/es/logica/glosario/conclusion/"}},{"key":"logical-equivalence","title":{"en":"Logical equivalence: meaning and examples","es":"Equivalencia lógica: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/logical-equivalence/","es":"/es/logica/glosario/equivalencia-logica/"}},{"key":"literal","title":{"en":"Literal in logic: meaning and examples","es":"Literal: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/literal/","es":"/es/logica/glosario/literal/"}},{"key":"clause","title":{"en":"Clause in logic: meaning and examples","es":"Cláusula: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/clause/","es":"/es/logica/glosario/clausula/"}},{"key":"term","title":{"en":"Term (product term): meaning and examples","es":"Término (término producto): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/term/","es":"/es/logica/glosario/termino/"}},{"key":"minterm","title":{"en":"Minterm: meaning and examples","es":"Mintérmino (minitérmino): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/minterm/","es":"/es/logica/glosario/mintermino/"}},{"key":"maxterm","title":{"en":"Maxterm: meaning and examples","es":"Maxtérmino: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/maxterm/","es":"/es/logica/glosario/maxtermino/"}},{"key":"sum-of-products","title":{"en":"Sum of products (SOP): meaning and examples","es":"Suma de productos (SOP): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/sum-of-products/","es":"/es/logica/glosario/suma-de-productos/"}},{"key":"product-of-sums","title":{"en":"Product of sums (POS): meaning and examples","es":"Producto de sumas (POS): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/product-of-sums/","es":"/es/logica/glosario/producto-de-sumas/"}},{"key":"dnf","title":{"en":"Disjunctive normal form (DNF): meaning and examples","es":"Forma normal disyuntiva (FND): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/dnf/","es":"/es/logica/glosario/forma-normal-disyuntiva/"}},{"key":"cnf","title":{"en":"Conjunctive normal form (CNF): meaning and examples","es":"Forma normal conjuntiva (FNC): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/cnf/","es":"/es/logica/glosario/forma-normal-conjuntiva/"}},{"key":"canonical-form","title":{"en":"Canonical form in Boolean algebra: meaning and examples","es":"Forma canónica: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/canonical-form/","es":"/es/logica/glosario/forma-canonica/"}},{"key":"negation-normal-form","title":{"en":"Negation normal form: meaning and examples","es":"Forma normal negativa: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/negation-normal-form/","es":"/es/logica/glosario/forma-normal-negativa/"}},{"key":"implicant","title":{"en":"Implicant: meaning and examples","es":"Implicante: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/implicant/","es":"/es/logica/glosario/implicante/"}},{"key":"prime-implicant","title":{"en":"Prime implicant: meaning and examples","es":"Implicante primo: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/prime-implicant/","es":"/es/logica/glosario/implicante-primo/"}},{"key":"essential-prime-implicant","title":{"en":"Essential prime implicant: meaning and examples","es":"Implicante primo esencial: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/essential-prime-implicant/","es":"/es/logica/glosario/implicante-primo-esencial/"}},{"key":"dont-care","title":{"en":"Don’t-care condition: meaning and examples","es":"Condición de indiferencia (don’t care): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/dont-care/","es":"/es/logica/glosario/condicion-de-indiferencia/"}},{"key":"gray-code","title":{"en":"Gray code: meaning and examples","es":"Código Gray: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/gray-code/","es":"/es/logica/glosario/codigo-gray/"}},{"key":"karnaugh-map","title":{"en":"Karnaugh map (K-map): meaning and examples","es":"Mapa de Karnaugh: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/karnaugh-map/","es":"/es/logica/glosario/mapa-de-karnaugh/"}},{"key":"quine-mccluskey","title":{"en":"Quine–McCluskey method: meaning and examples","es":"Método de Quine–McCluskey: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/quine-mccluskey/","es":"/es/logica/glosario/quine-mccluskey/"}},{"key":"logic-gate","title":{"en":"Logic gate: meaning and examples","es":"Compuerta lógica (puerta lógica): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/logic-gate/","es":"/es/logica/glosario/compuerta-logica/"}},{"key":"universal-gate","title":{"en":"Universal gate: meaning and examples","es":"Compuerta universal: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/universal-gate/","es":"/es/logica/glosario/compuerta-universal/"}},{"key":"fan-out","title":{"en":"Fan-out in digital logic: meaning and examples","es":"Fan-out (abanico de salida): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/fan-out/","es":"/es/logica/glosario/fan-out/"}},{"key":"combinational-logic","title":{"en":"Combinational logic: meaning and examples","es":"Lógica combinacional: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/combinational-logic/","es":"/es/logica/glosario/logica-combinacional/"}},{"key":"boolean-function","title":{"en":"Boolean function: meaning and examples","es":"Función booleana: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/boolean-function/","es":"/es/logica/glosario/funcion-booleana/"}},{"key":"boolean-expression","title":{"en":"Boolean expression: meaning and examples","es":"Expresión booleana: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/boolean-expression/","es":"/es/logica/glosario/expresion-booleana/"}},{"key":"proposition","title":{"en":"Proposition in logic: meaning and examples","es":"Proposición: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/proposition/","es":"/es/logica/glosario/proposicion/"}},{"key":"connective","title":{"en":"Logical connective: meaning and examples","es":"Conectiva lógica: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/connective/","es":"/es/logica/glosario/conectiva-logica/"}},{"key":"antecedent","title":{"en":"Antecedent in logic: meaning and examples","es":"Antecedente: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/antecedent/","es":"/es/logica/glosario/antecedente/"}},{"key":"consequent","title":{"en":"Consequent in logic: meaning and examples","es":"Consecuente: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/consequent/","es":"/es/logica/glosario/consecuente/"}},{"key":"converse","title":{"en":"Converse in logic: meaning and examples","es":"Recíproco: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/converse/","es":"/es/logica/glosario/reciproco/"}},{"key":"contrapositive","title":{"en":"Contrapositive in logic: meaning and examples","es":"Contrarrecíproco: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/contrapositive/","es":"/es/logica/glosario/contrarreciproco/"}},{"key":"inverse","title":{"en":"Inverse of an implication: meaning and examples","es":"Inverso (de una implicación): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/inverse/","es":"/es/logica/glosario/inverso/"}},{"key":"vacuous-truth","title":{"en":"Vacuous truth in logic: meaning and examples","es":"Verdad vacua: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/vacuous-truth/","es":"/es/logica/glosario/verdad-vacua/"}},{"key":"assumption","title":{"en":"Assumption (domain constraint): meaning and examples","es":"Supuesto (restricción del dominio): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/assumption/","es":"/es/logica/glosario/supuesto/"}},{"key":"decision-table","title":{"en":"Decision table: meaning and examples","es":"Tabla de decisión: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/decision-table/","es":"/es/logica/glosario/tabla-de-decision/"}},{"key":"decision-coverage","title":{"en":"Decision coverage in software testing: meaning and examples","es":"Cobertura de decisión: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/decision-coverage/","es":"/es/logica/glosario/cobertura-de-decision/"}},{"key":"condition-coverage","title":{"en":"Condition coverage in software testing: meaning and examples","es":"Cobertura de condición: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/condition-coverage/","es":"/es/logica/glosario/cobertura-de-condicion/"}},{"key":"mcdc","title":{"en":"MC/DC (modified condition/decision coverage): meaning and examples","es":"MC/DC (cobertura de condición/decisión modificada): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/mcdc/","es":"/es/logica/glosario/mc-dc/"}},{"key":"independence-pair","title":{"en":"Independence pair in MC/DC: meaning and examples","es":"Par de independencia: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/independence-pair/","es":"/es/logica/glosario/par-de-independencia/"}},{"key":"mutation-testing","title":{"en":"Mutation testing: meaning and examples","es":"Pruebas de mutación: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/mutation-testing/","es":"/es/logica/glosario/pruebas-de-mutacion/"}},{"key":"mutant","title":{"en":"Mutant in mutation testing: meaning and examples","es":"Mutante (superviviente, eliminado): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/mutant/","es":"/es/logica/glosario/mutante/"}},{"key":"regression-test","title":{"en":"Regression test: meaning and examples","es":"Prueba de regresión: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/regression-test/","es":"/es/logica/glosario/prueba-de-regresion/"}},{"key":"test-oracle","title":{"en":"Test oracle (expected result): meaning and examples","es":"Oráculo de prueba (resultado esperado): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/test-oracle/","es":"/es/logica/glosario/oraculo-de-prueba/"}},{"key":"exhaustive-check","title":{"en":"Exhaustive check: meaning and examples","es":"Comprobación exhaustiva: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/exhaustive-check/","es":"/es/logica/glosario/comprobacion-exhaustiva/"}},{"key":"sat-solver","title":{"en":"SAT solver: meaning and examples","es":"Solucionador SAT: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/sat-solver/","es":"/es/logica/glosario/solucionador-sat/"}},{"key":"subcircuit","title":{"en":"Subcircuit (reusable block): meaning and examples","es":"Subcircuito (bloque reutilizable): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/subcircuit/","es":"/es/logica/glosario/subcircuito/"}},{"key":"glossary-variable","title":{"en":"Variable and its glossary description: meaning and examples","es":"Variable (entrada) y significado del glosario: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/glossary-variable/","es":"/es/logica/glosario/variable/"}},{"key":"decision-mode","title":{"en":"Decision mode vs argument mode: meaning and examples","es":"Modo decisión frente a modo argumento: definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/decision-mode/","es":"/es/logica/glosario/modo-decision/"}},{"key":"notation","title":{"en":"Notation (words, programming, mathematical, algebra): meaning and examples","es":"Notación (palabras, programación, matemática, álgebra): definición, ejemplo y equivalente en inglés"},"url":{"en":"/logic/glossary/notation/","es":"/es/logica/glosario/notacion/"}}]}