original_docstring: 
      all children of a product node have different scope
      
docstring: all children of a product node have different scope
docstring_tokens: all children of a product node have different scope
code: def is_consistent(node):
      """
      all children of a product node have different scope
      """
  
      assert node is not None
  
      allchildscope = set()
      for prod_node in reversed(get_nodes_by_type(node, Product)):
          nscope = set(prod_node.scope)
  
          if len(prod_node.children) == 0:
              return False, "Product node %s has no children" % (prod_node.id)
  
          allchildscope.clear()
          sum_features = 0
          for child in prod_node.children:
              sum_features += len(child.scope)
              allchildscope.update(child.scope)
  
          if allchildscope != nscope or sum_features != len(allchildscope):
              return (False, "children of (prod) node %s do not have exclusive scope" % (prod_node.id))
  
      return True, None
code_tokens: def is_consistent ( node ) : assert node is not None allchildscope = set ( ) for prod_node in reversed ( get_nodes_by_type ( node , Product ) ) : nscope = set ( prod_node . scope ) if len ( prod_node . children ) == 0 : return False , "Product node %s has no children" % ( prod_node . id ) allchildscope . clear ( ) sum_features = 0 for child in prod_node . children : sum_features += len ( child . scope ) allchildscope . update ( child . scope ) if allchildscope != nscope or sum_features != len ( allchildscope ) : return ( False , "children of (prod) node %s do not have exclusive scope" % ( prod_node . id ) ) return True , None
short_docstring: all children of a product node have different scope
short_docstring_tokens: all children of a product node have different scope
comment: """
      all children of a product node have different scope
      """