Section FieldDivision.
Variable F : fieldType.
Implicit Type p q r d : {poly F}.
Variant edivp_spec m d : nat * {poly F} * {poly F} -> Type :=
EdivpSpec n q r of
m = q * d + r & (d != 0) ==> (size r < size d) : edivp_spec m d (n, q, r).

Lemma modp_mul p q m : (p * (q %% m)) %% m = (p * q) %% m.