It is almost certain that Brian is a rhino. There is a very good chance that Bill went to the kitchen. It is almost certain that John discarded the apple. There is a better than even chance that if either 'Brian is a rhino' or 'John discarded the apple' but not both then Lily is yellow. It is impossible that if 'John discarded the apple' or 'Bill went to the kitchen' or both then Julius is a lion. There is a very good chance that if 'Bill went to the kitchen and Brian is a rhino' then Mary got the football.
It is almost certain that either 'Lily is yellow' or 'John discarded the apple' but not both.
It is almost certain that either 'Lily is yellow' or 'John discarded the apple' but not both.
Chances are slight that either 'Lily is yellow' or 'John discarded 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.
  0.8::factB.
  0.95::factC.
  %hop1
  0.6::factX:-xor(factA,factC).
  0.0::factY:-or(factC,factB).
  0.8::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'Lily is yellow' or 'John discarded the apple' but not both.