It is certain that Jeff went to the garden. We doubt that Greg is a lion. It is probably not the case that Mary grabbed the milk. It is likely that if either 'Mary grabbed the milk' or 'Greg is a lion' but not both then Emily is a wolf. Chances are about even that if either 'Greg is a lion' or 'Mary grabbed the milk' but not both then John moved to the office. It is probably not the case that if 'Mary grabbed the milk' or 'Jeff went to the garden' or both then Lily is gray.
Chances are about even that either 'Mary grabbed the milk' or 'Lily is gray' but not both.
Chances are about even that either 'Mary grabbed the milk' or 'Lily is gray' but not both.
There is almost no chance that either 'Mary grabbed the milk' or 'Lily is gray' 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
  1.0::factA.
  0.2::factB.
  0.25::factC.
  %hop1
  0.7::factX:-xor(factC,factB).
  0.5::factY:-xor(factB,factC).
  0.25::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Mary grabbed the milk' or 'Lily is gray' but not both.