The product of sums in boolean function - boolean

I have a function
A'B'C + AC'D + ABC + BC'D'
I have simplified to
C(A'B' + AB) + C'(AD + BD')
(C + AD + BD')(C' A'B' + AB)
Is this the right course? The last step is where I am getting stuck.

Related

how to implement variable length argument function in scala

I have to concatenate k different lengths of strings into one string res and save res string into ArrayBuffer[String]().
But the k is variable.
For example,
val result = new ArrayBuffer[String]()
result.+=("1\t" + A.toString() + "\t" + ls.pid + "\t" + ls.did + "\t" + ls.sid + "\t" + ls.request_time.substring(0,10))
result.+=("2\t" + B.toString() + "\t" + ls.pid + "\t" + ls.did + "\t" + ls.sid + "\t")
result.+=("2\t" + B.toString() + "\t" + ls.pid + "\t" + ls.did + "\t")
result.+=("2\t" + B.toString() + "\t")
How to use a function with a variable-length argument to implement it?
Thanks in advance.
You can use the following syntax:
def f(args: String*) = {
args.map{s =>
//todo: process single item
s
}
}

Boolean Algebra expression simplification with mulitple theoerms

How does this does this Boolean expression simplify? I have used theorem 8, 7 and distribution.
However, I am coming up short on this and it becomes massively long and complex, which strikes me as wrong. Please can anyone help
(A+!C+!D)(!B+!C+D)(A+!B+!C)
I'm pully my hair out on this
I've no idea if this is the most simplified one. I get this:
(A + !C + !D)*(!B + !C + D)*(A + !B + !C)
|
|
V
(A*!B + A*!C + A*D + !B*!C + !C + !C*D + !B*!D + !C*!D)*(A + !B + !C)
|
| Absorption Law applied to '!C'
V
(A*!B + A*D + !C + !B*!D)*(A + !B + !C)
|
|
V
A*!B + A*!B + A*!B*!C + A*D + A*!B*D + A*!C*D + A*!C + !B*!C + !C + A*!B*!D + !B*!D + !B*!C*!D
|
| Absorption Law applied to '!C1', 'A*!B', and '!B*!D'
V
A*!B + A*D + !C + !B*!D

Simplifying Boolean algebra expression with two brackets

Could someone please show me how to get the answer? The correct answer is c):
Simplify the following Boolean algebraic expressions (where ’ means not):
A.B’ + A.(B + C)’ + B.(B + C)’
a) B.C’
b) B + C
c) A.B’
d) A + B’
e) None of the above
First simplify the parentheses
A.B’ + A.(B + C)’ + B.(B + C)’=
A.B’ + A.B’.C’ + B.B’.C’
Now B.B’=0 so the third term is gone:
A.B’ + A.B’.C’
Now you can regroup A.B’:
A.B’.(1 + C’)
Finally 1+C’=1 so all that's left is
A.B’

Anyone knows Reduce Boolean Expression

Anyone can help me reduce this to 4 literals?
F = ( A + C + D) ( A + C + D') (A + C' + D) ( A + B')
i tested in logic friday the answer was F = C D B' + A.
Assuming the ⋅ operator represents binary conjunction, the + binary disjunction and the ' or the ¬ unary negation, I would apply the laws of Boolean algebra this way:
(a + c + d)⋅(a + c + ¬d)⋅(a + ¬c + d)⋅(a + ¬b)
((a + d) + (c⋅¬c))⋅(a + c + ¬d)⋅(a + ¬b) //distributivity
((a + d) + (0))⋅(a + c + ¬d)⋅(a + ¬b) //complementation: c⋅¬c = 0
(a + d)⋅(a + c + ¬d)⋅(a + ¬b) //identity for +: (a + d) + (0) = (a + d)
(a) + (d⋅(c + ¬d)⋅¬b) //distributivity
(a) + ((d⋅c + d⋅¬d))⋅¬b) //distributivity: d⋅(c + ¬d) = (d⋅c + d⋅¬d)
(a) + ((d⋅c + 0))⋅¬b) //complementation: d⋅¬d = 0
(a) + (d⋅c⋅¬b) //identity for +: (d⋅c + 0) = d⋅c
a + ¬b⋅c⋅d
The final line is the minimal DNF. You can also transform it to it's minimal CNF this way:
(a) + (¬b⋅c⋅d)
(a + ¬b)⋅(a + c)⋅(a + d) //distributivity
For this small number of variables, you could have used Karnaugh maps to quickly find the minimal forms or to control your result. In the following picture (generated using latex) is the original expression next to it's minimal DNF and minimal CNF.
After finding the mean term you can use
Quine McCluskey Technique to solve the experssion. The result will same as K-Map. But it is fast technique for many veriable boolean expression.
Quine McCluskey online solver

How do I simplify the boolean expression A+A'BC+BC'?

I'm trying to solve this:
So far I have:
a) a+b+c
b) a+bc
c) a+b
d) a+b
But for e) I can't progress further since I don't know how to deal with a'bc in this case. Can anyone help?
e) The expression is [a + (~a)bc + (~b)c]
a + [(~a)b + (~b)]c we can say that [(~a)b + (~b)] <--> [(~a) + (~b)] (Prove it by yourself:-)
a + [(~a) + (~b)]c
a + (~a)c + (~b)c we can say that [a + (~a)c] <--> [a + c]
a + c + (~b)c it is obvious that [c + (~b)c] <--> [c]
So [a + c] is the reduced expression.