We believe that John discarded the apple. It is probable that Gertrude is a sheep. Chances are about even that Mary went to the garden. It is certain that if 'Gertrude is a sheep' or 'Mary went to the garden' or both then Emily is a cat. Chances are about even that if 'Gertrude is a sheep and John discarded the apple' then Daniel grabbed the milk. We believe that if 'Mary went to the garden and John discarded the apple' then Greg is yellow.
It is likely that either 'Greg is yellow' or 'Mary went to the garden' but not both.
It is unlikely that either 'Greg is yellow' or 'Mary went to the garden' but not both.
It is likely that either 'Greg is yellow' or 'Mary went to the garden' 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.75::factA.
  0.7::factB.
  0.5::factC.
  %hop1
  1.0::factX:-or(factB,factC).
  0.5::factY:-and(factB,factA).
  0.75::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Greg is yellow' or 'Mary went to the garden' but not both.