Abstract interpretation using domain theory