It is improbable that Bernhard is a lion. It is unlikely that Mary went to the garden. There is almost no chance that Brian is white. It is likely that if either 'Mary went to the garden' or 'Bernhard is a lion' but not both then Sandra took the milk. It is probably the case that if either 'Bernhard is a lion' or 'Mary went to the garden' but not both then John put down the apple. It is highly likely that if 'Brian is white' or 'Bernhard is a lion' or both then Jessica is a cat.
It is highly likely that either 'Sandra took the milk' or 'Brian is white' but not both.
It is unlikely that either 'Sandra took the milk' or 'Brian is white' but not both.
It is highly likely that either 'Sandra took the milk' or 'Brian is white' 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.2::factB.
  0.02::factC.
  %hop1
  0.7::factX:-xor(factB,factA).
  0.7::factY:-xor(factA,factB).
  0.9::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Sandra took the milk' or 'Brian is white' but not both.