code: def p(self, value, event):
          
          assert isinstance(value, bool)
          ptrue = self.cpt[event_values(event, self.parents)]
          return if_(value, ptrue, 1 - ptrue)
docs: Return the conditional probability
          P(X=value | parents=parent_values), where parent_values
          are the values of parents in event. (event must assign each
          parent a value.)
          >>> bn = BayesNode('X', 'Burglary', {T: 0.2, F: 0.625})
          >>> bn.p(False, {'Burglary': False, 'Earthquake': True})
          0.375