code: def dmp_sqf_p(f, u, K):
      """
      Return ``True`` if ``f`` is a square-free polynomial in ``K[X]``.
  
      Examples
      ========
  
      >>> from sympy.polys import ring, ZZ
      >>> R, x,y = ring("x,y", ZZ)
  
      >>> R.dmp_sqf_p(x**2 + 2*x*y + y**2)
      False
      >>> R.dmp_sqf_p(x**2 + y**2)
      True
  
      """
      if dmp_zero_p(f, u):
          return True
      else:
          return not dmp_degree(
              dmp_gcd(f, dmp_diff(f, 1, u, K), u, K), u
          )
  
imports: from sympy.polys.densearith import dup_neg, dmp_neg, dup_sub, dmp_sub, dup_mul, dup_quo, dmp_quo, dup_mul_ground, dmp_mul_ground
  from sympy.polys.densebasic import dup_strip, dup_LC, dmp_ground_LC, dmp_zero_p, dmp_ground, dup_degree, dmp_degree, dmp_raise, dmp_inject, dup_convert
  from sympy.polys.densetools import dup_diff, dmp_diff, dmp_diff_in, dup_shift, dmp_compose, dup_monic, dmp_ground_monic, dup_primitive, dmp_ground_primitive
  from sympy.polys.euclidtools import dup_inner_gcd, dmp_inner_gcd, dup_gcd, dmp_gcd, dmp_resultant
  from sympy.polys.galoistools import gf_sqf_list, gf_sqf_part
  from sympy.polys.polyerrors import MultivariatePolynomialError, DomainError
label_desc: Use image node_id 2 for calling a global function with example usage: dmp_sqf_p(f, u, K) and returns: True, unknown