There is a better than even chance that Gertrude is a cat. It is highly likely that Emily is a wolf. It is improbable that Jeff discarded the milk. It is impossible that if 'Jeff discarded the milk' or 'Gertrude is a cat' or both then Greg is gray. We believe that if either 'Emily is a wolf' or 'Jeff discarded the milk' but not both then Brian is white. It is almost certain that if 'Jeff discarded the milk and Gertrude is a cat' then Mary got the apple.
It is highly unlikely that either 'Mary got the apple' or 'Greg is gray' but not both.
It is highly unlikely that either 'Mary got the apple' or 'Greg is gray' but not both.
It is certain that either 'Mary got the apple' or 'Greg is gray' 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.6::factA.
  0.9::factB.
  0.1::factC.
  %hop1
  0.0::factX:-or(factC,factA).
  0.75::factY:-xor(factB,factC).
  0.95::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Mary got the apple' or 'Greg is gray' but not both.