From Algebraic Word Problem to Program: A Formalized Approach