It is improbable that Lily is a swan. It is likely that Julius is green. It is probably not the case that Bernhard is gray. There is little chance that if 'Bernhard is gray' or 'Julius is green' or both then Winona is a sheep. It is probable that if either 'Bernhard is gray' or 'Lily is a swan' but not both then Mary dropped the milk. It is probably not the case that if 'Bernhard is gray' or 'Lily is a swan' or both then Brian is yellow.
There is a better than even chance that either 'Julius is green' or 'Mary dropped the milk' but not both.
There is a better than even chance that either 'Julius is green' or 'Mary dropped the milk' but not both.
It is improbable that either 'Julius is green' or 'Mary dropped the milk' 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.7::factB.
  0.25::factC.
  %hop1
  0.1::factX:-or(factC,factB).
  0.7::factY:-xor(factC,factA).
  0.25::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Julius is green' or 'Mary dropped the milk' but not both.