Chances are slight that Bernhard is a rhino. We believe that Bill moved to the office. It is improbable that John took the football. Chances are about even that if 'John took the football and Bernhard is a rhino' then Greg is yellow. It is highly likely that if 'Bernhard is a rhino' or 'John took the football' or both then Mary went to the bedroom. It is unlikely that if 'Bernhard is a rhino and John took the football' then Lily is white.
It is highly unlikely that either 'Lily is white' or 'Bill moved to the office' but not both.
We believe that either 'Lily is white' or 'Bill moved to the office' but not both.
It is highly unlikely that either 'Lily is white' 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.75::factB.
  0.1::factC.
  %hop1
  0.5::factX:-and(factC,factA).
  0.9::factY:-or(factA,factC).
  0.2::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Lily is white' or 'Bill moved to the office' but not both.