It is probable that Julius is a swan. There is little chance that Bill got the milk there. It is highly likely that Brian is green. It is highly unlikely that if 'Brian is green' or 'Bill got the milk there' or both then John discarded the apple. It is probable that if either 'Brian is green' or 'Bill got the milk there' but not both then Bernhard is a frog. It is almost certain that if 'Brian is green' or 'Bill got the milk there' or both then Mary went to the garden.
There is a better than even chance that either 'Bernhard is a frog' or 'John discarded the apple' but not both.
There is a better than even chance that either 'Bernhard is a frog' or 'John discarded the apple' but not both.
It is highly unlikely that either 'Bernhard is a frog' or 'John discarded the apple' 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.9::factC.
  %hop1
  0.05::factX:-or(factC,factB).
  0.7::factY:-xor(factC,factB).
  0.95::factZ:-or(factC,factB).

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

  query(conclusion).
  
Either 'Bernhard is a frog' or 'John discarded the apple' but not both.