Solve boolean function solving for function?

52 Views Asked by At

given boolean formula like this (just an example):

 ~(~x & fun(x) ) & ~( fun(x) & x) = 1

how can you figure a 'shortest' formula/function (fun(x) in this case ) that will solve the equation.

What is the procedure ? I'm looking for function of 'x' i.e. using 'x' as argument ? Not solving for x!

If no solution I want to bump the arguments to two and try again i.e. fun(x1,x2) /and modify the formula to use two vars of course/

1

There are 1 best solutions below

0
On

To get $1$ or true as right-hand-side, both operands of the conjunction on the left have to be true:

$$\lnot (\lnot x \land f(x) ) = 1$$

$$\lnot ( f(x) \land x) = 1$$

By inverting the equations:

$$\lnot x \land f(x) = 0$$

$$f(x) \land x = 0$$

This can only hold for the constant function $f(x) = 0$.

It is not always possible to simplify a problem using a divide-and-conquer approach.

For functions with only a small number of arguments, it might be feasible to trie all possible functions. For $n$ arguments, there are $2^{2^n}$ different functions.

Some generally applicable procedures can be found under the name Boolean resolution.