It is highly likely that Winona is a cat. We believe that Lily is a frog. There is little chance that Mary left the apple. It is probable that if 'Winona is a cat' or 'Mary left the apple' or both then Brian is a rhino. It is improbable that if either 'Winona is a cat' or 'Lily is a frog' but not both then Sandra got the milk. It is probably not the case that if 'Lily is a frog and Mary left the apple' then John went to the garden.
It is highly unlikely that 'John went to the garden' or 'Sandra got the milk' or both.
It is highly unlikely that 'John went to the garden' or 'Sandra got the milk' or both.
There is a very good chance that 'John went to the garden' or 'Sandra got the milk' 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.9::factA.
  0.75::factB.
  0.1::factC.
  %hop1
  0.7::factX:-or(factA,factC).
  0.1::factY:-xor(factA,factB).
  0.25::factZ:-and(factB,factC).

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

  query(conclusion).
  
'John went to the garden' or 'Sandra got the milk' or both.