Chances are about even that John moved to the garden. It is impossible that Sandra dropped the milk. There is a better than even chance that Brian is green. There is a very good chance that if 'John moved to the garden and Sandra dropped the milk' then Emily is a sheep. There is a better than even chance that if 'Brian is green' or 'John moved to the garden' or both then Greg is a lion. There is a very good chance that if 'Sandra dropped the milk' or 'Brian is green' or both then Lily is a swan.
Chances are about even that either 'Brian is green' or 'John moved to the garden' but not both.
Chances are about even that either 'Brian is green' or 'John moved to the garden' but not both.
It is almost certain that either 'Brian is green' 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.5::factA.
  0.0::factB.
  0.6::factC.
  %hop1
  0.8::factX:-and(factA,factB).
  0.6::factY:-or(factC,factA).
  0.8::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Brian is green' or 'John moved to the garden' but not both.