There is a very good chance that Winona is a mouse. We doubt that Daniel got the milk. It is almost certain that Mary went to the hallway. It is unlikely that if 'Mary went to the hallway and Winona is a mouse' then Sandra left the football. It is certain that if 'Winona is a mouse' or 'Mary went to the hallway' or both then John moved to the office. It is highly unlikely that if either 'Daniel got the milk' or 'Winona is a mouse' but not both then Greg is a lion.
It is probably not the case that 'John moved to the office' or 'Mary went to the hallway' or both.
It is certain that 'John moved to the office' or 'Mary went to the hallway' or both.
It is probably not the case that 'John moved to the office' or 'Mary went to the hallway' 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.8::factA.
  0.2::factB.
  0.95::factC.
  %hop1
  0.2::factX:-and(factC,factA).
  1.0::factY:-or(factA,factC).
  0.05::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'John moved to the office' or 'Mary went to the hallway' or both.