docs: def _assert_lt(self, cost):
          """
              The method enforces an upper bound on the cost of the MaxSAT
              solution. This is done by encoding the sum of all soft clause
              selectors with the use the iterative totalizer encoding, i.e.
              :class:`.ITotalizer`. Note that the sum is created once, at the
              beginning. Each of the following calls to this method only enforces
              the upper bound on the created sum by adding the corresponding unit
              size clause. Each such clause is added on the fly with no restart
              of the underlying SAT oracle.
  
              :param cost: the cost of the next MaxSAT solution is enforced to be
                  *lower* than this current cost
  
              :type cost: int
          """
  
          if self.tot == None:
              self.tot = ITotalizer(lits=self.sels, ubound=cost-1, top_id=self.topv)
              self.topv = self.tot.top_id
  
              for cl in self.tot.cnf.clauses:
                  self.oracle.add_clause(cl)
  
          self.oracle.add_clause([-self.tot.rhs[cost-1]])