We doubt that Lily is a lion. It is improbable that Mary went to the kitchen. There is a better than even chance that John got the apple. It is almost certain that if 'Mary went to the kitchen and Lily is a lion' then Brian is gray. It is certain that if 'Lily is a lion and Mary went to the kitchen' then Gertrude is a wolf. It is unlikely that if either 'Lily is a lion' or 'John got the apple' but not both then Bernhard is white.
Chances are about even that either 'Bernhard is white' or 'John got the apple' but not both.
Chances are about even that either 'Bernhard is white' or 'John got the apple' but not both.
It is certain that either 'Bernhard is white' or 'John got 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.
  0.1::factB.
  0.6::factC.
  %hop1
  0.95::factX:-and(factB,factA).
  1.0::factY:-and(factA,factB).
  0.2::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Bernhard is white' or 'John got the apple' but not both.