It is likely that Lily is gray. It is likely that Sandra left the milk. It is certain that Greg is a lion. It is highly likely that if 'Sandra left the milk and Greg is a lion' then Julius is white. There is a very good chance that if either 'Sandra left the milk' or 'Greg is a lion' but not both then Daniel took the apple. Chances are about even that if 'Greg is a lion' or 'Lily is gray' or both then John went to the garden.
It is almost certain that 'John went to the garden and Daniel took the apple'.
It is improbable that 'John went to the garden and Daniel took the apple'.
It is almost certain that 'John went to the garden and Daniel took the apple'.

  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.7::factA.
  0.7::factB.
  1.0::factC.
  %hop1
  0.9::factX:-and(factB,factC).
  0.8::factY:-xor(factB,factC).
  0.5::factZ:-or(factC,factA).

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

  query(conclusion).
  
'John went to the garden and Daniel took the apple'.