It is probably not the case that Greg is yellow. Chances are about even that Jeff moved to the garden. It is almost certain that Mary went to the office. It is almost certain that if either 'Greg is yellow' or 'Jeff moved to the garden' but not both then Daniel dropped the apple. It is unlikely that if 'Jeff moved to the garden' or 'Mary went to the office' or both then Brian is a swan. We believe that if either 'Greg is yellow' or 'Jeff moved to the garden' but not both then Julius is white.
It is impossible that either 'Brian is a swan' or 'Julius is white' but not both.
Chances are about even that either 'Brian is a swan' or 'Julius is white' but not both.
It is impossible that either 'Brian is a swan' or 'Julius is white' 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.25::factA.
  0.5::factB.
  0.95::factC.
  %hop1
  0.95::factX:-xor(factA,factB).
  0.2::factY:-or(factB,factC).
  0.75::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Brian is a swan' or 'Julius is white' but not both.