It is highly likely that Bernhard is a rhino. Chances are about even that Yann is hungry. It is highly likely that Daniel dropped the apple. There is almost no chance that if either 'Bernhard is a rhino' or 'Daniel dropped the apple' but not both then Jeff discarded the milk. We believe that if 'Yann is hungry' or 'Bernhard is a rhino' or both then Mary left the football. It is likely that if 'Daniel dropped the apple and Yann is hungry' then Lily is gray.
It is probably the case that either 'Mary left the football' or 'Jeff discarded the milk' but not both.
It is probably the case that either 'Mary left the football' or 'Jeff discarded the milk' but not both.
It is highly unlikely that either 'Mary left the football' or 'Jeff discarded the milk' but not both.

  and(A,B) :- A,B.
  or(A,B) :- A;B.
  nand(A,B) :- not(and(A,B)).
  nor(A,B) :- not(or(A,B)).
  xor(A,B) :- or(A,B), nand(A,B).

  %hop0
  0.9::factA.
  0.5::factB.
  0.9::factC.
  %hop1
  0.02::factX:-xor(factA,factC).
  0.75::factY:-or(factB,factA).
  0.7::factZ:-and(factC,factB).

  %hop2
  conclusion:-xor(factY,factX).

  query(conclusion).
  
Either 'Mary left the football' or 'Jeff discarded the milk' but not both.