Chances are about even that John discarded the apple. There is a very good chance that Mary went to the office. Chances are slight that Sandra dropped the milk. It is improbable that if 'Sandra dropped the milk and John discarded the apple' then Yann is thirsty. We believe that if 'Sandra dropped the milk and Mary went to the office' then Brian is gray. We believe that if 'John discarded the apple and Mary went to the office' then Julius is a lion.
It is impossible that either 'Mary went to the office' or 'John discarded the apple' but not both.
Chances are about even that either 'Mary went to the office' or 'John discarded the apple' but not both.
It is impossible that either 'Mary went to the office' or 'John discarded 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.5::factA.
  0.8::factB.
  0.1::factC.
  %hop1
  0.1::factX:-and(factC,factA).
  0.75::factY:-and(factC,factB).
  0.75::factZ:-and(factA,factB).

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

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