code: def test_deletion_partial(self):
      def test_fn(a):
          a = 0
          if a:
              del a
          else:
              a = 1
          return a
  
      node = self._parse_and_analyze(test_fn)
      fn_body = node.body
  
      first_def = fn_body[0].targets[0]
      second_def = fn_body[1].orelse[0].targets[0]
      use = fn_body[2].value
      self.assertNotSameDef(use, first_def)
      self.assertSameDef(use, second_def)
  
imports: import unittest
  from nvidia.dali._autograph.pyct import anno
  from nvidia.dali._autograph.pyct import cfg
  from nvidia.dali._autograph.pyct import naming
  from nvidia.dali._autograph.pyct import parser
  from nvidia.dali._autograph.pyct import qual_names
  from nvidia.dali._autograph.pyct import transformer
  from nvidia.dali._autograph.pyct.static_analysis import activity
  from nvidia.dali._autograph.pyct.static_analysis import reaching_definitions
label_desc: Use image node_id 12 for calling the ReachingDefinitionsAnalyzerTest obj's underlying member method code with example usage: obj.test_deletion_partial() and returns: a