<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def negative_inference(self, content_id):
        '''Return a generator of inferred negative label relationships
        centered on ``content_id``.

        Negative labels are inferred by getting all other content ids
        connected to ``content_id`` through a negative label, then
        running :meth:`LabelStore.negative_label_inference` on those
        labels. See :meth:`LabelStore.negative_label_inference` for
        more information.
        '''
        neg_labels = ifilter(lambda l: l.value == CorefValue.Negative,
                             self.directly_connected(content_id))
        for label in neg_labels:
            label_inf = self.negative_label_inference(label)
            for label in label_inf:
                yield label