code: def _theorem6p4():
      
      pruning_set4 = list()
  
      def _prune4(edges_b):
          for edges_a in pruning_set4:
              if edges_a.issubset(edges_b):
                  return True
          return False
  
      def _explored4(edges_a):
          pruning_set4.append(edges_a)  # (s,E_a) with (s,a) explored
  
      return _prune4, _explored4
docs: See Theorem 6.4 in paper.
      Let E(x) denote the edges added when eliminating x. (edges_x below).
      Prunes (s,b) when (s,a) is explored and E(a) is a subset of E(b).
      For this theorem we only record E(a) rather than (s,E(a))
      because we only need to check for pruning in the same s context
      (i.e the same level of recursion).