Author: Dines Bjorner,Martin C. Henson