There is almost no chance that Sandra left the milk. It is probably the case that Jeff went to the garden. It is certain that Mary took the football. It is highly unlikely that if 'Jeff went to the garden and Mary took the football' then Brian is yellow. We doubt that if either 'Sandra left the milk' or 'Mary took the football' but not both then Julius is yellow. There is a very good chance that if 'Jeff went to the garden' or 'Mary took the football' or both then Bernhard is a swan.
It is highly unlikely that either 'Brian is yellow' or 'Jeff went to the garden' but not both.
It is probably the case that either 'Brian is yellow' or 'Jeff went to the garden' but not both.
It is highly unlikely that either 'Brian is yellow' or 'Jeff went to the garden' 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.02::factA.
  0.7::factB.
  1.0::factC.
  %hop1
  0.05::factX:-and(factB,factC).
  0.2::factY:-xor(factA,factC).
  0.8::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Brian is yellow' or 'Jeff went to the garden' but not both.