It is probably not the case that Mary left the apple. It is highly unlikely that Greg is white. We believe that Bernhard is a swan. It is probable that if 'Greg is white' or 'Bernhard is a swan' or both then Sandra put down the milk. It is highly unlikely that if 'Greg is white' or 'Bernhard is a swan' or both then Lily is yellow. It is highly unlikely that if 'Greg is white' or 'Mary left the apple' or both then John moved to the office.
It is probable that either 'Mary left the apple' or 'Lily is yellow' but not both.
It is probably not the case that either 'Mary left the apple' or 'Lily is yellow' but not both.
It is probable that either 'Mary left the apple' or 'Lily is yellow' 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.25::factA.
  0.05::factB.
  0.75::factC.
  %hop1
  0.7::factX:-or(factB,factC).
  0.05::factY:-or(factB,factC).
  0.05::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Mary left the apple' or 'Lily is yellow' but not both.