There is a better than even chance that Winona is a sheep. There is little chance that Bill moved to the office. There is almost no chance that John left the apple. It is probably not the case that if either 'John left the apple' or 'Bill moved to the office' but not both then Bernhard is yellow. There is little chance that if 'Winona is a sheep and John left the apple' then Sandra dropped the milk. There is a better than even chance that if 'Winona is a sheep and Bill moved to the office' then Julius is a frog.
There is little chance that 'Winona is a sheep' or 'Bernhard is yellow' or both.
There is a better than even chance that 'Winona is a sheep' or 'Bernhard is yellow' or both.
There is little chance that 'Winona is a sheep' or 'Bernhard is yellow' 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.6::factA.
  0.1::factB.
  0.02::factC.
  %hop1
  0.25::factX:-xor(factC,factB).
  0.1::factY:-and(factA,factC).
  0.6::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Winona is a sheep' or 'Bernhard is yellow' or both.