It is certain that Julius is gray. It is probably not the case that Bernhard is green. There is almost no chance that Brian is yellow. There is a very good chance that if 'Bernhard is green' or 'Julius is gray' or both then Sumit is thirsty. Chances are about even that if 'Bernhard is green and Julius is gray' then Greg is gray. It is highly unlikely that if either 'Julius is gray' or 'Brian is yellow' but not both then John left the milk.
It is improbable that 'Sumit is thirsty' or 'Julius is gray' or both.
It is certain that 'Sumit is thirsty' or 'Julius is gray' or both.
It is improbable that 'Sumit is thirsty' or 'Julius is gray' or 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
  1.0::factA.
  0.25::factB.
  0.02::factC.
  %hop1
  0.8::factX:-or(factB,factA).
  0.5::factY:-and(factB,factA).
  0.05::factZ:-xor(factA,factC).

  %hop2
  conclusion:-or(factX,factA).

  query(conclusion).
  
'Sumit is thirsty' or 'Julius is gray' or both.