public void TestFreshNames() {
var productions = new List<Production> {
CFGParser.Production(@"<S> -> 'a'"),
CFGParser.Production(@"<X_0> -> 'b'"),
};
Grammar g = new Grammar(productions, Nonterminal.Of("S"));
CNFGrammar h = g.ToCNF();
Assert.IsTrue(h.Accepts(Sentence.FromLetters("a")));
Assert.IsFalse(h.Accepts(Sentence.FromLetters("b")));
}