It is highly unlikely that Lily is a swan. It is certain that Brian is yellow. We doubt that Daniel left the apple. There is a better than even chance that if 'Lily is a swan and Brian is yellow' then Mary grabbed the milk. There is a better than even chance that if either 'Lily is a swan' or 'Brian is yellow' but not both then Winona is a mouse. It is likely that if 'Brian is yellow and Daniel left the apple' then John went to the office.
It is highly unlikely that either 'Daniel left the apple' or 'John went to the office' but not both.
It is highly unlikely that either 'Daniel left the apple' or 'John went to the office' but not both.
There is a better than even chance that either 'Daniel left the apple' or 'John went to 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.05::factA.
  1.0::factB.
  0.2::factC.
  %hop1
  0.6::factX:-and(factA,factB).
  0.6::factY:-xor(factA,factB).
  0.7::factZ:-and(factB,factC).

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

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