<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def provided(self, spec_name, default_okay=True):
 """ Checks to see whether the corresponding data spec was provided an explicit input, as opposed to derivatives or missing optional inputs Parameters spec_name : str Name of a data spec """

        try:
            spec = self.bound_spec(spec_name)
        except ArcanaMissingDataException:
            return False
        if isinstance(spec, BaseInputSpec):
            return spec.default is not None and default_okay
        else:
            return True