It is highly likely that Brian is a frog. It is impossible that Mary went to the bedroom. We believe that Bernhard is green. There is little chance that if either 'Brian is a frog' or 'Mary went to the bedroom' but not both then Sandra got the milk. It is impossible that if 'Mary went to the bedroom and Bernhard is green' then Greg is yellow. It is probably the case that if 'Bernhard is green and Mary went to the bedroom' then John dropped the apple.
Chances are about even that either 'Greg is yellow' or 'John dropped the apple' but not both.
It is impossible that either 'Greg is yellow' or 'John dropped the apple' but not both.
Chances are about even that either 'Greg is yellow' or 'John dropped 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.9::factA.
  0.0::factB.
  0.75::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.0::factY:-and(factB,factC).
  0.7::factZ:-and(factC,factB).

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

  query(conclusion).
  
Either 'Greg is yellow' or 'John dropped the apple' but not both.