It is probably not the case that Julius is gray. Chances are slight that Greg is a frog. It is highly unlikely that John left the football. It is improbable that if 'Greg is a frog and Julius is gray' then Emily is a sheep. There is little chance that if 'Julius is gray and John left the football' then Brian is green. There is little chance that if 'John left the football and Julius is gray' then Bernhard is yellow.
It is highly likely that either 'Brian is green' or 'Julius is gray' but not both.
It is probably not the case that either 'Brian is green' or 'Julius is gray' but not both.
It is highly likely that either 'Brian is green' or 'Julius is gray' 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.25::factA.
  0.1::factB.
  0.05::factC.
  %hop1
  0.1::factX:-and(factB,factA).
  0.1::factY:-and(factA,factC).
  0.1::factZ:-and(factC,factA).

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

  query(conclusion).
  
Either 'Brian is green' or 'Julius is gray' but not both.