Chances are slight that Jeff discarded the milk. It is highly unlikely that Lily is green. There is a better than even chance that Mary moved to the office. It is certain that if 'Lily is green and Mary moved to the office' then Bernhard is white. It is likely that if either 'Jeff discarded the milk' or 'Mary moved to the office' but not both then Julius is gray. It is improbable that if either 'Lily is green' or 'Jeff discarded the milk' but not both then Greg is a frog.
Chances are about even that either 'Julius is gray' or 'Bernhard is white' but not both.
Chances are about even that either 'Julius is gray' or 'Bernhard is white' but not both.
It is impossible that either 'Julius is gray' or 'Bernhard 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.1::factA.
  0.05::factB.
  0.6::factC.
  %hop1
  1.0::factX:-and(factB,factC).
  0.7::factY:-xor(factA,factC).
  0.1::factZ:-xor(factB,factA).

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

  query(conclusion).
  
Either 'Julius is gray' or 'Bernhard is white' but not both.