We doubt that Sandra dropped the milk. There is a very good chance that Lily is a swan. Chances are slight that Brian is yellow. There is little chance that if either 'Sandra dropped the milk' or 'Brian is yellow' but not both then Yann is tired. We doubt that if either 'Sandra dropped the milk' or 'Lily is a swan' but not both then John took the apple. It is probable that if 'Lily is a swan and Brian is yellow' then Mary moved to the garden.
There is little chance that either 'Brian is yellow' or 'Yann is tired' but not both.
There is little chance that either 'Brian is yellow' or 'Yann is tired' but not both.
It is almost certain that either 'Brian is yellow' or 'Yann is tired' 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.8::factB.
  0.1::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.2::factY:-xor(factA,factB).
  0.7::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'Brian is yellow' or 'Yann is tired' but not both.