It is probably the case that Greg is white. We doubt that Jeff left the apple. It is certain that Mary went to the office. It is almost certain that if either 'Mary went to the office' or 'Greg is white' but not both then Julius is a swan. It is highly unlikely that if 'Mary went to the office' or 'Greg is white' or both then Yann is tired. It is highly unlikely that if 'Jeff left the apple' or 'Greg is white' or both then Brian is a lion.
It is highly unlikely that either 'Yann is tired' or 'Greg is white' but not both.
It is probable that either 'Yann is tired' or 'Greg is white' but not both.
It is highly unlikely that either 'Yann is tired' or 'Greg is white' 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.7::factA.
  0.2::factB.
  1.0::factC.
  %hop1
  0.95::factX:-xor(factC,factA).
  0.05::factY:-or(factC,factA).
  0.05::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Yann is tired' or 'Greg is white' but not both.