There is little chance that Lily is green. There is a very good chance that Bill went to the kitchen. It is impossible that Greg is a frog. Chances are about even that if 'Lily is green and Bill went to the kitchen' then Bernhard is white. We doubt that if 'Bill went to the kitchen and Lily is green' then Winona is a sheep. We believe that if 'Lily is green' or 'Greg is a frog' or both then John dropped the apple.
There is a better than even chance that either 'John dropped the apple' or 'Lily is green' but not both.
There is almost no chance that either 'John dropped the apple' or 'Lily is green' but not both.
There is a better than even chance that either 'John dropped the apple' or 'Lily is green' 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.1::factA.
  0.8::factB.
  0.0::factC.
  %hop1
  0.5::factX:-and(factA,factB).
  0.2::factY:-and(factB,factA).
  0.75::factZ:-or(factA,factC).

  %hop2
  conclusion:-xor(factZ,factA).

  query(conclusion).
  
Either 'John dropped the apple' or 'Lily is green' but not both.