class_docstr: A specialized chart that 'instantiates' variables whose names
  start with '@', by replacing them with unique new variables.
  In particular, whenever a complete edge is added to the chart, any
  variables in the edge's ``lhs`` whose names start with '@' will be
  replaced by unique new ``Variable``.
class_docstr_tok: ["A","specialized","chart","that","'instantiates","'","variables","whose","names","start","with","'","@","'",",","by","replacing","them","with","unique","new","variables",".","In","particular",",","whenever","a","complete","edge","is","added","to","the","chart",",","any","variables","in","the","edge","'s","``","lhs","``","whose","names","start","with","'","@","'","will","be","replaced","by","unique","new","``","Variable","``","."]
code: def inst_vars(self, edge):
      return {
          var: logic.unique_variable()
          for var in edge.lhs().variables()
          if var.name.startswith("@")
      }
  
imports: from time import perf_counter
  from nltk.featstruct import TYPE, FeatStruct, find_variables, unify
  from nltk.grammar import CFG, FeatStructNonterminal, Nonterminal, Production, is_nonterminal, is_terminal
  from nltk.parse.chart import BottomUpPredictCombineRule, BottomUpPredictRule, CachedTopDownPredictRule, Chart, ChartParser, EdgeI, EmptyPredictRule, FundamentalRule, LeafInitRule, SingleEdgeFundamentalRule, TopDownInitRule, TreeEdge
  from nltk.sem import logic
  from nltk.tree import Tree
label_desc: Use image node_id 5 for calling the InstantiateVarsChart obj's underlying member method code with example usage: obj.inst_vars(edge) and returns: unknown