It is unlikely that Bernhard is white. It is improbable that Fred put down the apple. Chances are about even that John went to the office. It is certain that if 'Bernhard is white and Fred put down the apple' then Mary left the football. It is unlikely that if 'John went to the office and Fred put down the apple' then Brian is a frog. It is improbable that if either 'Bernhard is white' or 'Fred put down the apple' but not both then Lily is a swan.
It is certain that either 'Bernhard is white' or 'Fred put down the apple' but not both.
It is probably not the case that either 'Bernhard is white' or 'Fred put down the apple' but not both.
It is certain that either 'Bernhard is white' or 'Fred put down 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.1::factB.
  0.5::factC.
  %hop1
  1.0::factX:-and(factA,factB).
  0.2::factY:-and(factC,factB).
  0.1::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Bernhard is white' or 'Fred put down the apple' but not both.