It is almost certain that Jessica is a sheep. It is certain that Brian is a lion. We believe that John got the apple. There is almost no chance that if either 'John got the apple' or 'Brian is a lion' but not both then Mary picked up the milk. Chances are about even that if 'John got the apple and Jessica is a sheep' then Lily is yellow. It is probably not the case that if either 'John got the apple' or 'Jessica is a sheep' but not both then Yann is tired.
We doubt that either 'Yann is tired' or 'John got the apple' but not both.
There is a very good chance that either 'Yann is tired' or 'John got the apple' but not both.
We doubt that either 'Yann is tired' or 'John got 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.95::factA.
  1.0::factB.
  0.75::factC.
  %hop1
  0.02::factX:-xor(factC,factB).
  0.5::factY:-and(factC,factA).
  0.25::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Yann is tired' or 'John got the apple' but not both.