Chances are about even that Mary put down the apple. It is highly likely that Emily is a cat. It is highly unlikely that Lily is green. There is almost no chance that if 'Lily is green' or 'Mary put down the apple' or both then Antoine is bored. There is little chance that if 'Lily is green and Emily is a cat' then Brian is gray. It is probably not the case that if 'Lily is green and Mary put down the apple' then Daniel got the milk.
It is impossible that either 'Mary put down the apple' or 'Daniel got the milk' but not both.
Chances are about even that either 'Mary put down the apple' or 'Daniel got the milk' but not both.
It is impossible that either 'Mary put down the apple' or 'Daniel got 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.5::factA.
  0.9::factB.
  0.05::factC.
  %hop1
  0.02::factX:-or(factC,factA).
  0.1::factY:-and(factC,factB).
  0.25::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Mary put down the apple' or 'Daniel got the milk' but not both.