¿Cómo obtengo una expresión lógica que genere los valores de verdad en la última columna de una tabla de verdad?

Hay muchas formas simples de hacer esto, por ejemplo, el método de suma de productos.
En este método, para cada valor verdadero de los resultados, debe tomar el producto de todas las variables verdaderas y complementar todas las variables falsas. Luego tome la suma de esto para obtener el resultado final. Luego puede usar varios métodos para simplificar la expresión.

p.ej

Aquí F es el resultado requerido y es cierto en las 4 filas del medio.
Entonces, para cada una de las 4 filas, tome el producto de los valores de las variables verdaderas y el complemento de las variables falsas:
a B C
a B C
A B C
A B C
((aquí utilicé mayúsculas para variables y minúsculas para complementos: es decir, a = ~ A & b = ~ B & c = ~ C))
Ahora toma la suma, para obtener:

F = aBc + aBC + Abc + AbC

Esta es la expresión de F en términos de A y B y C.
Es posible que pueda simplificar esta expresión con varios métodos.

Este es un problema central del área de síntesis lógica: dada una función booleana n-aria [matemática] f: \ {0,1 \} ^ n \ rightarrow \ {0,1 \} [/ matemática] (donde [matemática ] 0 [/ math] significa verdadero y [math] 1 [/ math] significa falso), encuentre una fórmula proposicional [math] \ phi [/ math] con [math] n [/ math] variables tales que para un [math] n [/ math] -ary vector de valores de verdad, [math] f (\ vec {v}) [/ math] es igual al valor de verdad de [math] \ phi (\ vec {v}) [ / math], es decir [math] \ phi [/ math] instanciado con los valores de [math] \ vec {v} [/ math].

La pregunta no menciona el número de variables, pero como el número de filas de una tabla de verdad proposicional es siempre [matemática] 2 ^ n [/ matemática] para algunos [matemática] n [/ matemática], esto no es una preocupación importante .

Una solución trivial es escribir una conjunción de cláusulas implicativas que juntas definan la función booleana. Digamos que usted sabe que [matemáticas] f (1,0) = 0 [/ matemáticas] y que [matemáticas] f (1,1) = 1 [/ matemáticas]. Entonces obtienes las cláusulas

[matemáticas] x_1 \ cuña \ neg x_2 \ Flecha derecha \ neg x_3 [/ matemáticas]
[matemáticas] x_1 \ cuña x_2 \ Flecha derecha x_3 [/ matemáticas]

Sin embargo, dicha fórmula será exponencial en el número de variables.

La síntesis lógica está íntimamente relacionada con el diseño de circuitos, ya que un circuito digital esencialmente compone una función booleana por medio de compuertas (que corresponden cada una a un conectivo específico), por lo que probablemente no sea sorprendente que haya un gran cuerpo de trabajo en el área.

Eche un vistazo al video Introducción a la síntesis lógica o al artículo de Wikipedia sobre síntesis lógica.

Pruebe esto: una tautología Q que depende de las variables x1, …, XN y la proposición P que depende de una variable y. Entonces Q & P depende de x1, …, xN, Y y el valor de la tabla de verdad siempre es igual al valor de Y.

Tenga en cuenta que una expresión booleana siempre se formula a partir de la lista de conectivos que proporcionó y solo aquellos.