It is impossible that Julius is gray. It is probable that Lily is green. It is highly unlikely that John put down the milk. Chances are slight that if 'Lily is green and Julius is gray' then Sumit is thirsty. It is almost certain that if 'Lily is green and Julius is gray' then Bernhard is a rhino. There is a very good chance that if either 'Lily is green' or 'John put down the milk' but not both then Jason is tired.
It is highly unlikely that 'Lily is green and John put down the milk'.
It is highly unlikely that 'Lily is green and John put down the milk'.
It is almost certain that 'Lily is green and John put down 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.0::factA.
  0.7::factB.
  0.05::factC.
  %hop1
  0.1::factX:-and(factB,factA).
  0.95::factY:-and(factB,factA).
  0.8::factZ:-xor(factB,factC).

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

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