Deriving Differentiation