There is little chance that Julius is a swan. There is little chance that Greg is yellow. There is a better than even chance that Fred is in the cinema. There is a very good chance that if either 'Julius is a swan' or 'Greg is yellow' but not both then John took the football. We believe that if either 'Fred is in the cinema' or 'Greg is yellow' but not both then Mary moved to the garden. It is highly unlikely that if 'Julius is a swan' or 'Fred is in the cinema' or both then Daniel left the milk.
It is highly unlikely that either 'Mary moved to the garden' or 'John took the football' but not both.
Chances are about even that either 'Mary moved to the garden' or 'John took the football' but not both.
It is highly unlikely that either 'Mary moved to the garden' or 'John 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.1::factA.
  0.1::factB.
  0.6::factC.
  %hop1
  0.8::factX:-xor(factA,factB).
  0.75::factY:-xor(factC,factB).
  0.05::factZ:-or(factA,factC).

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

  query(conclusion).
  
Either 'Mary moved to the garden' or 'John took the football' but not both.