class_docstr: The CoNLL object holds ten fields required for CoNLL-X data format.
  Each field can be binded with one or more :class:`Field` objects. For example,
  ``FORM`` can contain both :class:`Field` and :class:`SubwordField` to produce tensors for words and subwords.
  
  Attributes:
      ID:
          Token counter, starting at 1.
      FORM:
          Words in the sentence.
      LEMMA:
          Lemmas or stems (depending on the particular treebank) of words, or underscores if not available.
      CPOS:
          Coarse-grained part-of-speech tags, where the tagset depends on the treebank.
      POS:
          Fine-grained part-of-speech tags, where the tagset depends on the treebank.
      FEATS:
          Unordered set of syntactic and/or morphological features (depending on the particular treebank),
          or underscores if not available.
      HEAD:
          Heads of the tokens, which are either values of ID or zeros.
      DEPREL:
          Dependency relations to the HEAD.
      PHEAD:
          Projective heads of tokens, which are either values of ID or zeros, or underscores if not available.
      PDEPREL:
          Dependency relations to the PHEAD, or underscores if not available.
  
  References:
      - Sabine Buchholz and Erwin Marsi. 2006.
        `CoNLL-X Shared Task on Multilingual Dependency Parsing`_.
  
  .. _CoNLL-X Shared Task on Multilingual Dependency Parsing:
      https://www.aclweb.org/anthology/W06-2920/
class_docstr_tok: ["The","CoNLL","object","holds","ten","fields","required","for","CoNLL-X","data","format",".","Each","field","can","be","binded","with","one","or","more",":","class",":","`","Field","`","objects",".","For","example",",","``","FORM","``","can","contain","both",":","class",":","`","Field","`","and",":","class",":","`","SubwordField","`","to","produce","tensors","for","words","and","subwords",".","Attributes",":","ID",":","Token","counter",",","starting","at","1",".","FORM",":","Words","in","the","sentence",".","LEMMA",":","Lemmas","or","stems","(","depending","on","the","particular","treebank",")","of","words",",","or","underscores","if","not","available",".","CPOS",":","Coarse-grained","part-of-speech","tags",",","where","the","tagset","depends","on","the","treebank",".","POS",":","Fine-grained","part-of-speech","tags",",","where","the","tagset","depends","on","the","treebank",".","FEATS",":","Unordered","set","of","syntactic","and\/or","morphological","features","(","depending","on","the","particular","treebank",")",",","or","underscores","if","not","available",".","HEAD",":","Heads","of","the","tokens",",","which","are","either","values","of","ID","or","zeros",".","DEPREL",":","Dependency","relations","to","the","HEAD",".","PHEAD",":","Projective","heads","of","tokens",",","which","are","either","values","of","ID","or","zeros",",","or","underscores","if","not","available",".","PDEPREL",":","Dependency","relations","to","the","PHEAD",",","or","underscores","if","not","available",".","References",":","-","Sabine","Buchholz","and","Erwin","Marsi",".","2006",".","`","CoNLL-X","Shared","Task","on","Multilingual","Dependency","Parsing","`","_",".","..","_CoNLL-X","Shared","Task","on","Multilingual","Dependency","Parsing",":","https",":","\/\/www.aclweb.org\/anthology\/W06-2920\/"]
docstr: Checks if the arcs form an valid dependency tree.
  
  Args:
      sequence (list[int]):
          A list of head indices.
      proj (bool):
          If ``True``, requires the tree to be projective. Default: ``False``.
      multiroot (bool):
          If ``False``, requires the tree to contain only a single root. Default: ``True``.
  
  Returns:
      ``True`` if the arcs form an valid tree, ``False`` otherwise.
  
  Examples:
      >>> CoNLL.istree([3, 0, 0, 3], multiroot=True)
      True
      >>> CoNLL.istree([3, 0, 0, 3], proj=True)
      False
code: def istree(cls, sequence, proj=False, multiroot=False):
      r"""
      Checks if the arcs form an valid dependency tree.
  
      Args:
          sequence (list[int]):
              A list of head indices.
          proj (bool):
              If ``True``, requires the tree to be projective. Default: ``False``.
          multiroot (bool):
              If ``False``, requires the tree to contain only a single root. Default: ``True``.
  
      Returns:
          ``True`` if the arcs form an valid tree, ``False`` otherwise.
  
      Examples:
          >>> CoNLL.istree([3, 0, 0, 3], multiroot=True)
          True
          >>> CoNLL.istree([3, 0, 0, 3], proj=True)
          False
      """
  
      from underthesea.utils.sp_alg import tarjan
  
      if proj and not cls.isprojective(sequence):
          return False
      n_roots = sum(head == 0 for head in sequence)
      if n_roots == 0:
          return False
      if not multiroot and n_roots > 1:
          return False
      if any(i == head for i, head in enumerate(sequence, 1)):
          return False
      return next(tarjan(sequence), None) is None
  
imports: from collections.abc import Iterable
  import nltk
  from tqdm import tqdm
  from underthesea.utils.sp_parallel import is_master
label_desc: Use image node_id 8 for calling the CoNLL obj's underlying member method code with example usage: obj.istree(cls, sequence, proj, multiroot) and returns: unknown, False, False, False, False