Let #f(x)# be defined and continuous in #[a,b]# and #g(x)# defined and differantiable in #[c,d]# with values in #[a,b]#, such that #g(c) =a# and #g(d) = b#.

Suppose also for simplicity that #g'(x) >0#.

The chain rule states that:

#d/dx [f(g(x))] = f'(g(x)) g'(x)#

Consider now the definite integral as limit of the Riemann sum:

# int_c^d f'(g(x)) g'(x)dx = lim_(N->oo) sum_(n=0)^N f(g(xi_k))g'(xi_k)(x_(k+1)-x_k)#

where #x_0 < x_1 < ... < x_N in [c,d]# and #xi_k in (x_k,x_(k+1))#.

As the choice of #xi_k# in the interval is arbitrary we can choose them as the points for which, based on Lagrange's theorem:

#g'(xi_k) = (g(x_(k+1))-g(x_k))/(x_(k+1)-x_k)#

so:

# int_c^d f'(g(x)) g'(x)dx = lim_(N->oo) sum_(n=0)^N f'(g(xi_k))(g(x_(k+1))-g(x_k))#

Let now: #y_k = g(x_k)#. As #g'(x) > 0# the function is strictly increasing so: #y_0 < y_1 <... < y_N#

Then:

# int_a^b f'(g(x)) g'(x)dx = lim_(N->oo) sum_(n=0)^N f'(y_k)(y_(k+1)-y_k)#

but this is a Riemann sum of #f(y)# for #y in [a,b]#, so:

# int_c^d f'(g(x)) g'(x)dx = int_a^b f'(y) dy = f(b)-f(a)#