Chances are slight that Julius is a frog. It is probable that Bill moved to the office. Chances are slight that Mary left the milk. There is almost no chance that if 'Julius is a frog' or 'Bill moved to the office' or both then Jeff went to the garden. It is certain that if either 'Bill moved to the office' or 'Julius is a frog' but not both then Lily is white. Chances are about even that if 'Julius is a frog and Bill moved to the office' then John took the football.
It is probable that either 'Mary left the milk' or 'Bill moved to the office' but not both.
It is probable that either 'Mary left the milk' or 'Bill moved to the office' but not both.
It is probably not the case that either 'Mary left the milk' or 'Bill moved to the office' 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.1::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.02::factX:-or(factA,factB).
  1.0::factY:-xor(factB,factA).
  0.5::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Mary left the milk' or 'Bill moved to the office' but not both.