We doubt that Greg is a rhino. We doubt that Daniel dropped the milk. There is a better than even chance that Yann is tired. We believe that if either 'Greg is a rhino' or 'Yann is tired' but not both then Mary went to the kitchen. It is certain that if either 'Daniel dropped the milk' or 'Yann is tired' but not both then John put down the apple. It is unlikely that if 'Greg is a rhino and Yann is tired' then Lily is white.
There is a very good chance that either 'Greg is a rhino' or 'Daniel dropped the milk' but not both.
It is probably not the case that either 'Greg is a rhino' or 'Daniel dropped the milk' but not both.
There is a very good chance that either 'Greg is a rhino' or 'Daniel dropped 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.2::factA.
  0.2::factB.
  0.6::factC.
  %hop1
  0.75::factX:-xor(factA,factC).
  1.0::factY:-xor(factB,factC).
  0.2::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Greg is a rhino' or 'Daniel dropped the milk' but not both.