'Perform unit propagation on the current theory.'

def _unit_prop(self):

    result = (len(self._unit_prop_queue) > 0)
    while self._unit_prop_queue:
        next_lit = self._unit_prop_queue.pop()
        if ((- next_lit) in self.var_settings):
            self.is_unsatisfied = True
            self._unit_prop_queue = []
            return False
        else:
            self._assign_literal(next_lit)
    return result
