Chances are about even that Julius is a swan. It is highly likely that Brian is a lion. We believe that Bill went to the garden. It is probably not the case that if either 'Bill went to the garden' or 'Julius is a swan' but not both then Bernhard is white. It is almost certain that if 'Brian is a lion and Bill went to the garden' then John put down the apple. We doubt that if 'Brian is a lion and Julius is a swan' then Mary got the football.
There is little chance that either 'John put down the apple' or 'Bill went to the garden' but not both.
There is little chance that either 'John put down the apple' or 'Bill went to the garden' but not both.
It is probably the case that either 'John put down the apple' or 'Bill went to the garden' 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.5::factA.
  0.9::factB.
  0.75::factC.
  %hop1
  0.25::factX:-xor(factC,factA).
  0.95::factY:-and(factB,factC).
  0.2::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'John put down the apple' or 'Bill went to the garden' but not both.