There is almost no chance that Greg is gray. Chances are slight that John discarded the apple. It is improbable that Sandra got the milk. It is improbable that if 'Greg is gray and Sandra got the milk' then Winona is a mouse. It is likely that if 'Sandra got the milk' or 'Greg is gray' or both then Julius is a swan. There is little chance that if 'John discarded the apple and Sandra got the milk' then Brian is a frog.
It is highly likely that either 'John discarded the apple' or 'Sandra got the milk' but not both.
It is unlikely that either 'John discarded the apple' or 'Sandra got the milk' but not both.
It is highly likely that either 'John discarded the apple' or 'Sandra got 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.02::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.1::factX:-and(factA,factC).
  0.7::factY:-or(factC,factA).
  0.1::factZ:-and(factB,factC).

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

  query(conclusion).
  
Either 'John discarded the apple' or 'Sandra got the milk' but not both.