It is certain that John went to the office. There is almost no chance that Sandra dropped the milk. It is almost certain that Bernhard is white. It is probable that if either 'Bernhard is white' or 'John went to the office' but not both then Fred put down the apple. There is little chance that if 'Bernhard is white' or 'John went to the office' or both then Greg is a rhino. There is a better than even chance that if either 'John went to the office' or 'Sandra dropped the milk' but not both then Lily is green.
It is highly unlikely that either 'Fred put down the apple' or 'Sandra dropped the milk' but not both.
It is highly unlikely that either 'Fred put down the apple' or 'Sandra dropped the milk' but not both.
There is a better than even chance that either 'Fred put down the apple' or 'Sandra dropped the milk' 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
  1.0::factA.
  0.02::factB.
  0.95::factC.
  %hop1
  0.7::factX:-xor(factC,factA).
  0.1::factY:-or(factC,factA).
  0.6::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Fred put down the apple' or 'Sandra dropped the milk' but not both.