It is highly likely that Bernhard is white. It is improbable that Julius is a rhino. Chances are about even that Brian is green. It is unlikely that if either 'Bernhard is white' or 'Julius is a rhino' but not both then Jeff dropped the apple. There is a very good chance that if either 'Julius is a rhino' or 'Brian is green' but not both then Mary left the football. We doubt that if 'Julius is a rhino' or 'Brian is green' or both then Lily is a lion.
We doubt that either 'Mary left the football' or 'Brian is green' but not both.
We doubt that either 'Mary left the football' or 'Brian is green' but not both.
There is a very good chance that either 'Mary left the football' or 'Brian is green' 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.9::factA.
  0.1::factB.
  0.5::factC.
  %hop1
  0.2::factX:-xor(factA,factB).
  0.8::factY:-xor(factB,factC).
  0.2::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Mary left the football' or 'Brian is green' but not both.