code: def unit_propagate(clauses, symbol):
      """
      Returns an equivalent set of clauses
      If a set of clauses contains the unit clause l, the other clauses are
      simplified by the application of the two following rules:
  
        1. every clause containing l is removed
        2. in every clause that contains ~l this literal is deleted
  
      Arguments are expected to be in CNF.
  
      >>> from sympy.abc import A, B, D
      >>> from sympy.logic.algorithms.dpll import unit_propagate
      >>> unit_propagate([A | B, D | ~B, B], B)
      [D, B]
  
      """
      output = []
      for c in clauses:
          if c.func != Or:
              output.append(c)
              continue
          for arg in c.args:
              if arg == ~symbol:
                  output.append(
                      Or(*[x for x in c.args if x != ~symbol])
                  )
                  break
              if arg == symbol:
                  break
          else:
              output.append(c)
      return output
  
file_path: sympy/sympy/logic/algorithms/dpll.py
imports: from sympy.core.sorting import default_sort_key
  from sympy.logic.boolalg import Or, Not, conjuncts, disjuncts, to_cnf, to_int_repr, _find_predicates
  from sympy.assumptions.cnf import CNF
  from sympy.logic.inference import pl_true, literal_symbol
label_desc: Use image node_id 5 for calling a global function with example usage: unit_propagate(clauses, symbol) and returns: output