Semigroups Underlying First-Order Logic by William Craig