There is almost no chance that Bill got the milk there. There is a very good chance that Julius is a swan. It is probable that Jeff went to the bedroom. It is impossible that if 'Julius is a swan and Bill got the milk there' then Bernhard is white. It is probable that if either 'Julius is a swan' or 'Bill got the milk there' but not both then Fred left the football. It is unlikely that if 'Bill got the milk there and Jeff went to the bedroom' then Greg is a rhino.
It is probably the case that either 'Fred left the football' or 'Julius is a swan' but not both.
It is probably not the case that either 'Fred left the football' or 'Julius is a swan' but not both.
It is probably the case that either 'Fred left the football' or 'Julius is a swan' 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.8::factB.
  0.7::factC.
  %hop1
  0.0::factX:-and(factB,factA).
  0.7::factY:-xor(factB,factA).
  0.2::factZ:-and(factA,factC).

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

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