Metamath Proof Explorer


Theorem consensus

Description: The consensus theorem. This theorem and its dual (with \/ and /\ interchanged) are commonly used in computer logic design to eliminate redundant terms from Boolean expressions. Specifically, we prove that the term ( ps /\ ch ) on the left-hand side is redundant. (Contributed by NM, 16-May-2003) (Proof shortened by Andrew Salmon, 13-May-2011) (Proof shortened by Wolf Lammen, 20-Jan-2013)

Ref Expression
Assertion consensus ⊢ φ ∧ ψ ∨ ¬ φ ∧ χ ∨ ψ ∧ χ ↔ φ ∧ ψ ∨ ¬ φ ∧ χ

Proof

Step Hyp Ref Expression
1 id ⊢ φ ∧ ψ ∨ ¬ φ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ
2 orc ⊢ φ ∧ ψ → φ ∧ ψ ∨ ¬ φ ∧ χ
3 2 adantrr ⊢ φ ∧ ψ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ
4 olc ⊢ ¬ φ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ
5 4 adantrl ⊢ ¬ φ ∧ ψ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ
6 3 5 pm2.61ian ⊢ ψ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ
7 1 6 jaoi ⊢ φ ∧ ψ ∨ ¬ φ ∧ χ ∨ ψ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ
8 orc ⊢ φ ∧ ψ ∨ ¬ φ ∧ χ → φ ∧ ψ ∨ ¬ φ ∧ χ ∨ ψ ∧ χ
9 7 8 impbii ⊢ φ ∧ ψ ∨ ¬ φ ∧ χ ∨ ψ ∧ χ ↔ φ ∧ ψ ∨ ¬ φ ∧ χ