abstract interpretation definitions