Question: how to simplify this logic?

https://drive.google.com/file/d/0Bxs_ao6uuBDUNmd5ZVJtX29GT3c/view?usp=sharing
https://drive.google.com/file/d/0Bxs_ao6uuBDUSUdHSTcwSEQtS3M/view?usp=sharing

would like to return K map of P1

Summation expression for logic only consider 1 but how about wildcard x ?

if consider wildcard x as 1 too, then will use below

source = [[0,0,1,0],[0,0,1,1],[0,1,0,1],[0,1,1,0],[0,1,1,1],[1,0,0,0],[1,0,0,1],[1,0,1,0],[1,0,1,1],[1,1,0,0],[1,1,0,1],[1,1,1,0],[1,1,1,1]];
i use Quine Mccluskey algorithm

got result below

wildcard is 5 or x
[[0, 5, 1, 5], [5, 0, 1, 5], [5, 5, 1, 0], [1, 0, 5, 5], [1, 5, 0, 5], [1, 5, 5, 0], [5, 5, 1, 1], [5, 1, 5, 1], [5, 1, 1, 5], [1, 5, 5, 1], [1, 5, 1, 5], [1, 1, 5, 5]]
A'C + B'C + CD' + AB' + AC' + AD' + CD + BD + BC + AD + AC + AB
 
table1 = [[0,0,0,0],
[0,0,0,1],
[0,0,1,0],
[0,0,1,1],
[0,1,0,0],
[0,1,0,1],
[0,1,1,0],
[0,1,1,1],
[1,0,0,0],
[1,0,0,1],
[1,0,1,0],
[1,0,1,1],
[1,1,0,0],
[1,1,0,1],
[1,1,1,0],
[1,1,1,1]];
 
loand(lonot(tt[0]),tt[2])
loand(lonot(tt[1]),tt[2])
loand(lonot(tt[3]),tt[2])
loand(lonot(tt[1]),tt[0])
loand(lonot(tt[2]),tt[0])
loand(lonot(tt[3]),tt[0])
loand(tt[2],tt[3])
loand(tt[1],tt[3])
loand(tt[1],tt[2])
loand(tt[0],tt[3])
loand(tt[0],tt[2])
loand(tt[0],tt[1])
 
loor(loor(loor(loor(loor(loor(loor(loor(loor(loor(loor(loand(lonot(tt[0]),tt[2]),
loand(lonot(tt[1]),tt[2])),
loand(lonot(tt[3]),tt[2])),
loand(lonot(tt[1]),tt[0])),
loand(lonot(tt[2]),tt[0])),
loand(lonot(tt[3]),tt[0])),
loand(tt[2],tt[3])),
loand(tt[1],tt[3])),
loand(tt[1],tt[2])),
loand(tt[0],tt[3])),
loand(tt[0],tt[2])),
loand(tt[0],tt[1]));
def lonot(z):
    if z == 1:
        return 0
    else:
        return 1
def loand(a, b):
    if a == 1 and b == 1:
        return 1
    else:
        return 0
def loor(a, b):
    if a == 0 and b == 0:
        return 0
    else:
        return 1
#A'C + B'C + AB' + CD + A'BD
for tt in table1:
    print loor(loor(loor(loor(loor(loor(loor(loor(loor(loor(loor(loand(lonot(tt[0]),tt[2]),
loand(lonot(tt[1]),tt[2])),
loand(lonot(tt[3]),tt[2])),
loand(lonot(tt[1]),tt[0])),
loand(lonot(tt[2]),tt[0])),
loand(lonot(tt[3]),tt[0])),
loand(tt[2],tt[3])),
loand(tt[1],tt[3])),
loand(tt[1],tt[2])),
loand(tt[0],tt[3])),
loand(tt[0],tt[2])),
loand(tt[0],tt[1]));
 
finally i use python to verify
return
0
0
1
1
0
1
1
1
1
1
1
1
1
1
1
1
 
seems correct if wildcard is 1 too, but
can boolean simplify function simplify this
A'C + B'C + CD' + AB' + AC' + AD' + CD + BD + BC + AD + AC + AB
 
to
 
C + A + B.D   which is
P1 = D + Q0 + Q1.N in png file ?
Please Wait...