There is almost no chance that Bernhard is gray. It is highly likely that Greg is yellow. We doubt that John put down the apple. It is highly likely that if 'Bernhard is gray and John put down the apple' then Daniel got the football. It is likely that if 'John put down the apple' or 'Greg is yellow' or both then Brian is a frog. There is a better than even chance that if 'Bernhard is gray' or 'Greg is yellow' or both then Lily is green.
It is improbable that 'Lily is green and John put down the apple'.
It is improbable that 'Lily is green and John put down the apple'.
It is highly likely that 'Lily is green and John put down the apple'.

  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.9::factB.
  0.2::factC.
  %hop1
  0.9::factX:-and(factA,factC).
  0.7::factY:-or(factC,factB).
  0.6::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Lily is green and John put down the apple'.