Haskell/Solutions/Monoids

The class
1. Warning: very slow proofs ahead.

The two more common monoids for  are those under conjunction ("and" i.e.  ) and disjunction ("or" i.e.  ). They are the ones in  :

Note that, since  is commutative (that is,  ), if the left identity law holds right identity will hold too, and vice-versa. That means we only needed to prove one of the identity laws. We will use this shortcut in the following answers.

Exclusive disjunction ("either-or", "XOR") and material equivalence ("if-and-only-if", logical bicondicional) also form monoids.