code: def check_denotation(target_values, predicted_values):
      
      # Check size
      if len(target_values) != len(predicted_values):
          return False
      # Check items
      for target in target_values:
          if not any(target.match(pred) for pred in predicted_values):
              return False
      return True
docs: Return True if the predicted denotation is correct.
  
      Args:
          target_values (list[Value])
          predicted_values (list[Value])
      Returns:
          bool