It is impossible that Lily is green. We believe that Bernhard is a swan. It is highly unlikely that Antoine is bored. There is a better than even chance that if either 'Lily is green' or 'Bernhard is a swan' but not both then John dropped the apple. It is almost certain that if 'Antoine is bored' or 'Bernhard is a swan' or both then Julius is gray. There is little chance that if either 'Lily is green' or 'Antoine is bored' but not both then Sandra took the apple.
It is almost certain that either 'Lily is green' or 'Sandra took the apple' but not both.
It is impossible that either 'Lily is green' or 'Sandra took the apple' but not both.
It is almost certain that either 'Lily is green' or 'Sandra took 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.0::factA.
  0.75::factB.
  0.05::factC.
  %hop1
  0.6::factX:-xor(factA,factB).
  0.95::factY:-or(factC,factB).
  0.1::factZ:-xor(factA,factC).

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

  query(conclusion).
  
Either 'Lily is green' or 'Sandra took the apple' but not both.