fact: Fixpoint addXn_const (n : N) a (q : hpoly A) := match q with | Pc b => if (n == 0)%C then Pc (a + b) else PX b (cast n) (Pc a) | PX b m q' => let cn := cast n in if (n == 0)%C then PX (a + b) m q' else if (n == cast m)%C then PX b m (addXn_const 0 a q') else if (n < cast m)%C then PX b cn (PX a (m - cn) q') else PX b m (addXn_const (n - cast m)%C a q') end.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq zmodp) mathcomp(path choice fintype tuple finset ssralg bigop poly polydiv) CoqEAL(param refinements pos hrel poly_op)