We doubt that Sandra dropped the milk. Chances are slight that Julius is white. There is a better than even chance that Lily is a frog. Chances are slight that if 'Sandra dropped the milk' or 'Lily is a frog' or both then Antoine is thirsty. It is almost certain that if either 'Sandra dropped the milk' or 'Julius is white' but not both then John went to the office. It is impossible that if 'Lily is a frog and Sandra dropped the milk' then Bernhard is yellow.
There is a very good chance that either 'Sandra dropped the milk' or 'Julius is white' but not both.
It is probably not the case that either 'Sandra dropped the milk' or 'Julius is white' but not both.
There is a very good chance that either 'Sandra dropped the milk' or 'Julius is white' 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.2::factA.
  0.1::factB.
  0.6::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.95::factY:-xor(factA,factB).
  0.0::factZ:-and(factC,factA).

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

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