It is highly unlikely that Mary took the football. There is little chance that Greg is white. There is a better than even chance that John discarded the apple. We doubt that if either 'John discarded the apple' or 'Mary took the football' but not both then Jason is tired. It is improbable that if 'Greg is white' or 'John discarded the apple' or both then Bernhard is a rhino. It is probably not the case that if 'John discarded the apple' or 'Greg is white' or both then Sandra left the milk.
We believe that either 'Bernhard is a rhino' or 'Greg is white' but not both.
Chances are slight that either 'Bernhard is a rhino' or 'Greg is white' but not both.
We believe that either 'Bernhard is a rhino' 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.05::factA.
  0.1::factB.
  0.6::factC.
  %hop1
  0.2::factX:-xor(factC,factA).
  0.1::factY:-or(factB,factC).
  0.25::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Bernhard is a rhino' or 'Greg is white' but not both.