It is highly unlikely that Brian is a rhino. It is unlikely that Bernhard is yellow. It is likely that Jeff put down the milk. It is highly unlikely that if 'Bernhard is yellow and Brian is a rhino' then Sandra dropped the milk. It is almost certain that if 'Jeff put down the milk' or 'Bernhard is yellow' or both then Mary went to the garden. It is almost certain that if 'Jeff put down the milk' or 'Brian is a rhino' or both then Lily is a frog.
It is impossible that 'Mary went to the garden and Sandra dropped the milk'.
It is impossible that 'Mary went to the garden and Sandra dropped the milk'.
It is highly likely that 'Mary went to the garden and Sandra dropped the milk'.

  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.05::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.05::factX:-and(factB,factA).
  0.95::factY:-or(factC,factB).
  0.95::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Mary went to the garden and Sandra dropped the milk'.