It is certain that Bernhard is a frog. Chances are about even that Greg is a swan. We believe that Jason is tired. It is highly likely that if 'Greg is a swan' or 'Jason is tired' or both then Mary went to the bedroom. It is improbable that if 'Greg is a swan and Bernhard is a frog' then John grabbed the apple. There is almost no chance that if either 'Jason is tired' or 'Greg is a swan' but not both then Brian is gray.
It is unlikely that either 'Jason is tired' or 'Mary went to the bedroom' but not both.
It is unlikely that either 'Jason is tired' or 'Mary went to the bedroom' but not both.
It is almost certain that either 'Jason is tired' or 'Mary went to the bedroom' 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
  1.0::factA.
  0.5::factB.
  0.75::factC.
  %hop1
  0.9::factX:-or(factB,factC).
  0.1::factY:-and(factB,factA).
  0.02::factZ:-xor(factC,factB).

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

  query(conclusion).
  
Either 'Jason is tired' or 'Mary went to the bedroom' but not both.