let degree =
let rec
degree_aux = function
p -> (* not (is_null_poly (p)) *)
let
(a, q) = inv_cons_poly (p)
in
if is_null_poly (q)
then 0
else 1 + degree_aux (q)
in
function
p -> if not (is_null_poly (p))
then degree_aux (p)
else failwith ("degree : requires a non-null polynomial as its argument")