There is almost no chance that Bernhard is gray. We believe that Julius is green. We doubt that Daniel got the apple. It is highly likely that if 'Daniel got the apple' or 'Julius is green' or both then Lily is a swan. There is little chance that if 'Julius is green' or 'Daniel got the apple' or both then Mary took the milk. There is little chance that if either 'Daniel got the apple' or 'Julius is green' but not both then Greg is yellow.
It is almost certain that 'Greg is yellow and Mary took the milk'.
It is impossible that 'Greg is yellow and Mary took the milk'.
It is almost certain that 'Greg is yellow and Mary took the milk'.

  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.02::factA.
  0.75::factB.
  0.2::factC.
  %hop1
  0.9::factX:-or(factC,factB).
  0.1::factY:-or(factB,factC).
  0.1::factZ:-xor(factC,factB).

  %hop2
  conclusion:-and(factZ,factY).

  query(conclusion).
  
'Greg is yellow and Mary took the milk'.