There is a better than even chance that Lily is a lion. We believe that Bernhard is yellow. It is highly likely that Mary moved to the garden. It is certain that if 'Lily is a lion' or 'Mary moved to the garden' or both then Brian is white. Chances are about even that if 'Bernhard is yellow and Lily is a lion' then John took the apple. We believe that if 'Mary moved to the garden' or 'Lily is a lion' or both then Julius is a swan.
It is probably not the case that either 'Mary moved to the garden' or 'Bernhard is yellow' but not both.
It is probably not the case that either 'Mary moved to the garden' or 'Bernhard is yellow' but not both.
It is likely that either 'Mary moved to the garden' or 'Bernhard is yellow' 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.6::factA.
  0.75::factB.
  0.9::factC.
  %hop1
  1.0::factX:-or(factA,factC).
  0.5::factY:-and(factB,factA).
  0.75::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Mary moved to the garden' or 'Bernhard is yellow' but not both.