fact: Definition symf1 (p : {mpoly R[n]}) : {mpoly R[n]} * {mpoly R[n]} := if p == 0 then (0, 0) else let m := mlead p in let c := nth 0%N m in let F := fun i => (c i - c i.+1)%N in (p@_m *: 'X_[F#val], p - p@_m *: ('X_[F#val] \mPo S)).
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq path) mathcomp(choice fintype tuple finfun bigop finset binomial) mathcomp(order fingroup perm ssralg zmodp poly ssrint) mathcomp(matrix vector) mathcomp(bigenough) ssrcomplements freeg