Guaranteed Generation from Large Language Models