code: def is_solution_same(i1, i2, form_manager):
      c1 = " ".join([form_manager.get_idx_symbol(x) for x in i1])
      c2 = " ".join([form_manager.get_idx_symbol(x) for x in i2])
      if ("=" not in c1) or ("=" not in c2):
          return False
      elif (form_manager.unk_token in c1) or (
          form_manager.unk_token in c2
      ):
          return False
      else:
          try:
              s1 = c1.split("=")
              s2 = c2.split("=")
              eq1 = []
              eq2 = []
              x = sympy.Symbol("x")
              eq1.append(parse_expr(s1[0]))
              eq1.append(parse_expr(s1[1]))
              eq2.append(parse_expr(s2[0]))
              eq2.append(parse_expr(s2[1]))
              res1 = sympy.solve(sympy.Eq(eq1[0], eq1[1]), x)
              res2 = sympy.solve(sympy.Eq(eq2[0], eq2[1]), x)
  
              if not res1 or not res2:
                  return False
              if res1[0] == res2[0]:
                  # print("Excution_true: ", c1, '\t', c2)
                  pass
              return res1[0] == res2[0]
  
          except BaseException:
              # print("Excution_error: ", c1, '\t', c2)
              pass
              return False
  
file_path: graph4nlp/examples/pytorch/math_word_problem/mawps/src/evaluation.py
imports: from graph4nlp.pytorch.modules.evaluation.base import EvaluationMetricBase
  import sympy
  from sympy.parsing.sympy_parser import parse_expr
label_desc: Use image node_id 3 for calling a global function with example usage: is_solution_same(i1, i2, form_manager) and returns: False, False, unknown, False, False