There is almost no chance that Mary left the milk. It is likely that Sandra dropped the milk. It is certain that Bernhard is green. It is probably not the case that if either 'Mary left the milk' or 'Bernhard is green' but not both then Jeff went to the hallway. Chances are slight that if either 'Bernhard is green' or 'Sandra dropped the milk' but not both then Brian is a swan. It is highly likely that if 'Sandra dropped the milk' or 'Bernhard is green' or both then John grabbed the apple.
It is probably the case that 'Mary left the milk' or 'Brian is a swan' or both.
It is highly unlikely that 'Mary left the milk' or 'Brian is a swan' or both.
It is probably the case that 'Mary left the milk' or 'Brian is a swan' 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.
  1.0::factC.
  %hop1
  0.25::factX:-xor(factA,factC).
  0.1::factY:-xor(factC,factB).
  0.9::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Mary left the milk' or 'Brian is a swan' or both.