code: def test_recursive_backward_solving():
      solver = make_solver()
  
      tensor1 = relay.ty.TensorType((10, 20), "float32")
      tensor2 = relay.ty.TensorType((10, 1, 1), "float32")
      tensor3 = relay.ty.TensorType((10,), "float32")
  
      t1 = relay.ty.IncompleteType()
      t2 = relay.ty.IncompleteType()
      t3 = relay.ty.IncompleteType()
  
      tup1 = relay.ty.TupleType(
          [relay.ty.TupleType([tensor1, tensor2]), tensor3]
      )
      tup2 = relay.ty.TupleType([relay.ty.TupleType([t1, t2]), t3])
      solver.gen_type("Identity", [tup1], out=tup2)
  
      assert solver.Solve()
      assert solver.Resolve(tup2) == tup1
  
imports: import tvm
  from tvm import relay
  from tvm.relay import testing
  import pytest
  import numpy
label_desc: Use image node_id 12 for calling a global function with example usage: test_recursive_backward_solving() without return types