It is probable that Bernhard is a swan. Chances are about even that Lily is a rhino. Chances are slight that Sandra left the apple. We believe that if either 'Lily is a rhino' or 'Sandra left the apple' but not both then John put down the milk. It is almost certain that if either 'Lily is a rhino' or 'Sandra left the apple' but not both then Julius is a lion. It is likely that if either 'Bernhard is a swan' or 'Lily is a rhino' but not both then Brian is yellow.
Chances are about even that either 'Sandra left the apple' or 'John put down the milk' but not both.
Chances are about even that either 'Sandra left the apple' or 'John put down the milk' but not both.
It is highly unlikely that either 'Sandra left the apple' or 'John put down 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.7::factA.
  0.5::factB.
  0.1::factC.
  %hop1
  0.75::factX:-xor(factB,factC).
  0.95::factY:-xor(factB,factC).
  0.7::factZ:-xor(factA,factB).

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

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