code: def filter_assumps(self):
          
  
          self.sels = list(filter(lambda x: x not in self.garbage, self.sels))
          self.sums = list(filter(lambda x: x not in self.garbage, self.sums))
  
          self.bnds = {l: b for l, b in six.iteritems(self.bnds) if l not in self.garbage}
          self.wght = {l: w for l, w in six.iteritems(self.wght) if l not in self.garbage}
  
          self.garbage.clear()
docs: Filter out unnecessary selectors and sums from the list of
              assumption literals. The corresponding values are also
              removed from the dictionaries of bounds and weights.
  
              Note that assumptions marked as garbage are collected in
              the core processing methods, i.e. in :func:`process_core`,
              :func:`process_sels`, and :func:`process_sums`.