There is almost no chance that Jeff went to the hallway. It is probable that Lily is white. Chances are slight that Greg is gray. It is almost certain that if either 'Jeff went to the hallway' or 'Greg is gray' but not both then Jason is tired. It is almost certain that if 'Jeff went to the hallway and Greg is gray' then Mary dropped the milk. There is a very good chance that if either 'Greg is gray' or 'Jeff went to the hallway' but not both then Bernhard is green.
It is improbable that either 'Lily is white' or 'Jeff went to the hallway' but not both.
It is probable that either 'Lily is white' or 'Jeff went to the hallway' but not both.
It is improbable that either 'Lily is white' or 'Jeff went to the hallway' 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.02::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.95::factX:-xor(factA,factC).
  0.95::factY:-and(factA,factC).
  0.8::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Lily is white' or 'Jeff went to the hallway' but not both.