In this section we present the idea on which both main proofs of the chapter are based. First we recall a definition from [GeffertGeffert1988].
We want to show that for
any recursively enumerable language
we can construct a standard Watson-Crick EDT0L system, a
standard Watson-Crick E0L system, and also a standard Watson-Crick
eco-grammar system,
such that the generated language of
the systems is
.
The constructions have the same
idea, which is based on the following theorem presented in [GeffertGeffert1988]:
We note here that Definition 6.2 remains correct and
Theorem 6.3 remains true if we suppose that the words
and
are over
instead of
for
and
.
This modification is important from our point of view because it makes our
construction simpler, so
we will use this version of the EPC and Theorem 6.3.
We can consider the words
and
as numbers in
base three notation and therefore we can speak about their values.
From this point of view, Theorem 6.3
says that a word
is in
if and only if
there exist indices
, such that
and
the values of the two words
and
are equal.
Using this fact, we will generate words of a recursively enumerable language
in three phases in the following way. By the end of the first phase
we generate a sentential form representing the values of the words
and
.
By the end of the second phase we will have a sentential form which
represents the word
and the values of the words
and
.
The construction used in these phases guarantees that all
sentential forms representing the
values of a pair in the form of
and
the corresponding word
can be generated in this way.
In the third phase we check the condition presented above: the
equality of the values of the two words
and
.
The corresponding word
is accepted if and only if this
checking is successful.
Therefore only those words can be generated for which there exist
indices
, such that
and
.
Now we describe how we can represent values of words in the sentential form.
Besides the letters from
alph, we have additional letters in the sentential form:
and
;
the number of
's represents the value of the word
, the number of
's represents the value
of the other word
.
The derivation proceeds in the following way.
In the first phase we increase the number of 's and
's according to the concatenation of the pairs
.
Hence by the end of this phase the sentential form
represents the values of the
words
and
.
In the second phase we put
letters into the sentential form and at the same time increase
the number of letters
according to the value of the corresponding word
. Thus by the end of this phase the
sentential form contains a word
and represents the two values of the
words
and
.
In the third phase we check whether the number of 's and
's
are equal. If the answer is positive, then
all symbols but the ones representing the word
are
deleted and the word
is generated.
Otherwise the derivation is blocked and never results in a terminal word.
We use this same idea in both main constructions of the chapter, the difference between the two proofs lies in the techniques used for coordinating the derivation.