The Velocities of the Contact Points of Two Rolling Curves are Equal at the Instant of Contact

Personally I think the theorem is intuitively obvious and requires no proof. But if you really want one. We prove the theorem in one direction and the other one is left as an exercise. So let us prove that the arc-length definition of rolling will result in the velocity definition.

Step 1: Change Coordinates

Since the statement is that the relative velocities are 0, what we can do is to change to a moving coordinate system so that body #2 remains stationary, with the point of contact (the one at which we will take the derivative) fixed at the origin, and that the tangent line to body #2 is horizontal at the origin (so it is the $x$ axis).

Step 2: $y$ or Normal Velocity (Optional)

It is clear that the $y$ velocity is zero, at least if we assume that the position of the "point" is required to be a $C^1$ function of time, since then the $y$ coordinate of the position of the point attains a local minimum there.

If you allow infinite rotation speeds (so that the position need not be a differentiable function of time), then your theorem doesn't even make sense. So the differentiability assumption is, I think, implicit in your theorem. However, if you don't like this reasoning the next step will take care of the whole velocity vector.

Step 3: $x$ or Tangential Velocity

We will approach this by assuming that the points of contact travels along body #2 with constant speed (this assumption is not essential since it can be gotten rid of by applying the chain rule), and tracking the motion of the point on body #1 which contacts body #2 at the origin. Also, this part proves that

enter image description here

First place the two curves so that they are in contact at the origin, with body #2 as in step 1. Let $s$ be the (signed) arclength parameter as measured from the origin, with $\gamma_2$ the curve for body #2 and $\gamma_1$ the curve for body #1. Let $\theta_i = \theta_i(s)$ be the functions defined by $$ \tan \theta_i(s) = \text{slope at } \gamma_i(s) $$ Note that by our normalization $\gamma_1(s) = \gamma_1(s) - \gamma_1(0)$ is the vector to move from $\gamma_1(0)$ (which is the origin) to $\gamma_1(s)$. (See the graph in the image above)

Then the position of the relevant point $C_1$ on body #1 as you roll can be parameterized by

$$ \gamma_2(s) - R(\theta_1(s) - \theta_2(s))[\gamma_1(s)] $$

where $R(\theta)$ denote a clockwise rotation by angle $\theta$. In fact, we do a translation by $\gamma_2(s)$ and then a clockwise rotation by $R(\theta_1(s) - \theta_2(s))[\gamma_1(s)]$ to obtain the current position of $C_2$. The amount the graph $\gamma_1$ has rotated is exactly $\theta_1 - \theta_2$ [notice that we take the signed angle so $\theta_2 < 0$ in the illustration].

Since $\theta_1(0) = \theta_2(0) = 0$ by assumption, and that $\gamma_1(0) = 0$, you have that the derivative of the above function, evaluated at $s = 0$, gives

$$ \dot{\gamma}_2(0) - \dot{\gamma}_1(0) = (1,0) - (1,0) = 0.$$

where $\dot{\gamma}$ is the derivative with respect to $s$.