It is impossible that Lily is a lion. It is probable that Jeff went to the garden. There is a better than even chance that Sandra dropped the milk. It is highly likely that if 'Lily is a lion and Jeff went to the garden' then Julius is a rhino. It is highly likely that if either 'Sandra dropped the milk' or 'Jeff went to the garden' but not both then Daniel put down the milk. It is likely that if 'Lily is a lion and Sandra dropped the milk' then Greg is a swan.
It is probably the case that 'Sandra dropped the milk and Julius is a rhino'.
It is impossible that 'Sandra dropped the milk and Julius is a rhino'.
It is probably the case that 'Sandra dropped the milk and Julius is a rhino'.

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

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

  query(conclusion).
  
'Sandra dropped the milk and Julius is a rhino'.