It is likely that Julius is white. Chances are about even that Lily is gray. It is almost certain that Brian is yellow. There is almost no chance that if 'Lily is gray and Brian is yellow' then Bernhard is gray. It is highly likely that if 'Julius is white and Lily is gray' then Daniel got the milk. It is highly likely that if 'Julius is white' or 'Lily is gray' or both then John went to the kitchen.
It is unlikely that 'Lily is gray' or 'Brian is yellow' or both.
It is almost certain that 'Lily is gray' or 'Brian is yellow' or both.
It is unlikely that 'Lily is gray' or 'Brian is yellow' 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
  0.7::factA.
  0.5::factB.
  0.95::factC.
  %hop1
  0.02::factX:-and(factB,factC).
  0.9::factY:-and(factA,factB).
  0.9::factZ:-or(factA,factB).

  %hop2
  conclusion:-or(factB,factC).

  query(conclusion).
  
'Lily is gray' or 'Brian is yellow' or both.