Semigroups Underlying First-Order Logic door William Craig