There is a better than even chance that Fred left the football. It is highly unlikely that Brian is a swan. There is little chance that John dropped the apple. We doubt that if either 'John dropped the apple' or 'Brian is a swan' but not both then Mary went to the bedroom. There is little chance that if either 'Fred left the football' or 'John dropped the apple' but not both then Bernhard is yellow. It is almost certain that if 'John dropped the apple' or 'Brian is a swan' or both then Greg is a rhino.
Chances are slight that either 'Bernhard is yellow' or 'Mary went to the bedroom' but not both.
Chances are slight that either 'Bernhard is yellow' or 'Mary went to the bedroom' but not both.
It is highly likely that either 'Bernhard is yellow' or 'Mary went to the bedroom' 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.6::factA.
  0.05::factB.
  0.1::factC.
  %hop1
  0.2::factX:-xor(factC,factB).
  0.1::factY:-xor(factA,factC).
  0.95::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Mary went to the bedroom' but not both.