Булево выражение с законами - PullRequest
0 голосов
/ 18 октября 2019

Здравствуйте, кто-нибудь может мне помочь? Как это логическое выражение упростилось?

abcd + d

оно упростилось как:

d

я пытаюсь использовать законы, которых я совсем не понимаю

Вот законы

Basic Boolean Laws
Idempotent Law
    A * A = A
    A + A = A 
Associative Law
    (A * B) * C = A * (B * C)
    (A + B) + C = A + (B + C) 
Commutative Law
    A * B = B * A
    A + B = B + A 
Distributive Law
    A * (B + C) = A * B + A * C
    A + (B * C) = (A + B) * (A + C) 
Identity Law
    A * 0 = 0     A * 1 = A
    A + 1 = 1     A + 0 = A 
Complement Law
    A * ~A = 0
    A + ~A = 1 
Involution Law
    ~(~A) = A 
DeMorgan's Law
    ~(A * B) = ~A + ~B
    ~(A + B) = ~A * ~B 
Redundancy Laws
Absorption
    A + (A * B) = A
    A * (A + B) = A 

    (A * B) + (A * ~B) = A
    (A + B) * (A + ~B) = A 

    A + (~A * B) = A + B
    A * (~A + B) = A * B 

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Это действительно D, следующим образом:

abcd+d -> (a+d)*(b+d)*(c+d)*(d+d) // Distributive Law  
(a+d)*(b+d)*(c+d)*(d+d) -> (a+d)*(b+d)*(c+d)*d // Idempotent Law - d+d=d  
(a+d)*(b+d)*(c+d)*d -> (a+d)*(b+d)*d  // Redundancy Laws - (c+d)*d = d  
(a+d)*(b+d)*d -> (a+d)*d  // Redundancy Laws - (b+d)*d = d  
(a+d)*d -> d  // Redundancy Laws - (a+d)*d = d  
0 голосов
/ 18 октября 2019

Логическое выражение: abcd + d можно упростить как -

LHS = abcd + d    [Assume: abcd + d*1  as A * 1 = A ]
    = d(abc + 1)  [Distributive Law]
    = d(1 + abc)
    = d(1) [Identity Law (A + 1 = 1)]
    = d    [Identity Law (A * 1 = A)]
    = RHS
...