HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem consensus 574
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 show the term (ps /\ ch) on the left-hand side is redundant.
Assertion
Ref Expression
consensus |- ((((ph /\ ps) \/ (-. ph /\ ch)) \/ (ps /\ ch)) <-> ((ph /\ ps) \/ (-. ph /\ ch)))

Proof of Theorem consensus
StepHypRef Expression
1 id 9 . . 3 |- (((ph /\ ps) \/ (-. ph /\ ch)) -> ((ph /\ ps) \/ (-. ph /\ ch)))
2 dedlema 569 . . . . . . 7 |- (ph -> (ps <-> ((ps /\ ph) \/ (ch /\ -. ph))))
32biimpd 135 . . . . . 6 |- (ph -> (ps -> ((ps /\ ph) \/ (ch /\ -. ph))))
43adantrd 308 . . . . 5 |- (ph -> ((ps /\ ch) -> ((ps /\ ph) \/ (ch /\ -. ph))))
5 dedlemb 570 . . . . . . 7 |- (-. ph -> (ch <-> ((ps /\ ph) \/ (ch /\ -. ph))))
65biimpd 135 . . . . . 6 |- (-. ph -> (ch -> ((ps /\ ph) \/ (ch /\ -. ph))))
76adantld 307 . . . . 5 |- (-. ph -> ((ps /\ ch) -> ((ps /\ ph) \/ (ch /\ -. ph))))
84, 7pm2.61i 110 . . . 4 |- ((ps /\ ch) -> ((ps /\ ph) \/ (ch /\ -. ph)))
9 ancom 333 . . . . 5 |- ((ps /\ ph) <-> (ph /\ ps))
10 ancom 333 . . . . 5 |- ((ch /\ -. ph) <-> (-. ph /\ ch))
119, 10orbi12i 216 . . . 4 |- (((ps /\ ph) \/ (ch /\ -. ph)) <-> ((ph /\ ps) \/ (-. ph /\ ch)))
128, 11sylib 173 . . 3 |- ((ps /\ ch) -> ((ph /\ ps) \/ (-. ph /\ ch)))
131, 12jaoi 275 . 2 |- ((((ph /\ ps) \/ (-. ph /\ ch)) \/ (ps /\ ch)) -> ((ph /\ ps) \/ (-. ph /\ ch)))
14 orc 225 . 2 |- (((ph /\ ps) \/ (-. ph /\ ch)) -> (((ph /\ ps) \/ (-. ph /\ ch)) \/ (ps /\ ch)))
1513, 14impbi 139 1 |- ((((ph /\ ps) \/ (-. ph /\ ch)) \/ (ps /\ ch)) <-> ((ph /\ ps) \/ (-. ph /\ ch)))
Colors of variables: wff set class
Syntax hints:  -. wn 1   -> wi 2   <-> wb 127   \/ wo 195   /\ wa 196
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198
metamath.org