It is probably the case that Bernhard is yellow. There is a better than even chance that Fred left the football. It is highly likely that Mary went to the office. It is probable that if 'Mary went to the office and Bernhard is yellow' then Jason is thirsty. We doubt that if 'Mary went to the office' or 'Fred left the football' or both then John dropped the apple. It is highly likely that if 'Bernhard is yellow' or 'Fred left the football' or both then Julius is a lion.
It is almost certain that either 'Bernhard is yellow' or 'Fred left the football' but not both.
Chances are about even that either 'Bernhard is yellow' or 'Fred left the football' but not both.
It is almost certain that either 'Bernhard is yellow' 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.7::factA.
  0.6::factB.
  0.9::factC.
  %hop1
  0.7::factX:-and(factC,factA).
  0.2::factY:-or(factC,factB).
  0.9::factZ:-or(factA,factB).

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

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