It is likely that Julius is yellow. It is highly likely that Mary left the football. It is highly unlikely that Brian is a frog. It is probable that if either 'Julius is yellow' or 'Mary left the football' but not both then Greg is a frog. There is little chance that if either 'Mary left the football' or 'Brian is a frog' but not both then Sandra dropped the milk. It is probably the case that if 'Julius is yellow and Mary left the football' then Bill went to the garden.
There is almost no chance that either 'Sandra dropped the milk' or 'Mary left the football' but not both.
There is a very good chance that either 'Sandra dropped the milk' or 'Mary left the football' but not both.
There is almost no chance that either 'Sandra dropped the milk' or 'Mary left 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.7::factA.
  0.9::factB.
  0.05::factC.
  %hop1
  0.7::factX:-xor(factA,factB).
  0.1::factY:-xor(factB,factC).
  0.7::factZ:-and(factA,factB).

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

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