We doubt that Emily is a wolf. We believe that John moved to the garden. There is little chance that Greg is a rhino. It is unlikely that if 'Greg is a rhino and John moved to the garden' then Bernhard is white. It is certain that if 'Greg is a rhino and Emily is a wolf' then Lily is a lion. It is improbable that if 'Emily is a wolf and John moved to the garden' then Sandra took the football.
There is almost no chance that either 'Sandra took the football' or 'Bernhard is white' but not both.
There is almost no chance that either 'Sandra took the football' or 'Bernhard is white' but not both.
It is certain that either 'Sandra took the football' or 'Bernhard is white' 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.75::factB.
  0.1::factC.
  %hop1
  0.2::factX:-and(factC,factB).
  1.0::factY:-and(factC,factA).
  0.1::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Sandra took the football' or 'Bernhard is white' but not both.