Chances are about even that Sumit is thirsty. It is impossible that Yann is hungry. It is likely that Jeff went to the bedroom. It is almost certain that if 'Yann is hungry and Jeff went to the bedroom' then Julius is white. It is unlikely that if either 'Yann is hungry' or 'Sumit is thirsty' but not both then Bernhard is a rhino. Chances are about even that if 'Sumit is thirsty and Yann is hungry' then Lily is a lion.
There is a better than even chance that either 'Lily is a lion' or 'Bernhard is a rhino' but not both.
Chances are slight that either 'Lily is a lion' or 'Bernhard is a rhino' but not both.
There is a better than even chance that either 'Lily is a lion' or 'Bernhard is a rhino' 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.5::factA.
  0.0::factB.
  0.7::factC.
  %hop1
  0.95::factX:-and(factB,factC).
  0.2::factY:-xor(factB,factA).
  0.5::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Lily is a lion' or 'Bernhard is a rhino' but not both.