It is unlikely that John picked up the milk. There is a very good chance that Lily is a rhino. There is little chance that Brian is white. There is little chance that if either 'John picked up the milk' or 'Lily is a rhino' but not both then Bernhard is a frog. We believe that if either 'John picked up the milk' or 'Lily is a rhino' but not both then Fred is in the office. It is probably not the case that if 'John picked up the milk' or 'Brian is white' or both then Mary dropped the apple.
We doubt that either 'John picked up the milk' or 'Mary dropped the apple' but not both.
We doubt that either 'John picked up the milk' or 'Mary dropped the apple' but not both.
It is probably the case that either 'John picked up the milk' or 'Mary dropped the apple' 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.2::factA.
  0.8::factB.
  0.1::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.75::factY:-xor(factA,factB).
  0.25::factZ:-or(factA,factC).

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

  query(conclusion).
  
Either 'John picked up the milk' or 'Mary dropped the apple' but not both.