如何高效地减少这个逻辑语句?

How to efficiently reduce this logic sentence?

我有一句话描述一个电路,像这样:

I x (Q1 x Q0 + not Q1 x not Q0) + not I x (not Q1 x Q0 + Q1 x not Q0)

我是这样翻译的:

I and ((Q1 and Q0) or (!Q1 and !Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0)) ->
I and ((Q1 and Q0) or !(Q1 or Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0)) ->
I and (!(Q1 xor Q0)) or !I and (Q1 xor Q0)

但是我卡在了这一点上,有没有简单的方法可以让它更紧凑,或者我必须一点一点地解决table?

减少

1. I and ((Q1 and Q0) or (!Q1 and !Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0))
   ≡
2. I and ((Q1 and Q0) or !(Q1 or Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0))
   ≡
3. I and !(!(Q1 and Q1) and (Q1 or Q0)) or !I and ((!Q1 and Q0) or (Q1 and !Q0))
   ≡
4. I and !(Q0 xor Q1) or !I and (Q0 xor Q1)
   ≡
5. I xor (Q0 xor Q1)
   ≡
6. I xor Q0 xor Q1

原因

1 ≡ 2:德摩根

2 ≡ 3:德摩根

3 ≡ 4: xor

的定义

4 ≡ 5: xor

的定义

5 ≡ 6: xor

的结合性