It is improbable that Winona is a sheep. It is probably not the case that Bill left the milk. It is probable that John took the apple. It is improbable that if 'Winona is a sheep and Bill left the milk' then Jeff moved to the garden. It is certain that if 'Bill left the milk' or 'John took the apple' or both then Sandra dropped the milk. It is almost certain that if either 'Winona is a sheep' or 'John took the apple' but not both then Brian is a swan.
We believe that 'Sandra dropped the milk' or 'John took the apple' or both.
We believe that 'Sandra dropped the milk' or 'John took the apple' or both.
It is impossible that 'Sandra dropped the milk' or 'John took the apple' 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.1::factA.
  0.25::factB.
  0.7::factC.
  %hop1
  0.1::factX:-and(factA,factB).
  1.0::factY:-or(factB,factC).
  0.95::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Sandra dropped the milk' or 'John took the apple' or both.