code: def dual_cover(l, succsOf):
      
      lut = dict()
      for i in l:
          lut[i] = list()
      for i in l:
          for j in succsOf(i):
              lut[j].append(i)
      return lambda x: lut[x]
docs: <succsOf> assigns to each element of <l> a list of successors.
          This function returns the dual, "predsOf" if you will.