code: def test_find_simple_recurrence():
      a = Function("a")
      n = Symbol("n")
      assert find_simple_recurrence(
          [fibonacci(k) for k in range(12)]
      ) == (-a(n) - a(n + 1) + a(n + 2))
  
      f = Function("a")
      i = Symbol("n")
      a = [1, 1, 1]
      for k in range(15):
          a.append(5 * a[-1] - 3 * a[-2] + 8 * a[-3])
      assert find_simple_recurrence(a, A=f, N=i) == (
          -8 * f(i) + 3 * f(i + 1) - 5 * f(i + 2) + f(i + 3)
      )
      assert (
          find_simple_recurrence(
              [0, 2, 15, 74, 12, 3, 0, 1, 2, 85, 4, 5, 63]
          )
          == 0
      )
  
file_path: sympy/sympy/concrete/tests/test_guess.py
imports: from sympy.concrete.guess import find_simple_recurrence_vector, find_simple_recurrence, rationalize, guess_generating_function_rational, guess_generating_function, guess
  from sympy.concrete.products import Product
  from sympy.core.function import Function
  from sympy.core.numbers import Rational
  from sympy.core.singleton import S
  from sympy.core.symbol import Symbol, symbols
  from sympy.core.sympify import sympify
  from sympy.functions.combinatorial.factorials import RisingFactorial, factorial
  from sympy.functions.combinatorial.numbers import fibonacci
  from sympy.functions.elementary.exponential import exp
label_desc: Use image node_id 2 for calling a global function with example usage: test_find_simple_recurrence() without return types