It is certain that John put down the apple. We believe that Lily is gray. There is almost no chance that Brian is a swan. It is almost certain that if 'John put down the apple and Lily is gray' then Sandra dropped the milk. It is almost certain that if either 'John put down the apple' or 'Brian is a swan' but not both then Bernhard is a rhino. It is unlikely that if 'Brian is a swan and John put down the apple' then Julius is a lion.
It is probably not the case that either 'Lily is gray' or 'John put down the apple' but not both.
It is probably not the case that either 'Lily is gray' or 'John put down the apple' but not both.
It is almost certain that either 'Lily is gray' or 'John put down 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
  1.0::factA.
  0.75::factB.
  0.02::factC.
  %hop1
  0.95::factX:-and(factA,factB).
  0.95::factY:-xor(factA,factC).
  0.2::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Lily is gray' or 'John put down the apple' but not both.