We believe that Brian is a swan. There is a better than even chance that Fred dropped the milk. It is improbable that John discarded the apple. We doubt that if either 'John discarded the apple' or 'Brian is a swan' but not both then Gertrude is a sheep. There is little chance that if 'Fred dropped the milk' or 'Brian is a swan' or both then Mary moved to the garden. There is a better than even chance that if 'Fred dropped the milk' or 'Brian is a swan' or both then Greg is white.
Chances are about even that either 'John discarded the apple' or 'Greg is white' but not both.
Chances are about even that either 'John discarded the apple' or 'Greg is white' but not both.
There is almost no chance that either 'John discarded the apple' or 'Greg is white' 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.6::factB.
  0.1::factC.
  %hop1
  0.2::factX:-xor(factC,factA).
  0.1::factY:-or(factB,factA).
  0.6::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'John discarded the apple' or 'Greg is white' but not both.