Chances are about even that Lily is gray. It is impossible that John took the apple. We believe that Mary went to the office. We believe that if 'Lily is gray and John took the apple' then Daniel left the milk. It is certain that if 'Mary went to the office' or 'Lily is gray' or both then Bernhard is a swan. Chances are slight that if either 'Mary went to the office' or 'Lily is gray' but not both then Brian is a frog.
There is little chance that either 'Mary went to the office' or 'Bernhard is a swan' but not both.
There is little chance that either 'Mary went to the office' or 'Bernhard is a swan' but not both.
We believe that either 'Mary went to the office' or 'Bernhard is a swan' 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.0::factB.
  0.75::factC.
  %hop1
  0.75::factX:-and(factA,factB).
  1.0::factY:-or(factC,factA).
  0.1::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'Mary went to the office' or 'Bernhard is a swan' but not both.