reserve G for non empty DTConstrStr,
  s for Symbol of G,
  n,m for String of G;
reserve n1,n2,n3 for String of G;
reserve a,b,c for set,
  D for non empty set,
  d for Element of D;

theorem Th12:
  a <> b implies Terminals SingleGrammar(a,b) = {b}
proof
  set E = SingleGrammar(a,b);
A1: the Rules of E = {[a,<*b*>]} by Def8;
A2: the carrier of E = {a,b} by Def8;
  then reconsider x = a, y = b as Symbol of E by TARSKI:def 2;
  assume
A3: a <> b;
A4: now
    let n be FinSequence;
    assume y ==> n;
    then [y,n] in {[a,<*b*>]} by A1;
    then [y,n] = [a,<*b*>] by TARSKI:def 1;
    hence contradiction by A3,XTUPLE_0:1;
  end;
  [x,<*y*>] in the Rules of E by A1,TARSKI:def 1;
  then
A5: x ==> <*y*>;
  thus Terminals E c= {b}
  proof
    let c be object;
    assume c in Terminals E;
    then consider s being Symbol of E such that
A6: c = s and
A7: not ex n being FinSequence st s ==> n;
    s <> x by A5,A7;
    then c = b by A2,A6,TARSKI:def 2;
    hence thesis by TARSKI:def 1;
  end;
  let c be object;
  assume c in {b};
  then c = b by TARSKI:def 1;
  hence thesis by A4;
end;
