code: def revise(csp, Xi, Xj, removals):
      "Return true if we remove a value."
      revised = False
      for x in csp.curr_domains[Xi][:]:
          # If Xi=x conflicts with Xj=y for every possible y, eliminate Xi=x
          if every(lambda y: not csp.constraints(Xi, x, Xj, y),
                   csp.curr_domains[Xj]):
              csp.prune(Xi, x, removals)
              revised = True
      return revisef revise(csp, Xi, Xj, removals):
      "Return true if we remove a value."
      revised = False
      for x in csp.curr_domains[Xi][:]:
          # If Xi=x conflicts with Xj=y for every possible y, eliminate Xi=x
          if every(lambda y: not csp.constraints(Xi, x, Xj, y),
                   csp.curr_domains[Xj]):
              csp.prune(Xi, x, removals)
              revised = True
      return revised
docs: Return true if we remove a value.