There is almost no chance that Lily is white. It is probably not the case that Jeff moved to the garden. It is certain that Sandra left the football. It is highly likely that if either 'Sandra left the football' or 'Jeff moved to the garden' but not both then John discarded the apple. Chances are slight that if 'Sandra left the football and Jeff moved to the garden' then Greg is a lion. Chances are slight that if 'Sandra left the football and Jeff moved to the garden' then Brian is green.
There is almost no chance that 'Greg is a lion and Jeff moved to the garden'.
There is almost no chance that 'Greg is a lion and Jeff moved to the garden'.
It is certain that 'Greg is a lion and Jeff moved to the garden'.

  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.25::factB.
  1.0::factC.
  %hop1
  0.9::factX:-xor(factC,factB).
  0.1::factY:-and(factC,factB).
  0.1::factZ:-and(factC,factB).

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

  query(conclusion).
  
'Greg is a lion and Jeff moved to the garden'.