It is almost certain that Julius is a rhino. It is impossible that John left the apple. There is almost no chance that Sumit is thirsty. It is probably not the case that if 'Julius is a rhino' or 'Sumit is thirsty' or both then Lily is gray. It is likely that if either 'Julius is a rhino' or 'John left the apple' but not both then Yann is hungry. It is probably not the case that if either 'John left the apple' or 'Sumit is thirsty' but not both then Mary took the football.
It is almost certain that either 'Sumit is thirsty' or 'Mary took the football' but not both.
There is almost no chance that either 'Sumit is thirsty' or 'Mary took the football' but not both.
It is almost certain that either 'Sumit is thirsty' or 'Mary took the football' 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.95::factA.
  0.0::factB.
  0.02::factC.
  %hop1
  0.25::factX:-or(factA,factC).
  0.7::factY:-xor(factA,factB).
  0.25::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Sumit is thirsty' or 'Mary took the football' but not both.