  Since its inception the Metropolis-Hastings kernel has been applied in
sophisticated ways to address ever more challenging and diverse sampling
problems. Its success stems from the flexibility brought by the fact that its
verification and sampling implementation rests on a local ``detailed balance''
condition, as opposed to a global condition in the form of a typically
intractable integral equation. While checking the local condition is routine in
the simplest scenarios, this proves much more difficult for complicated
applications involving auxiliary structures and variables. Our aim is to
develop a framework making establishing correctness of complex Markov chain
Monte Carlo kernels a purely mechanical or algebraic exercise, while making
communication of ideas simpler and unambiguous by allowing a stronger focus on
essential features -- a choice of embedding distribution, an involution and
occasionally an acceptance function -- rather than the induced, boilerplate
structure of the kernels that often tends to obscure what is important. This
framework can also be used to validate kernels that do not satisfy detailed
balance, i.e. which are not reversible, but a modified version thereof.
