Whether all of self's keys (and values) are in (and within) other's

def is_entailed_by(self, other):
        """
        Whether all of self's keys (and values) are in (and within) other's
        """
        for (s_key, s_val) in self:
            if s_key in other:
                if not other[s_key].entails(s_val):
                    return False
            else:
                return False
        return True