It is probably the case that Bill went to the garden. It is probable that Sumit is thirsty. It is impossible that Greg is a frog. It is unlikely that if 'Greg is a frog' or 'Bill went to the garden' or both then Brian is a rhino. There is a better than even chance that if 'Greg is a frog' or 'Bill went to the garden' or both then Julius is white. It is improbable that if 'Greg is a frog and Bill went to the garden' then Jessica is a mouse.
It is impossible that either 'Sumit is thirsty' or 'Bill went to the garden' but not both.
Chances are about even that either 'Sumit is thirsty' or 'Bill went to the garden' but not both.
It is impossible that either 'Sumit is thirsty' or 'Bill went to the garden' 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.7::factA.
  0.7::factB.
  0.0::factC.
  %hop1
  0.2::factX:-or(factC,factA).
  0.6::factY:-or(factC,factA).
  0.1::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Sumit is thirsty' or 'Bill went to the garden' but not both.