There is little chance that Bernhard is a rhino. There is a better than even chance that Winona is a wolf. It is highly unlikely that Jeff moved to the garden. It is highly likely that if 'Winona is a wolf' or 'Bernhard is a rhino' or both then Julius is white. There is little chance that if 'Bernhard is a rhino and Jeff moved to the garden' then John got the apple. Chances are slight that if 'Bernhard is a rhino and Jeff moved to the garden' then Lily is green.
There is a better than even chance that 'John got the apple and Jeff moved to the garden'.
It is impossible that 'John got the apple and Jeff moved to the garden'.
There is a better than even chance that 'John got the apple and Jeff moved to the garden'.

  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.1::factA.
  0.6::factB.
  0.05::factC.
  %hop1
  0.9::factX:-or(factB,factA).
  0.1::factY:-and(factA,factC).
  0.1::factZ:-and(factA,factC).

  %hop2
  conclusion:-and(factY,factC).

  query(conclusion).
  
'John got the apple and Jeff moved to the garden'.