It is certain that John went to the hallway. There is a very good chance that Mary took the milk. There is a better than even chance that Sumit is tired. It is improbable that if 'Mary took the milk' or 'John went to the hallway' or both then Bernhard is yellow. It is almost certain that if 'Mary took the milk and Sumit is tired' then Julius is green. There is a very good chance that if 'Mary took the milk' or 'Sumit is tired' or both then Jeff moved to the garden.
There is a better than even chance that either 'Sumit is tired' or 'Bernhard is yellow' but not both.
There is a better than even chance that either 'Sumit is tired' or 'Bernhard is yellow' but not both.
It is impossible that either 'Sumit is tired' or 'Bernhard 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
  1.0::factA.
  0.8::factB.
  0.6::factC.
  %hop1
  0.1::factX:-or(factB,factA).
  0.95::factY:-and(factB,factC).
  0.8::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Sumit is tired' or 'Bernhard is yellow' but not both.