It is impossible that Julius is a rhino. There is a better than even chance that Bernhard is gray. Chances are slight that Greg is yellow. It is impossible that if either 'Bernhard is gray' or 'Greg is yellow' but not both then Sandra got the football. We doubt that if either 'Bernhard is gray' or 'Greg is yellow' but not both then Lily is green. It is likely that if 'Julius is a rhino and Bernhard is gray' then Mary went to the office.
There is a very good chance that either 'Julius is a rhino' or 'Greg is yellow' but not both.
There is little chance that either 'Julius is a rhino' or 'Greg is yellow' but not both.
There is a very good chance that either 'Julius is a rhino' or 'Greg is yellow' 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.0::factA.
  0.6::factB.
  0.1::factC.
  %hop1
  0.0::factX:-xor(factB,factC).
  0.2::factY:-xor(factB,factC).
  0.7::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Julius is a rhino' or 'Greg is yellow' but not both.