It is certain that Mary picked up the milk. Chances are about even that Brian is a frog. It is certain that Sandra left the milk. It is certain that if 'Sandra left the milk and Brian is a frog' then Julius is a swan. It is probable that if either 'Mary picked up the milk' or 'Brian is a frog' but not both then Bernhard is green. It is certain that if either 'Brian is a frog' or 'Mary picked up the milk' but not both then Jeff went to the hallway.
It is improbable that either 'Bernhard is green' or 'Mary picked up the milk' but not both.
It is probably the case that either 'Bernhard is green' or 'Mary picked up the milk' but not both.
It is improbable that either 'Bernhard is green' or 'Mary picked up the milk' 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.
  1.0::factC.
  %hop1
  1.0::factX:-and(factC,factB).
  0.7::factY:-xor(factA,factB).
  1.0::factZ:-xor(factB,factA).

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

  query(conclusion).
  
Either 'Bernhard is green' or 'Mary picked up the milk' but not both.