It is unlikely that Bill left the football. We doubt that Yann is tired. It is highly likely that Lily is a rhino. There is little chance that if either 'Lily is a rhino' or 'Yann is tired' but not both then Sandra dropped the milk. It is certain that if 'Yann is tired' or 'Bill left the football' or both then John went to the bedroom. It is highly unlikely that if 'Yann is tired' or 'Lily is a rhino' or both then Mary moved to the office.
It is probable that either 'John went to the bedroom' or 'Bill left the football' but not both.
It is unlikely that either 'John went to the bedroom' or 'Bill left the football' but not both.
It is probable that either 'John went to the bedroom' or 'Bill left the football' 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.2::factB.
  0.9::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  1.0::factY:-or(factB,factA).
  0.05::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'John went to the bedroom' or 'Bill left the football' but not both.