Chances are slight that Bernhard is a frog. Chances are slight that Greg is yellow. There is little chance that Mary went to the bedroom. It is improbable that if either 'Mary went to the bedroom' or 'Greg is yellow' but not both then John moved to the office. Chances are slight that if 'Greg is yellow' or 'Bernhard is a frog' or both then Lily is white. It is likely that if 'Bernhard is a frog' or 'Mary went to the bedroom' or both then Sandra dropped the milk.
It is highly unlikely that either 'John moved to the office' or 'Lily is white' but not both.
It is highly unlikely that either 'John moved to the office' or 'Lily is white' but not both.
It is probable that either 'John moved to the office' or 'Lily 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.1::factB.
  0.1::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.1::factY:-or(factB,factA).
  0.7::factZ:-or(factA,factC).

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

  query(conclusion).
  
Either 'John moved to the office' or 'Lily is white' but not both.