It is certain that Jeff put down the milk. There is almost no chance that John got the milk. Chances are about even that Lily is gray. We doubt that if 'John got the milk and Jeff put down the milk' then Greg is white. There is little chance that if either 'Lily is gray' or 'Jeff put down the milk' but not both then Brian is a frog. It is probably the case that if 'John got the milk and Lily is gray' then Mary went to the garden.
We believe that 'Jeff put down the milk and Greg is white'.
It is impossible that 'Jeff put down the milk and Greg is white'.
We believe that 'Jeff put down the milk and Greg is white'.

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

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

  query(conclusion).
  
'Jeff put down the milk and Greg is white'.