It is probable that Julius is a frog. There is a better than even chance that Greg is white. It is highly unlikely that Bernhard is yellow. It is almost certain that if either 'Bernhard is yellow' or 'Julius is a frog' but not both then Brian is a lion. There is a very good chance that if either 'Julius is a frog' or 'Greg is white' but not both then Mary dropped the milk. It is highly likely that if either 'Bernhard is yellow' or 'Greg is white' but not both then Jeff moved to the garden.
It is likely that either 'Greg is white' or 'Mary dropped the milk' but not both.
It is likely that either 'Greg is white' or 'Mary dropped the milk' but not both.
There is almost no chance that either 'Greg is white' or 'Mary dropped 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.6::factB.
  0.05::factC.
  %hop1
  0.95::factX:-xor(factC,factA).
  0.8::factY:-xor(factA,factB).
  0.9::factZ:-xor(factC,factB).

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

  query(conclusion).
  
Either 'Greg is white' or 'Mary dropped the milk' but not both.