Algorithm Development in the Calculus of Constructions