It is highly unlikely that Mary moved to the garden. It is improbable that Gertrude is a wolf. It is certain that Lily is a frog. Chances are slight that if 'Lily is a frog and Gertrude is a wolf' then Winona is a mouse. Chances are about even that if 'Mary moved to the garden and Gertrude is a wolf' then Sandra left the milk. It is almost certain that if either 'Gertrude is a wolf' or 'Mary moved to the garden' but not both then Bernhard is green.
There is little chance that 'Sandra left the milk' or 'Bernhard is green' or both.
There is little chance that 'Sandra left the milk' or 'Bernhard is green' or both.
We believe that 'Sandra left the milk' or 'Bernhard is green' 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.05::factA.
  0.1::factB.
  1.0::factC.
  %hop1
  0.1::factX:-and(factC,factB).
  0.5::factY:-and(factA,factB).
  0.95::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Sandra left the milk' or 'Bernhard is green' or both.