It is unlikely that Daniel got the milk. It is probable that Lily is white. Chances are slight that Bernhard is a swan. There is almost no chance that if 'Daniel got the milk and Bernhard is a swan' then John dropped the milk. Chances are slight that if either 'Lily is white' or 'Bernhard is a swan' but not both then Winona is a sheep. It is probable that if 'Lily is white and Daniel got the milk' then Mary went to the office.
It is certain that 'Mary went to the office and Daniel got the milk'.
It is improbable that 'Mary went to the office and Daniel got the milk'.
It is certain that 'Mary went to the office and Daniel got 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.2::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.02::factX:-and(factA,factC).
  0.1::factY:-xor(factB,factC).
  0.7::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Mary went to the office and Daniel got the milk'.