Section AdjointTheorems.
Context {funcp: expr -> expr -> expr}
{Adj: Adjointness L Gamma prodp funcp}.

(* TODO: l/r wrong *)
Lemma prodp_orp_distr_r {Comm: Commutativity L Gamma prodp}: forall x y z: expr,
|-- prodp x (y || z) <--> (prodp x y || prodp x z).