It is unlikely that Lily is yellow. There is almost no chance that Sandra dropped the milk. It is highly likely that Brian is yellow. It is highly likely that if 'Lily is yellow' or 'Sandra dropped the milk' or both then Greg is white. It is certain that if either 'Brian is yellow' or 'Sandra dropped the milk' but not both then Bernhard is a frog. It is probably the case that if 'Sandra dropped the milk and Brian is yellow' then Mary went to the garden.
There is a better than even chance that 'Sandra dropped the milk' or 'Mary went to the garden' or both.
There is almost no chance that 'Sandra dropped the milk' or 'Mary went to the garden' or both.
There is a better than even chance that 'Sandra dropped the milk' or 'Mary went to the garden' or both.

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

  %hop2
  conclusion:-or(factB,factZ).

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