It is probably the case that Jeff moved to the garden. It is unlikely that John dropped the milk. We believe that Daniel got the apple. It is likely that if 'Jeff moved to the garden' or 'John dropped the milk' or both then Greg is a swan. It is certain that if 'Jeff moved to the garden and John dropped the milk' then Julius is yellow. It is probably the case that if either 'Jeff moved to the garden' or 'Daniel got the apple' but not both then Mary went to the office.
Chances are slight that either 'Mary went to the office' or 'Greg is a swan' but not both.
There is a better than even chance that either 'Mary went to the office' or 'Greg is a swan' but not both.
Chances are slight that either 'Mary went to the office' or 'Greg is a swan' 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.2::factB.
  0.75::factC.
  %hop1
  0.7::factX:-or(factA,factB).
  1.0::factY:-and(factA,factB).
  0.7::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Mary went to the office' or 'Greg is a swan' but not both.