It is impossible that Mary went to the kitchen. There is a better than even chance that Lily is gray. We believe that Brian is a frog. There is almost no chance that if 'Mary went to the kitchen' or 'Lily is gray' or both then Bernhard is white. It is highly unlikely that if either 'Brian is a frog' or 'Lily is gray' but not both then John picked up the apple. It is impossible that if 'Lily is gray and Mary went to the kitchen' then Greg is a rhino.
There is almost no chance that either 'Mary went to the kitchen' or 'Bernhard is white' but not both.
There is almost no chance that either 'Mary went to the kitchen' or 'Bernhard is white' but not both.
It is probably the case that either 'Mary went to the kitchen' or 'Bernhard is white' 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.0::factA.
  0.6::factB.
  0.75::factC.
  %hop1
  0.02::factX:-or(factA,factB).
  0.05::factY:-xor(factC,factB).
  0.0::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'Mary went to the kitchen' or 'Bernhard is white' but not both.