There is almost no chance that Winona is a sheep. It is probably the case that Mary picked up the milk. It is likely that John went to the office. There is almost no chance that if 'Mary picked up the milk and John went to the office' then Brian is a frog. We doubt that if 'Mary picked up the milk' or 'Winona is a sheep' or both then Sandra got the football. There is little chance that if 'Winona is a sheep' or 'John went to the office' or both then Greg is a swan.
There is almost no chance that 'Mary picked up the milk' or 'Winona is a sheep' or both.
It is probably the case that 'Mary picked up the milk' or 'Winona is a sheep' or both.
There is almost no chance that 'Mary picked up the milk' or 'Winona is a sheep' 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.02::factA.
  0.7::factB.
  0.7::factC.
  %hop1
  0.02::factX:-and(factB,factC).
  0.2::factY:-or(factB,factA).
  0.1::factZ:-or(factA,factC).

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

  query(conclusion).
  
'Mary picked up the milk' or 'Winona is a sheep' or both.