It is almost certain that Greg is a rhino. It is likely that Brian is yellow. We believe that Julius is a frog. There is almost no chance that if 'Brian is yellow and Greg is a rhino' then John put down the milk. It is unlikely that if either 'Julius is a frog' or 'Brian is yellow' but not both then Mary went to the kitchen. It is probable that if either 'Julius is a frog' or 'Greg is a rhino' but not both then Daniel got the football.
It is unlikely that either 'John put down the milk' or 'Daniel got the football' but not both.
It is unlikely that either 'John put down the milk' or 'Daniel got the football' but not both.
It is probable that either 'John put down the milk' or 'Daniel got the football' 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.95::factA.
  0.7::factB.
  0.75::factC.
  %hop1
  0.02::factX:-and(factB,factA).
  0.2::factY:-xor(factC,factB).
  0.7::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'John put down the milk' or 'Daniel got the football' but not both.