code: def _compute_all_deletions(self):
          
          minimum_evil = []
          for disabled_qubits in map(set, product(*self._evil)):
              newmin = []
              for s in minimum_evil:
                  if s < disabled_qubits:
                      break
                  elif disabled_qubits < s:
                      continue
                  newmin.append(s)
              else:
                  minimum_evil = newmin + [disabled_qubits]
          return minimum_evil
docs: Returns all minimal edge covers of the set of evil edges.