Not quite. lerp(a, b, c) = a + c * (b - a) = d
To calculate c from a, b and d, you'd rearrange to solve for c:
a + c * (b - a) = d
c * (b - a) = d - a
c = (d - a) / (b - a)
e.g. if lerp(10, 20, 0.5) = 15
then the other way round, given a = 10, b = 20 and d = 15:
c = (15 - 10) / (20 - 10)
c = 5 / 10
c = 0.5
I'm wondering if an "unlerp" system expression would be a useful addition. So unlerp(a, b, d) would return c, e.g. unlerp(10, 20, 15) = 0.5