It is unlikely that Brian is green. There is a better than even chance that Julius is gray. We believe that Greg is a frog. It is almost certain that if 'Julius is gray and Brian is green' then Bernhard is a rhino. It is likely that if either 'Greg is a frog' or 'Julius is gray' but not both then Mary moved to the office. There is almost no chance that if 'Julius is gray and Brian is green' then John got the milk.
It is improbable that either 'Mary moved to the office' or 'Greg is a frog' but not both.
There is a better than even chance that either 'Mary moved to the office' or 'Greg is a frog' but not both.
It is improbable that either 'Mary moved to the office' or 'Greg is a frog' 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.2::factA.
  0.6::factB.
  0.75::factC.
  %hop1
  0.95::factX:-and(factB,factA).
  0.7::factY:-xor(factC,factB).
  0.02::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'Mary moved to the office' or 'Greg is a frog' but not both.