It is probable that Sandra is in the kitchen. There is little chance that Lily is white. It is probably not the case that Emily is a mouse. It is probable that if 'Emily is a mouse and Lily is white' then Brian is gray. We believe that if 'Emily is a mouse and Lily is white' then Mary went to the bedroom. We believe that if 'Emily is a mouse and Sandra is in the kitchen' then Bill moved to the office.
There is little chance that either 'Lily is white' or 'Brian is gray' but not both.
There is little chance that either 'Lily is white' or 'Brian is gray' but not both.
We believe that either 'Lily is white' or 'Brian is gray' 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.7::factA.
  0.1::factB.
  0.25::factC.
  %hop1
  0.7::factX:-and(factC,factB).
  0.75::factY:-and(factC,factB).
  0.75::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Lily is white' or 'Brian is gray' but not both.