The following is a rough exposition of what the requirement for differentiability on the parameters means here. $U$ involves the log posterior up to an additive constant where $\theta$ are the model parameters. The requirement for differentiability is essentially that one can make a miniscule change to a parameter $\theta$ and this will return a small change in the posterior $U(\theta)$. Problems of this sort often crop up in some important cases: - Parameters which can take on only a few discrete values. E.g. counts, categories, binary variables. To see think about what happens if we have $U(\theta)$ defined on $\theta \in \{\ 0, 1\}$ and what happens if you add a small number e.g. $\theta' = \theta + 1/100000$, we get a value which is no longer valid to even plug into our $U$. - Parameters on intervals with at least one boundary, e.g lengths, times etc. (what happens if we take a small step to the left at $\theta=0$ when we have a requirement that $\theta \geq 0$?) HMC needs this because it operates by adding small changes to $\theta$. The differentiability requirement is, then, roughly that the probability won't fall off a cliff if we make a small change to $\theta$. Work-arounds exist for many such problems, but will generally require reparameterisation of the likelihood and prior.