There is almost no chance that Mary dropped the milk. There is almost no chance that Jessica is a sheep. We believe that Julius is a lion. There is little chance that if 'Mary dropped the milk' or 'Jessica is a sheep' or both then Bernhard is a frog. It is impossible that if 'Julius is a lion and Jessica is a sheep' then Lily is a frog. It is probably not the case that if 'Jessica is a sheep and Julius is a lion' then John moved to the garden.
There is a better than even chance that either 'Mary dropped the milk' or 'John moved to the garden' but not both.
There is almost no chance that either 'Mary dropped the milk' or 'John moved to the garden' but not both.
There is a better than even chance that either 'Mary dropped the milk' or 'John moved to the garden' 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.02::factA.
  0.02::factB.
  0.75::factC.
  %hop1
  0.1::factX:-or(factA,factB).
  0.0::factY:-and(factC,factB).
  0.25::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'Mary dropped the milk' or 'John moved to the garden' but not both.