fact: Fixpoint Kfind_root (r: K) (l: list K) {struct l} : option K := match l with | nil => None | r1 :: l1 => if (ksub r (kmul r1 r1)) ?0 then Some r1 else Kfind_root r l1 end.
imports: Arith_base Field_tac Ring Eqdep_dec FGroup List UList ZArith