There is little chance that Daniel got the football. Chances are slight that Greg is yellow. We believe that Lily is a swan. There is a better than even chance that if 'Lily is a swan' or 'Greg is yellow' or both then Fred put down the apple. It is highly unlikely that if 'Lily is a swan and Greg is yellow' then Sandra left the milk. It is certain that if 'Lily is a swan and Greg is yellow' then John went to the office.
We doubt that either 'John went to the office' or 'Daniel got the football' but not both.
We doubt that either 'John went to the office' or 'Daniel got the football' but not both.
There is a very good chance that either 'John went to the office' or 'Daniel got 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.1::factA.
  0.1::factB.
  0.75::factC.
  %hop1
  0.6::factX:-or(factC,factB).
  0.05::factY:-and(factC,factB).
  1.0::factZ:-and(factC,factB).

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

  query(conclusion).
  
Either 'John went to the office' or 'Daniel got the football' but not both.