It is unlikely that Daniel dropped the milk. We doubt that Bernhard is gray. Chances are slight that John went to the bedroom. There is almost no chance that if 'Bernhard is gray' or 'Daniel dropped the milk' or both then Yann is tired. It is probably not the case that if either 'John went to the bedroom' or 'Bernhard is gray' but not both then Lily is a frog. There is a very good chance that if 'Bernhard is gray and John went to the bedroom' then Winona is a mouse.
There is a very good chance that 'Daniel dropped the milk' or 'Lily is a frog' or both.
It is probably not the case that 'Daniel dropped the milk' or 'Lily is a frog' or both.
There is a very good chance that 'Daniel dropped the milk' or 'Lily is a frog' 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.2::factB.
  0.1::factC.
  %hop1
  0.02::factX:-or(factB,factA).
  0.25::factY:-xor(factC,factB).
  0.8::factZ:-and(factB,factC).

  %hop2
  conclusion:-or(factA,factY).

  query(conclusion).
  
'Daniel dropped the milk' or 'Lily is a frog' or both.