def dup_sqf_p(f, K):
 if (not f):
  return True
 else:
  return (not dup_degree(dup_gcd(f, dup_diff(f, 1, K), K)))

def dup_sqf_p ( f , K ) : if ( not f ) : return True else : return ( not dup_degree ( dup_gcd ( f , dup_diff ( f , 1 , K ) , K ) ) )
return true if f is a square-free polynomial in k[x] .