It is certain that Jeff moved to the garden. There is a better than even chance that Mary discarded the milk. There is little chance that John put down the apple. It is impossible that if 'John put down the apple and Mary discarded the milk' then Emily is a cat. There is a better than even chance that if 'Jeff moved to the garden' or 'John put down the apple' or both then Brian is yellow. There is little chance that if 'Mary discarded the milk' or 'Jeff moved to the garden' or both then Greg is a rhino.
It is highly unlikely that either 'Mary discarded the milk' or 'Greg is a rhino' but not both.
There is a better than even chance that either 'Mary discarded the milk' or 'Greg is a rhino' but not both.
It is highly unlikely that either 'Mary discarded the milk' or 'Greg is a rhino' 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.6::factB.
  0.1::factC.
  %hop1
  0.0::factX:-and(factC,factB).
  0.6::factY:-or(factA,factC).
  0.1::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Mary discarded the milk' or 'Greg is a rhino' but not both.