It is improbable that Bernhard is green. It is highly likely that Sandra left the football. It is probably not the case that John dropped the apple. It is highly unlikely that if either 'Bernhard is green' or 'John dropped the apple' but not both then Julius is a swan. Chances are about even that if 'Bernhard is green' or 'Sandra left the football' or both then Mary got the milk. It is highly likely that if 'Bernhard is green' or 'Sandra left the football' or both then Lily is white.
It is impossible that either 'John dropped the apple' or 'Sandra left the football' but not both.
It is probable that either 'John dropped the apple' or 'Sandra left the football' but not both.
It is impossible that either 'John dropped the apple' or 'Sandra left the football' 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.9::factB.
  0.25::factC.
  %hop1
  0.05::factX:-xor(factA,factC).
  0.5::factY:-or(factA,factB).
  0.9::factZ:-or(factA,factB).

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

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