There is a better than even chance that Sandra took the milk. It is almost certain that John left the football. Chances are about even that Mary went to the office. There is a very good chance that if 'John left the football and Sandra took the milk' then Greg is green. Chances are about even that if 'Sandra took the milk and Mary went to the office' then Brian is yellow. We believe that if either 'Sandra took the milk' or 'John left the football' but not both then Julius is a swan.
It is certain that either 'Mary went to the office' or 'Sandra took the milk' but not both.
Chances are about even that either 'Mary went to the office' or 'Sandra took the milk' but not both.
It is certain that either 'Mary went to the office' or 'Sandra took 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.6::factA.
  0.95::factB.
  0.5::factC.
  %hop1
  0.8::factX:-and(factB,factA).
  0.5::factY:-and(factA,factC).
  0.75::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Mary went to the office' or 'Sandra took the milk' but not both.