Chances are slight that Sandra left the milk. It is highly likely that Julius is gray. It is highly unlikely that John picked up the apple. It is likely that if 'John picked up the apple and Julius is gray' then Brian is yellow. It is impossible that if either 'Julius is gray' or 'Sandra left the milk' but not both then Mary went to the hallway. There is little chance that if 'Julius is gray' or 'Sandra left the milk' or both then Bernhard is a swan.
There is almost no chance that either 'John picked up the apple' or 'Brian is yellow' but not both.
There is almost no chance that either 'John picked up the apple' or 'Brian is yellow' but not both.
It is almost certain that either 'John picked up the apple' or 'Brian is yellow' 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.1::factA.
  0.9::factB.
  0.05::factC.
  %hop1
  0.7::factX:-and(factC,factB).
  0.0::factY:-xor(factB,factA).
  0.1::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'John picked up the apple' or 'Brian is yellow' but not both.