Chances are slight that Gertrude is a wolf. It is probably not the case that Sandra left the milk. There is a very good chance that John took the apple. There is a better than even chance that if 'John took the apple' or 'Gertrude is a wolf' or both then Lily is a lion. It is certain that if 'Gertrude is a wolf and Sandra left the milk' then Greg is white. It is probably not the case that if 'John took the apple' or 'Gertrude is a wolf' or both then Bernhard is a rhino.
There is little chance that either 'Sandra left the milk' or 'John took the apple' but not both.
It is probably the case that either 'Sandra left the milk' or 'John took the apple' but not both.
There is little chance that either 'Sandra left the milk' or 'John took the apple' 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.25::factB.
  0.8::factC.
  %hop1
  0.6::factX:-or(factC,factA).
  1.0::factY:-and(factA,factB).
  0.25::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Sandra left the milk' or 'John took the apple' but not both.