We doubt that Jason is tired. It is likely that John went to the hallway. Chances are about even that Mary moved to the office. There is little chance that if 'Jason is tired' or 'John went to the hallway' or both then Bernhard is yellow. It is certain that if 'Mary moved to the office and Jason is tired' then Emily is a cat. It is probably the case that if either 'Jason is tired' or 'John went to the hallway' but not both then Gertrude is a wolf.
There is a better than even chance that either 'Jason is tired' or 'John went to the hallway' but not both.
There is a better than even chance that either 'Jason is tired' or 'John went to the hallway' but not both.
Chances are slight that either 'Jason is tired' or 'John 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.2::factA.
  0.7::factB.
  0.5::factC.
  %hop1
  0.1::factX:-or(factA,factB).
  1.0::factY:-and(factC,factA).
  0.7::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Jason is tired' or 'John went to the hallway' but not both.