Chances are slight that Bill moved to the office. There is little chance that Yann is thirsty. It is likely that Lily is a lion. It is impossible that if 'Lily is a lion' or 'Yann is thirsty' or both then Daniel dropped the milk. It is probably the case that if either 'Yann is thirsty' or 'Bill moved to the office' but not both then Greg is a swan. There is almost no chance that if 'Bill moved to the office' or 'Yann is thirsty' or both then Julius is gray.
There is little chance that either 'Lily is a lion' or 'Daniel dropped the milk' but not both.
It is probable that either 'Lily is a lion' or 'Daniel dropped the milk' but not both.
There is little chance that either 'Lily is a lion' or 'Daniel dropped the milk' 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.1::factB.
  0.7::factC.
  %hop1
  0.0::factX:-or(factC,factB).
  0.7::factY:-xor(factB,factA).
  0.02::factZ:-or(factA,factB).

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

  query(conclusion).
  
Either 'Lily is a lion' or 'Daniel dropped the milk' but not both.