It is probably the case that Gertrude is a mouse. We doubt that Lily is white. We doubt that John put down the milk. Chances are about even that if 'John put down the milk' or 'Lily is white' or both then Julius is a lion. It is probably not the case that if 'Gertrude is a mouse and John put down the milk' then Jason is thirsty. There is a very good chance that if either 'Gertrude is a mouse' or 'Lily is white' but not both then Mary went to the kitchen.
There is a better than even chance that 'John put down the milk' or 'Mary went to the kitchen' or both.
There is a better than even chance that 'John put down the milk' or 'Mary went to the kitchen' or both.
It is impossible that 'John put down the milk' or 'Mary went to the kitchen' 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.7::factA.
  0.2::factB.
  0.2::factC.
  %hop1
  0.5::factX:-or(factC,factB).
  0.25::factY:-and(factA,factC).
  0.8::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'John put down the milk' or 'Mary went to the kitchen' or both.