如何证明以下两个表达式相同?
(A && C) || (B && C)
(A || B) && C
答案 0 :(得分:3)
证明(A && C) || (B && C) ≡ (A || B) && C
是一个简单的证明。
让我们从等式的右边开始,然后到左边。
通过逻辑分布定律,可以证明对于所有命题P,Q和R,P && (Q || R) ≡ (P && Q) || (P && R)
。
通过逻辑可换律,可以证明对于所有命题P和Q,P && Q ≡ Q && P
使用它,我们可以证明上面的陈述是等效的。
(A || B) && C ≡ C && (A || B)
(通过交换律)
C && (A || B) ≡ (C && A) || (C && B)
(通过分配法)
(C && A) || (C && B) ≡ (A && C) || (B && C)
(通过交换律)
因此,我们有(A && C) || (B && C) ≡ (A || B) && C
答案 1 :(得分:0)
(A && C) || (B && C) ≡ (A || B) && C
是一个简单的证据。
让我们从所有可能排列的列表开始,然后进行测试。
const permutations = [
[false, false, false],
[false, false, true],
[false, true, false],
[false, true, true],
[true, false, false],
[true, false, true],
[true, true, false],
[true, true, true],
];
permutations.forEach(permutation => {
const [A, B, C] = permutation;
console.log(((A && C) || (B && C)) === ((A || B) && C));
});