An introduction to TUG: a language for writing reusable formal program specifications | IEEE Conference Publication | IEEE Xplore