<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def validate_additional_properties(self, valid_response, response):
 """Validates additional properties. In additional properties, we only need to compare the values of the dict, not the keys Args: valid_response: An example response (for example generated in _get_example_from_properties(self, spec)) Type is DICT response: The actual dict coming from the response Type is DICT Returns: A boolean - whether the actual response validates against the given example """

        assert isinstance(valid_response, dict)
        assert isinstance(response, dict)

        # the type of the value of the first key/value in valid_response is our
        # expected type - if it is a dict or list, we must go deeper
        first_value = valid_response[list(valid_response)[0]]

        # dict
        if isinstance(first_value, dict):
            # try to find a definition for that first value
            definition = None
            definition_name = self.get_dict_definition(first_value)
            if definition_name is None:
                definition = self._definition_from_example(first_value)
                definition_name = 'self generated'
            for item in response.values():
                if not self.validate_definition(definition_name,
                                                item,
                                                definition=definition):
                    return False
            return True

        # TODO: list
        if isinstance(first_value, list):
            raise Exception("Not implemented yet")

        # simple types
        # all values must be of that type in both valid and actual response
        try:
            assert all(isinstance(y, type(first_value)) for _, y in response.items())
            assert all(isinstance(y, type(first_value)) for _, y in valid_response.items())
            return True
        except Exception:
            return False