It is likely that Sandra grabbed the milk. There is a very good chance that Jeff discarded the milk. There is a very good chance that John moved to the office. It is certain that if either 'Sandra grabbed the milk' or 'John moved to the office' but not both then Bernhard is a swan. Chances are about even that if 'Jeff discarded the milk and John moved to the office' then Jason is tired. It is almost certain that if 'Sandra grabbed the milk and John moved to the office' then Brian is yellow.
It is probably the case that either 'Brian is yellow' or 'Sandra grabbed the milk' but not both.
It is unlikely that either 'Brian is yellow' or 'Sandra grabbed the milk' but not both.
It is probably the case that either 'Brian is yellow' or 'Sandra grabbed 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
  0.7::factA.
  0.8::factB.
  0.8::factC.
  %hop1
  1.0::factX:-xor(factA,factC).
  0.5::factY:-and(factB,factC).
  0.95::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Brian is yellow' or 'Sandra grabbed the milk' but not both.