We doubt that Bernhard is a frog. There is almost no chance that John dropped the apple. There is a very good chance that Brian is green. It is probable that if either 'Brian is green' or 'John dropped the apple' but not both then Winona is a mouse. Chances are about even that if 'Brian is green and John dropped the apple' then Julius is white. It is highly unlikely that if either 'Brian is green' or 'John dropped the apple' but not both then Bill left the milk.
It is highly unlikely that either 'John dropped the apple' or 'Bill left the milk' but not both.
It is highly unlikely that either 'John dropped the apple' or 'Bill left the milk' but not both.
It is highly likely that either 'John dropped the apple' or 'Bill left 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.02::factB.
  0.8::factC.
  %hop1
  0.7::factX:-xor(factC,factB).
  0.5::factY:-and(factC,factB).
  0.05::factZ:-xor(factC,factB).

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

  query(conclusion).
  
Either 'John dropped the apple' or 'Bill left the milk' but not both.