There is almost no chance that Bill went to the bedroom. We doubt that Mary dropped the milk. It is certain that Sandra left the milk. It is impossible that if 'Bill went to the bedroom' or 'Sandra left the milk' or both then Lily is green. It is probable that if 'Sandra left the milk' or 'Mary dropped the milk' or both then Bernhard is a rhino. We believe that if 'Bill went to the bedroom' or 'Sandra left the milk' or both then Brian is green.
We doubt that either 'Lily is green' or 'Sandra left the milk' but not both.
It is certain that either 'Lily is green' or 'Sandra left the milk' but not both.
We doubt that either 'Lily is green' or 'Sandra left 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.2::factB.
  1.0::factC.
  %hop1
  0.0::factX:-or(factA,factC).
  0.7::factY:-or(factC,factB).
  0.75::factZ:-or(factA,factC).

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

  query(conclusion).
  
Either 'Lily is green' or 'Sandra left the milk' but not both.