There is almost no chance that Jeff moved to the office. It is improbable that Julius is a lion. There is a very good chance that John left the apple. There is almost no chance that if 'Jeff moved to the office' or 'Julius is a lion' or both then Greg is gray. It is highly unlikely that if either 'Jeff moved to the office' or 'Julius is a lion' but not both then Lily is white. There is a better than even chance that if 'Jeff moved to the office and Julius is a lion' then Yann is hungry.
There is a very good chance that either 'Jeff moved to the office' or 'John left the apple' but not both.
There is a very good chance that either 'Jeff moved to the office' or 'John left the apple' but not both.
It is highly unlikely that either 'Jeff moved to the office' or 'John left the apple' 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.02::factA.
  0.1::factB.
  0.8::factC.
  %hop1
  0.02::factX:-or(factA,factB).
  0.05::factY:-xor(factA,factB).
  0.6::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Jeff moved to the office' or 'John left the apple' but not both.