We believe that John put down the milk. It is probably the case that Jeff dropped the apple. It is probably not the case that Lily is a swan. It is improbable that if either 'Lily is a swan' or 'John put down the milk' but not both then Bernhard is a frog. There is almost no chance that if 'Lily is a swan and John put down the milk' then Sandra left the football. We believe that if either 'Lily is a swan' or 'John put down the milk' but not both then Mary went to the hallway.
It is certain that either 'Jeff dropped the apple' or 'Mary went to the hallway' but not both.
Chances are about even that either 'Jeff dropped the apple' or 'Mary went to the hallway' but not both.
It is certain that either 'Jeff dropped the apple' or 'Mary went to the hallway' 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.7::factB.
  0.25::factC.
  %hop1
  0.1::factX:-xor(factC,factA).
  0.02::factY:-and(factC,factA).
  0.75::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Jeff dropped the apple' or 'Mary went to the hallway' but not both.