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 edivp_eq d q r : size r < size d -> edivp (q * d + r) d = (0%N, q, r).