We doubt that John dropped the apple. It is certain that Sumit is thirsty. It is almost certain that Mary went to the office. We doubt that if either 'John dropped the apple' or 'Mary went to the office' but not both then Sandra got the milk. Chances are about even that if 'Mary went to the office and Sumit is thirsty' then Julius is a swan. It is impossible that if either 'Sumit is thirsty' or 'Mary went to the office' but not both then Greg is a rhino.
There is little chance that either 'Sumit is thirsty' or 'John dropped the apple' but not both.
There is a very good chance that either 'Sumit is thirsty' or 'John dropped the apple' but not both.
There is little chance that either 'Sumit is thirsty' or 'John dropped the apple' 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.
  1.0::factB.
  0.95::factC.
  %hop1
  0.2::factX:-xor(factA,factC).
  0.5::factY:-and(factC,factB).
  0.0::factZ:-xor(factB,factC).

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

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