It is likely that John put down the apple. It is highly likely that Brian is green. There is little chance that Jeff went to the bedroom. We doubt that if 'Jeff went to the bedroom and Brian is green' then Bernhard is a swan. We doubt that if 'John put down the apple and Brian is green' then Lily is yellow. It is improbable that if 'Jeff went to the bedroom' or 'John put down the apple' or both then Daniel got the football.
It is highly unlikely that either 'Bernhard is a swan' or 'Brian is green' but not both.
It is highly likely that either 'Bernhard is a swan' or 'Brian is green' but not both.
It is highly unlikely that either 'Bernhard is a swan' or 'Brian is green' 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.9::factB.
  0.1::factC.
  %hop1
  0.2::factX:-and(factC,factB).
  0.2::factY:-and(factA,factB).
  0.1::factZ:-or(factC,factA).

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

  query(conclusion).
  
Either 'Bernhard is a swan' or 'Brian is green' but not both.