It is highly likely that Lily is green. It is almost certain that Daniel took the apple. There is a very good chance that John moved to the office. There is little chance that if 'Lily is green and John moved to the office' then Mary went to the office. It is almost certain that if either 'Daniel took the apple' or 'John moved to the office' but not both then Julius is a swan. Chances are slight that if 'Daniel took the apple and John moved to the office' then Jessica is a wolf.
It is unlikely that either 'Daniel took the apple' or 'Mary went to the office' but not both.
It is highly likely that either 'Daniel took the apple' or 'Mary went to the office' but not both.
It is unlikely that either 'Daniel took the apple' or 'Mary went to the office' 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.9::factA.
  0.95::factB.
  0.8::factC.
  %hop1
  0.1::factX:-and(factA,factC).
  0.95::factY:-xor(factB,factC).
  0.1::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'Daniel took the apple' or 'Mary went to the office' but not both.