It is improbable that Lily is a rhino. We believe that Mary got the football. It is almost certain that Brian is green. There is a better than even chance that if 'Mary got the football and Lily is a rhino' then John picked up the apple. It is almost certain that if 'Mary got the football and Brian is green' then Julius is gray. It is almost certain that if 'Brian is green' or 'Lily is a rhino' or both then Bernhard is a swan.
There is a very good chance that either 'Julius is gray' or 'Brian is green' but not both.
It is probably not the case that either 'Julius is gray' or 'Brian is green' but not both.
There is a very good chance that either 'Julius is gray' or 'Brian is green' 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.1::factA.
  0.75::factB.
  0.95::factC.
  %hop1
  0.6::factX:-and(factB,factA).
  0.95::factY:-and(factB,factC).
  0.95::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Julius is gray' or 'Brian is green' but not both.