We doubt that Bernhard is yellow. It is almost certain that Emily is a wolf. It is improbable that Daniel grabbed the apple. It is improbable that if 'Emily is a wolf and Bernhard is yellow' then Greg is a lion. Chances are slight that if 'Bernhard is yellow and Emily is a wolf' then Jason is tired. It is likely that if either 'Bernhard is yellow' or 'Daniel grabbed the apple' but not both then John went to the hallway.
It is probable that either 'Bernhard is yellow' or 'Daniel grabbed the apple' but not both.
It is probably not the case that either 'Bernhard is yellow' or 'Daniel grabbed the apple' but not both.
It is probable that either 'Bernhard is yellow' or 'Daniel grabbed the apple' 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.95::factB.
  0.1::factC.
  %hop1
  0.1::factX:-and(factB,factA).
  0.1::factY:-and(factA,factB).
  0.7::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Bernhard is yellow' or 'Daniel grabbed the apple' but not both.