It is unlikely that Sumit is bored. We doubt that Bernhard is white. We believe that Jason is tired. It is probably not the case that if either 'Sumit is bored' or 'Jason is tired' but not both then Brian is yellow. There is little chance that if 'Jason is tired' or 'Sumit is bored' or both then Sandra left the milk. It is highly likely that if 'Bernhard is white' or 'Sumit is bored' or both then John grabbed the apple.
There is a very good chance that either 'John grabbed the apple' or 'Sumit is bored' but not both.
We doubt that either 'John grabbed the apple' or 'Sumit is bored' but not both.
There is a very good chance that either 'John grabbed the apple' or 'Sumit is bored' 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.2::factB.
  0.75::factC.
  %hop1
  0.25::factX:-xor(factA,factC).
  0.1::factY:-or(factC,factA).
  0.9::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'John grabbed the apple' or 'Sumit is bored' but not both.