It is almost certain that Mary went to the garden. Chances are about even that Julius is gray. It is highly likely that Fred left the football. It is likely that if either 'Mary went to the garden' or 'Julius is gray' but not both then Lily is yellow. We doubt that if either 'Fred left the football' or 'Julius is gray' but not both then Bernhard is a swan. It is highly likely that if 'Fred left the football' or 'Julius is gray' or both then John put down the apple.
It is unlikely that either 'Bernhard is a swan' or 'Fred left the football' but not both.
There is a very good chance that either 'Bernhard is a swan' or 'Fred left the football' but not both.
It is unlikely that either 'Bernhard is a swan' or 'Fred left 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.95::factA.
  0.5::factB.
  0.9::factC.
  %hop1
  0.7::factX:-xor(factA,factB).
  0.2::factY:-xor(factC,factB).
  0.9::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Bernhard is a swan' or 'Fred left the football' but not both.