It is impossible that John put down the apple. It is unlikely that Winona is a sheep. It is improbable that Bernhard is a frog. It is highly unlikely that if 'Winona is a sheep' or 'Bernhard is a frog' or both then Fred left the football. Chances are about even that if 'Bernhard is a frog and John put down the apple' then Julius is a lion. Chances are about even that if 'Bernhard is a frog and John put down the apple' then Sandra dropped the milk.
There is a better than even chance that either 'Fred left the football' or 'Sandra dropped the milk' but not both.
There is almost no chance that either 'Fred left the football' or 'Sandra dropped the milk' but not both.
There is a better than even chance that either 'Fred left the football' or 'Sandra 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.0::factA.
  0.2::factB.
  0.1::factC.
  %hop1
  0.05::factX:-or(factB,factC).
  0.5::factY:-and(factC,factA).
  0.5::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Fred left the football' or 'Sandra dropped the milk' but not both.