It is probable that Greg is a swan. There is little chance that Sumit is hungry. There is a very good chance that Julius is a rhino. We believe that if 'Sumit is hungry' or 'Greg is a swan' or both then Bernhard is a frog. It is highly unlikely that if either 'Julius is a rhino' or 'Sumit is hungry' but not both then Sandra took the football. It is almost certain that if 'Greg is a swan' or 'Julius is a rhino' or both then Mary put down the apple.
It is certain that either 'Sumit is hungry' or 'Sandra took the football' but not both.
Chances are slight that either 'Sumit is hungry' or 'Sandra took the football' but not both.
It is certain that either 'Sumit is hungry' or 'Sandra took the football' 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.7::factA.
  0.1::factB.
  0.8::factC.
  %hop1
  0.75::factX:-or(factB,factA).
  0.05::factY:-xor(factC,factB).
  0.95::factZ:-or(factA,factC).

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

  query(conclusion).
  
Either 'Sumit is hungry' or 'Sandra took the football' but not both.