There is a very good chance that Bill went to the office. It is almost certain that Bernhard is green. There is almost no chance that Lily is white. It is unlikely that if either 'Lily is white' or 'Bill went to the office' but not both then Sandra left the milk. There is little chance that if 'Bernhard is green and Bill went to the office' then Sumit is thirsty. Chances are about even that if 'Bernhard is green' or 'Bill went to the office' or both then Mary dropped the apple.
We doubt that either 'Lily is white' or 'Sandra left the milk' but not both.
We doubt that either 'Lily is white' or 'Sandra left the milk' but not both.
There is a very good chance that either 'Lily is white' or 'Sandra left 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.8::factA.
  0.95::factB.
  0.02::factC.
  %hop1
  0.2::factX:-xor(factC,factA).
  0.1::factY:-and(factB,factA).
  0.5::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Lily is white' or 'Sandra left the milk' but not both.