It is certain that Greg is yellow. Chances are slight that Jeff moved to the office. It is almost certain that Lily is a rhino. There is little chance that if either 'Lily is a rhino' or 'Jeff moved to the office' but not both then Julius is gray. There is a better than even chance that if either 'Jeff moved to the office' or 'Greg is yellow' but not both then Mary went to the bedroom. We believe that if 'Jeff moved to the office' or 'Greg is yellow' or both then John got the milk.
Chances are about even that either 'Greg is yellow' or 'Mary went to the bedroom' but not both.
Chances are about even that either 'Greg is yellow' or 'Mary went to the bedroom' but not both.
There is almost no chance that either 'Greg is yellow' or 'Mary went to the bedroom' 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
  1.0::factA.
  0.1::factB.
  0.95::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.6::factY:-xor(factB,factA).
  0.75::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Greg is yellow' or 'Mary went to the bedroom' but not both.