It is unlikely that Julius is yellow. It is likely that Greg is gray. It is impossible that Lily is white. It is unlikely that if either 'Julius is yellow' or 'Greg is gray' but not both then Bill went to the kitchen. There is a very good chance that if 'Julius is yellow and Greg is gray' then Brian is a swan. There is little chance that if 'Lily is white and Julius is yellow' then John discarded the apple.
There is a better than even chance that either 'Greg is gray' or 'Julius is yellow' but not both.
There is a better than even chance that either 'Greg is gray' or 'Julius is yellow' but not both.
Chances are slight that either 'Greg is gray' or 'Julius is yellow' 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.2::factA.
  0.7::factB.
  0.0::factC.
  %hop1
  0.2::factX:-xor(factA,factB).
  0.8::factY:-and(factA,factB).
  0.1::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Greg is gray' or 'Julius is yellow' but not both.