It is impossible that Jeff moved to the garden. Chances are slight that Sandra dropped the milk. It is likely that Winona is a cat. It is highly unlikely that if either 'Winona is a cat' or 'Jeff moved to the garden' but not both then John discarded the apple. Chances are slight that if either 'Jeff moved to the garden' or 'Sandra dropped the milk' but not both then Lily is a swan. It is probably not the case that if either 'Jeff moved to the garden' or 'Sandra dropped the milk' but not both then Mary is in the bathroom.
It is impossible that 'Jeff moved to the garden and Mary is in the bathroom'.
It is impossible that 'Jeff moved to the garden and Mary is in the bathroom'.
It is probable that 'Jeff moved to the garden and Mary is in the bathroom'.

  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.0::factA.
  0.1::factB.
  0.7::factC.
  %hop1
  0.05::factX:-xor(factC,factA).
  0.1::factY:-xor(factA,factB).
  0.25::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'Jeff moved to the garden and Mary is in the bathroom'.