It is highly likely that Julius is gray. It is almost certain that Gertrude is a cat. It is improbable that Bernhard is a swan. It is improbable that if 'Julius is gray' or 'Gertrude is a cat' or both then Greg is a lion. It is unlikely that if either 'Gertrude is a cat' or 'Julius is gray' but not both then John picked up the apple. It is likely that if either 'Gertrude is a cat' or 'Julius is gray' but not both then Mary discarded the milk.
There is little chance that either 'John picked up the apple' or 'Mary discarded the milk' but not both.
There is little chance that either 'John picked up the apple' or 'Mary discarded the milk' but not both.
It is probable that either 'John picked up the apple' or 'Mary discarded 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.9::factA.
  0.95::factB.
  0.1::factC.
  %hop1
  0.1::factX:-or(factA,factB).
  0.2::factY:-xor(factB,factA).
  0.7::factZ:-xor(factB,factA).

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

  query(conclusion).
  
Either 'John picked up the apple' or 'Mary discarded the milk' but not both.