We believe that Bernhard is white. We doubt that John put down the milk. It is probably not the case that Bill moved to the office. It is highly unlikely that if 'Bill moved to the office and John put down the milk' then Emily is a cat. There is a very good chance that if 'Bernhard is white' or 'Bill moved to the office' or both then Lily is a swan. It is unlikely that if 'Bernhard is white and John put down the milk' then Mary left the apple.
It is probably not the case that either 'John put down the milk' or 'Bill moved to the office' but not both.
It is probably not the case that either 'John put down the milk' or 'Bill moved to the office' but not both.
It is probably the case that either 'John put down the milk' or 'Bill moved to the office' 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.75::factA.
  0.2::factB.
  0.25::factC.
  %hop1
  0.05::factX:-and(factC,factB).
  0.8::factY:-or(factA,factC).
  0.2::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'John put down the milk' or 'Bill moved to the office' but not both.