We doubt that Daniel grabbed the milk. Chances are about even that Julius is a frog. There is a very good chance that Greg is yellow. It is improbable that if 'Daniel grabbed the milk' or 'Greg is yellow' or both then Mary dropped the apple. Chances are about even that if 'Daniel grabbed the milk and Greg is yellow' then Brian is a swan. It is unlikely that if 'Daniel grabbed the milk and Julius is a frog' then John took the football.
It is unlikely that either 'John took the football' or 'Daniel grabbed the milk' but not both.
It is unlikely that either 'John took the football' or 'Daniel grabbed the milk' but not both.
We believe that either 'John took the football' or 'Daniel grabbed 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.2::factA.
  0.5::factB.
  0.8::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.5::factY:-and(factA,factC).
  0.2::factZ:-and(factA,factB).

  %hop2
  conclusion:-xor(factZ,factA).

  query(conclusion).
  
Either 'John took the football' or 'Daniel grabbed the milk' but not both.