It is unlikely that Sumit is thirsty. It is probably the case that Bernhard is yellow. It is impossible that John got the milk. There is little chance that if 'Bernhard is yellow' or 'Sumit is thirsty' or both then Julius is white. There is little chance that if 'Sumit is thirsty and Bernhard is yellow' then Mary picked up the apple. It is unlikely that if 'Sumit is thirsty' or 'Bernhard is yellow' or both then Brian is a frog.
It is unlikely that either 'John got the milk' or 'Sumit is thirsty' but not both.
It is unlikely that either 'John got the milk' or 'Sumit is thirsty' but not both.
It is likely that either 'John got the milk' or 'Sumit is thirsty' 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.7::factB.
  0.0::factC.
  %hop1
  0.1::factX:-or(factB,factA).
  0.1::factY:-and(factA,factB).
  0.2::factZ:-or(factA,factB).

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

  query(conclusion).
  
Either 'John got the milk' or 'Sumit is thirsty' but not both.