It is almost certain that Daniel took the apple. We believe that Sandra got the milk. It is certain that Julius is a swan. It is probably not the case that if either 'Daniel took the apple' or 'Sandra got the milk' but not both then Winona is a cat. We doubt that if 'Sandra got the milk' or 'Julius is a swan' or both then Mary is in the hallway. It is probable that if 'Julius is a swan and Daniel took the apple' then Greg is gray.
Chances are about even that either 'Greg is gray' or 'Sandra got the milk' but not both.
Chances are about even that either 'Greg is gray' or 'Sandra got the milk' but not both.
There is almost no chance that either 'Greg is gray' or 'Sandra got the milk' 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.95::factA.
  0.75::factB.
  1.0::factC.
  %hop1
  0.25::factX:-xor(factA,factB).
  0.2::factY:-or(factB,factC).
  0.7::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Greg is gray' or 'Sandra got the milk' but not both.