There is almost no chance that Mary went to the office. It is likely that Lily is a lion. It is impossible that Sandra left the milk. It is unlikely that if 'Lily is a lion' or 'Mary went to the office' or both then John dropped the milk. It is probably the case that if 'Sandra left the milk and Mary went to the office' then Greg is a rhino. There is almost no chance that if 'Lily is a lion' or 'Mary went to the office' or both then Bernhard is a frog.
Chances are slight that either 'Lily is a lion' or 'John dropped the milk' but not both.
There is a better than even chance that either 'Lily is a lion' or 'John dropped the milk' but not both.
Chances are slight that either 'Lily is a lion' or 'John dropped the milk' but not 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.0::factC.
  %hop1
  0.2::factX:-or(factB,factA).
  0.7::factY:-and(factC,factA).
  0.02::factZ:-or(factB,factA).

  %hop2
  conclusion:-xor(factB,factX).

  query(conclusion).
  
Either 'Lily is a lion' or 'John dropped the milk' but not both.