We doubt that John moved to the garden. There is little chance that Sandra left the apple. It is probable that Daniel took the milk. It is impossible that if 'Sandra left the apple' or 'Daniel took the milk' or both then Brian is a swan. It is probable that if 'Daniel took the milk and Sandra left the apple' then Mary went to the bedroom. It is highly unlikely that if either 'Sandra left the apple' or 'John moved to the garden' but not both then Gertrude is a sheep.
It is probable that either 'Sandra left the apple' or 'Gertrude is a sheep' but not both.
It is improbable that either 'Sandra left the apple' or 'Gertrude is a sheep' but not both.
It is probable that either 'Sandra left the apple' or 'Gertrude is a sheep' 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.1::factB.
  0.7::factC.
  %hop1
  0.0::factX:-or(factB,factC).
  0.7::factY:-and(factC,factB).
  0.05::factZ:-xor(factB,factA).

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

  query(conclusion).
  
Either 'Sandra left the apple' or 'Gertrude is a sheep' but not both.