

macro operators and
  operators a set $\Sigma_2$ of \emph{macro operators} to be
  defined below and macro operators. of macro operators and If $\gamma$ is not empty,
  we add it to the set $\Sigma_2$ of macro-operators of $G_2$, as a single symbol.
  We also
  If $\gamma$ is empty, we only add the substitution $\delta \oR \to \oR$
  to the rule set.Next, we consider all strings of the form $\delta \gamma$ where
  $\delta$ is a macro-digit and $\gamma$ is a macro-operator;
  again we use lazy evaluation in $G_0$ to transform such strings 
  into $\gamma'\delta'$ where $\gamma'$ is a string in $\sigma^+$
  and $\delta'$ is a binary string.  We parse the string $\delta'$
  (which is always non-empty, by the rules of $G_0$)
  into the concatenation $\rho \delta'_1\delta'_2\cdots\delta'_r$ where each $\delta'_i$ is a 
  macro digit and $\rho$ is a proper suffix of a macro digit.
  For every such pair $\delta \gamma$, we add the string $\sigma'\rho$ to the set
  of macro-operators, as a single symbol.  We also add to the rules of $G_2$
  the substitution 
    \[
      \delta\;\gamma \to (\gamma'\rho)\;\delta'_1\;\delta'_2\;\cdots\;\delta'_r
    \]
  where $(\gamma'\rho)$ and each $\delta'_i$ are understood as single macro-symbols.
  Any new macro-operators generated in this step are processed in the same way.

% ----------------------------------------------------------------------


  For the code $\CB=\Delta^3$, $\CT=\Sigma$, for example, we get the macro-symbols
    \eqt{eq.B3sym}{
      \begin{array}{rcll}
        \Delta' 
          &=& 
            \{ & \o0\o0\o0,\,\o0\o0\o1,\,\o0\o1\o0,\,\o0\o1\o1,\,\o1\o0\o0,\,\o1\o0\o1,\,\o1\o1\o0,\,\o1\o1\o1 \; \}  \\
        \Sigma'  
          &=&
            \{ & \oa,\, \ob,\, \oc \}
      \end{array}
    }
  and the productions
    \eqt{eq.rulesEx}{
      \begin{array}{rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl}
        (\o0\o0\o0) \oR &\to& \oR &
        (\o0\o0\o1) \oR &\to& (\oa)(\oc) \oR &
        (\o0\o1\o0) \oR &\to& (\ob) \oR &
        (\o0\o1\o1) \oR &\to& (\ob)(\ob) \oR &
        (\o1\o0\o0) \oR &\to& (\oc) \oR &
        (\o1\o0\o1) \oR &\to& (\oc) \oR &
        (\o1\o1\o0) \oR &\to& (\oc)(\oc) \oR &
        (\o1\o1\o1) \oR &\to& (\oc)(\oc)(\oc) \oR  &
        ~ &~& ~ 
        \\
        (\o0\o0\o0)(\oa) &\to& (\oa)(\o0\o0\o0) &
        (\o0\o0\o1)(\oa) &\to& (\oa)(\o0\o1\o1) &
        (\o0\o1\o0)(\oa) &\to& (\oa)(\o1\o1\o0) &
        (\o0\o1\o1)(\oa) &\to& (\ob)(\o0\o0\o1) &
        (\o1\o0\o0)(\oa) &\to& (\ob)(\o1\o0\o0) &
        (\o1\o0\o1)(\oa) &\to& (\ob)(\o1\o1\o1) &
        (\o1\o1\o0)(\oa) &\to& (\oc)(\o0\o1\o0) &
        (\o1\o1\o1)(\oa) &\to& (\oc)(\o1\o0\o1) &
        \oL (\oa) &\to& \oL
        \\
        (\o0\o0\o0)(\ob) &\to& (\oa)(\o0\o0\o1) &
        (\o0\o0\o1)(\ob) &\to& (\oa)(\o1\o0\o0) &
        (\o0\o1\o0)(\ob) &\to& (\oa)(\o1\o1\o1) &
        (\o0\o1\o1)(\ob) &\to& (\ob)(\o0\o1\o0) &
        (\o1\o0\o0)(\ob) &\to& (\ob)(\o1\o0\o1) &
        (\o1\o0\o1)(\ob) &\to& (\oc)(\o0\o0\o0) &
        (\o1\o1\o0)(\ob) &\to& (\oc)(\o0\o1\o1) &
        (\o1\o1\o1)(\ob) &\to& (\oc)(\o1\o1\o0) &
        \oL (\ob) &\to& \oL (\o0\o0\o1)
        \\
        (\o0\o0\o0)(\oc) &\to& (\oa)(\o0\o1\o0) &
        (\o0\o0\o1)(\oc) &\to& (\oa)(\o1\o0\o1) &
        (\o0\o1\o0)(\oc) &\to& (\ob)(\o0\o0\o0) &
        (\o0\o1\o1)(\oc) &\to& (\ob)(\o0\o1\o1) &
        (\o1\o0\o0)(\oc) &\to& (\ob)(\o1\o1\o0) &
        (\o1\o0\o1)(\oc) &\to& (\oc)(\o0\o0\o1) &
        (\o1\o1\o0)(\oc) &\to& (\oc)(\o1\o0\o0) &
        (\o1\o1\o1)(\oc) &\to& (\oc)(\o1\o1\o1) &
        \oL (\oc) &\to& \oL (\o0\o1\o0)
      \end{array}
    }
  For clarity, we can replace the bytes $\set{(\o0\o0\o0),\,(\o0\o0\o1),\ldots,(\o1\o1\o1)}$ by their
  decimal values $\set{\o0,\o1,\ldots,\o7}$:
    \eqt{eq.rulesEx8}{
      \begin{array}{rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl}
        \o0\oR &\to& \oR &
        \o1\oR &\to& (\oa\oc)\oR &
        \o2\oR &\to& (\ob)\oR &
        \o3\oR &\to& (\ob\ob)\oR &
        \o4\oR &\to& (\oc)\oR &
        \o5\oR &\to& (\oc)\oR &
        \o6\oR &\to& (\oc\oc)\oR &
        \o7\oR &\to& (\oc\oc\oc)\oR &
        ~ &~& ~ 
        \\
        \o0\oa) &\to& (\oa\o0) &
        \o1\oa) &\to& (\oa\o3) &
        \o2\oa) &\to& (\oa\o6) &
        \o3\oa) &\to& (\ob\o1) &
        \o4\oa) &\to& (\ob\o4) &
        \o5\oa) &\to& (\ob\o7) &
        \o6\oa) &\to& (\oc\o2) &
        \o7\oa) &\to& (\oc\o5) &
        \oL\oa) &\to& (\oL
        \\
        \o0\ob) &\to& (\oa\o1) &
        \o1\ob) &\to& (\oa\o4) &
        \o2\ob) &\to& (\oa\o7) &
        \o3\ob) &\to& (\ob\o2) &
        \o4\ob) &\to& (\ob\o5) &
        \o5\ob) &\to& (\oc\o0) &
        \o6\ob) &\to& (\oc\o3) &
        \o7\ob) &\to& (\oc\o6) &
        \oL\ob) &\to& (\oL  \o1
        \\
        \o0\oc) &\to& (\oa\o2) &
        \o1\oc) &\to& (\oa\o5) &
        \o2\oc) &\to& (\ob\o0) &
        \o3\oc) &\to& (\ob\o3) &
        \o4\oc) &\to& (\ob\o6) &
        \o5\oc) &\to& (\oc\o1) &
        \o6\oc) &\to& (\oc\o4) &
        \o7\oc) &\to& (\oc\o7) &
        \oL\oc) &\to& (\oL  \o2
      \end{array}
    }
  This grammar may skip from a word with value $m$ to a word with value 
  $\phi^r(m)$ for any $r$ between 0 and $k$, depending on which
  substitution $\delta \oR$ is used in each derivation step. Since only one of these
  rules, at most, is applicable, and the last byte is determined by the value of the 
  word, the sequence of values is independent of the choices made.  The 
  Collatz conjecture then becomes: starting with every word, we will 
  eventually reach a word with value 1 or 2. (But actually even in this
  grammar the word with value 2 derives to a word with value 1.)

% ----------------------------------------------------------------------
  
  For the code $\CB=\Delta^3$, for example, we get the macro-symbols
    \eqt{eq.B3sym}{
      \begin{array}{rcll}
        \Delta' 
          &=& 
            \{ & \o0,\, \o1,\, \o0\o0,\, \o0\o1,\, \o1\o0,\, \o1\o1,\, \\
          & &  & \o0\o0\o0,\,\o0\o0\o1,\,\o0\o1\o0,\,\o0\o1\o1,\,\o1\o0\o0,\,\o1\o0\o1,\,\o1\o1\o0,\,\o1\o1\o1 \; \}  \\
        \Sigma'  
          &=&
            \{ & \oa,\, \ob,\, \oc \\
          & &  & \oa\oa,\, \oa\ob,\, \oa\oc,\, \ob\oa,\, \ob\ob,\, \ob\oc,\, \oc\oa,\, \oc\ob,\, \oc\oc,\,  \\
          & &  & \oa\oa\oa,\, \oa\oa\ob,\, \oa\oa\oc,\, \oa\ob\oa,\, \oa\ob\ob,\, \oa\ob\oc,\, \oa\oc\oa,\, \oa\oc\ob,\, \oa\oc\oc,\,  \\
          & &  & \ob\oa\oa,\, \ob\oa\ob,\, \ob\oa\oc,\, \ob\ob\oa,\, \ob\ob\ob,\, \ob\ob\oc,\, \ob\oc\oa,\, \ob\oc\ob,\, \ob\oc\oc,\,  \\
          & &  & \oc\oa\oa,\, \oc\oa\ob,\, \oc\oa\oc,\, \oc\ob\oa,\, \oc\ob\ob,\, \oc\ob\oc,\, \oc\oc\oa,\, \oc\oc\ob,\, \oc\oc\oc \; \}
      \end{array}
    }
  and the productions
    \eqt{eq.rulesEx}{
      \begin{array}{rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl}
        (\o0\o0\o0) \oL &\to& \oL &
        (\o0\o0\o1) \oL &\to& (\oa\oc) \oL &
        (\o0\o1\o0) \oL &\to& (\ob) \oL &
        (\o0\o1\o1) \oL &\to& (\ob\ob) \oL &
        (\o1\o0\o0) \oL &\to& (\oc) \oL &
        (\o1\o0\o1) \oL &\to& (\oc) \oL &
        (\o1\o1\o0) \oL &\to& (\oc\oc) \oL &
        (\o1\o1\o1) \oL &\to& (\oc\oc\oc) \oL  &
        ~ &~& ~ 
        \\
        (\o0\o0\o0)(\oa) &\to& (\oa)(\o0\o0\o0) &
        (\o0\o0\o1)(\oa) &\to& (\oa)(\o0\o1\o1) &
        (\o0\o1\o0)(\oa) &\to& (\oa)(\o1\o1\o0) &
        (\o0\o1\o1)(\oa) &\to& (\ob)(\o0\o0\o1) &
        (\o1\o0\o0)(\oa) &\to& (\ob)(\o1\o0\o0) &
        (\o1\o0\o1)(\oa) &\to& (\ob)(\o1\o1\o1) &
        (\o1\o1\o0)(\oa) &\to& (\oc)(\o0\o1\o0) &
        (\o1\o1\o1)(\oa) &\to& (\oc)(\o1\o0\o1) &
        \oL (\oa) &\to& \oL
        \\
        (\o0\o0\o0)(\ob) &\to& (\oa)(\o0\o0\o1) &
        (\o0\o0\o1)(\ob) &\to& (\oa)(\o1\o0\o0) &
        (\o0\o1\o0)(\ob) &\to& (\oa)(\o1\o1\o1) &
        (\o0\o1\o1)(\ob) &\to& (\ob)(\o0\o1\o0) &
        (\o1\o0\o0)(\ob) &\to& (\ob)(\o1\o0\o1) &
        (\o1\o0\o1)(\ob) &\to& (\oc)(\o0\o0\o0) &
        (\o1\o1\o0)(\ob) &\to& (\oc)(\o0\o1\o1) &
        (\o1\o1\o1)(\ob) &\to& (\oc)(\o1\o1\o0) &
        \oL (\ob) &\to& \oL (\o0\o0\o1)
        \\
        (\o0\o0\o0)(\oc) &\to& (\oa)(\o0\o1\o0) &
        (\o0\o0\o1)(\oc) &\to& (\oa)(\o1\o0\o1) &
        (\o0\o1\o0)(\oc) &\to& (\ob)(\o0\o0\o0) &
        (\o0\o1\o1)(\oc) &\to& (\ob)(\o0\o1\o1) &
        (\o1\o0\o0)(\oc) &\to& (\ob)(\o1\o1\o0) &
        (\o1\o0\o1)(\oc) &\to& (\oc)(\o0\o0\o1) &
        (\o1\o1\o0)(\oc) &\to& (\oc)(\o1\o0\o0) &
        (\o1\o1\o1)(\oc) &\to& (\oc)(\o1\o1\o1) &
        \oL (\oc) &\to& \oL (\o0\o1\o0)
      \end{array}
    }
  For clarity, we can replace the bytes $\set{\o0\o0\o0,\,\o0\o0\o1,\ldots,\o1\o1\o1}$ by their
  decimal values $\set{\o0,\o1,\ldots,\o7}$:
    \eqt{eq.rulesEx8}{
      \begin{array}{rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl|rcl}
        \o0\oR &\to& \oR &
        \o1\oR &\to& (\oa\oc)\oR &
        \o2\oR &\to& (\ob)\oR &
        \o3\oR &\to& (\ob\ob)\oR &
        \o4\oR &\to& (\oc)\oR &
        \o5\oR &\to& (\oc)\oR &
        \o6\oR &\to& (\oc\oc)\oR &
        \o7\oR &\to& (\oc\oc\oc)\oR &
        ~ &~& ~ 
        \\
        \o0\oa) &\to& (\oa\o0) &
        \o1\oa) &\to& (\oa\o3) &
        \o2\oa) &\to& (\oa\o6) &
        \o3\oa) &\to& (\ob\o1) &
        \o4\oa) &\to& (\ob\o4) &
        \o5\oa) &\to& (\ob\o7) &
        \o6\oa) &\to& (\oc\o2) &
        \o7\oa) &\to& (\oc\o5) &
        \oL\oa) &\to& (\oL
        \\
        \o0\ob) &\to& (\oa\o1) &
        \o1\ob) &\to& (\oa\o4) &
        \o2\ob) &\to& (\oa\o7) &
        \o3\ob) &\to& (\ob\o2) &
        \o4\ob) &\to& (\ob\o5) &
        \o5\ob) &\to& (\oc\o0) &
        \o6\ob) &\to& (\oc\o3) &
        \o7\ob) &\to& (\oc\o6) &
        \oL\ob) &\to& (\oL  \o1
        \\
        \o0\oc) &\to& (\oa\o2) &
        \o1\oc) &\to& (\oa\o5) &
        \o2\oc) &\to& (\ob\o0) &
        \o3\oc) &\to& (\ob\o3) &
        \o4\oc) &\to& (\ob\o6) &
        \o5\oc) &\to& (\oc\o1) &
        \o6\oc) &\to& (\oc\o4) &
        \o7\oc) &\to& (\oc\o7) &
        \oL\oc) &\to& (\oL  \o2
      \end{array}
    }
  We can further optimize this grammar by condensing the trit strings 
  in the right-hand side of the first row as single trytes and closing the 
  table as explained above. Then we can use these rules in parallel fashion
  too.
  
