Proving termination properties of Prolog programs: a semantic approach | IEEE Conference Publication | IEEE Xplore