let rec mult_poly = function
p1, p2 -> if is_null_poly (p1)
then null_poly ()
else
let
(a1, q1) = inv_cons_poly (p1)
in
add_poly (rat_times_poly (a1, p2), x_times (mult_poly (q1, p2)))