We doubt that Fred is in the office. There is a better than even chance that Brian is yellow. It is highly likely that John went to the bedroom. It is certain that if either 'Fred is in the office' or 'John went to the bedroom' but not both then Daniel got the football. Chances are about even that if 'John went to the bedroom' or 'Fred is in the office' or both then Bernhard is a swan. There is almost no chance that if 'Brian is yellow and John went to the bedroom' then Lily is a rhino.
We believe that either 'John went to the bedroom' or 'Fred is in the office' but not both.
We believe that either 'John went to the bedroom' or 'Fred is in the office' but not both.
We doubt that either 'John went to the bedroom' or 'Fred is in the office' 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.2::factA.
  0.6::factB.
  0.9::factC.
  %hop1
  1.0::factX:-xor(factA,factC).
  0.5::factY:-or(factC,factA).
  0.02::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'John went to the bedroom' or 'Fred is in the office' but not both.