1.1. Tapes, alphabets
---------------------
Master Tape corresponds to the tape of ordinary deterministic Turing Machine.
Head of Synchro Tape is synchronized with head of Master Tape.
Backup Tape is used to back Master Tape data up.
Backup Synchro Tape is used to back Synchro Tape data up.
User Tape is used to perform pure/ideal computation (without faults and failures).

Master Tape, Backup Tape, User Tape are using the same (user-defined) alphabet.
Synchro Tape, Backup Synchro Tape are using the same special (embedded, user-independent) alphabet.

1.2. Controlling components, states and rules
---------------------------------------------
1.2.1. States
^^^^^^^^^^^^^
Program contains :
- user-defined states (initial, internal and halting states),
- user-required check-point states (indirectly defined by user),
- embedded (user-independent) shutting down state.
Note 1. Some of user-defined rules an user may mark as check-points.
Check-point states are derived from these rules.
Note 2. Shutting down state differs from user-defined halting state.

1.2.2. Rules
^^^^^^^^^^^^
There are three sets of rules :
a) Daemon's set of non-deterministic rules.
The set includes only daemon states.
b) Common set of deterministic rules
The set includes states of all controlling components (program, daemon, apparatus, user).
In fact, this common set consists of two subsets :
- program rules including
* user-defined rules,
* user-required check-point rules;
- outside rules including
* deterministic daemon rules,
* apparatus rules,
* user rules.
c) Daemon-defined set of rules (fault rules).

1.2.3. Transitions
^^^^^^^^^^^^^^^^^^
Each transition step consists of two half-steps (tacts) :
a) First tact. Daemon performs transition according to non-deterministic rule
from passive state to {passive, active, aggressive }
b) Second tact. One of three kinds of transitions is performed :
- normal transition, if daemon is in passive state,
- fault transition, if daemon is in active state,
- failure transition, if daemon is in aggressive state.
Note. On second tact daemon always goes into passive state.

1.2.4. Faults and failures
^^^^^^^^^^^^^^^^^^^^^^^^^^
The difference between fault and failure is as follows.
- Fault transition :
* apparatus stay in normal state.
* illegal (daemon-defined) program rule is applied,
and the program continues computation.
- Failure transition :
* apparatus go into in emergency state.
* the program is unable to continue computation.

1.3.1. Program phase
^^^^^^^^^^^^^^^^^^^^
Program phase includes 7 stages.

1.3.1.1 Stage#1. Computation proper
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If current program state is halting program state then go to Stage#7.
If current program state is check-point program state then go to Stage#2.
Otherwise :
- Computation on Master Tape is performed according to the set of program rules;
- Head of Synchro Tape is synchronized with head of Master Tape.

1.3.1.2 Stage#2. Computation check
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) Rewind Master Tape and User Tape to the left side.
2) Compare data on Master Tape and User Tape.
If the data are identical
* then go to Stage#3
* else go to Stage#5.

1.3.1.4 Stage#4. Check of back up
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) Rewind Master Tape and Backup Tape to the left side.
2) Compare data on Master Tape and Backup Tape.
If the data are not identical
* then go to Stage#3
3) Rewind Master Tape, Synchro Tape and Backup Synchro Tape to the left side.
4) Compare data on Synchro Tape and Backup Synchro Tape;
set up the head of Master Tape to continue computation.
If the data are identical
* then go to Stage#1
* else go to Stage#3.

1.3.1.6 Stage#6. Recovery check
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) Rewind Master Tape and Backup Tape to the left side.
2) Compare data on Master Tape and Backup Tape.
If the data are not identical
* then go to Stage#3
3) Rewind Master Tape, Synchro Tape and Backup Synchro Tape to the left side.
4) Compare data on Synchro Tape and Backup Synchro Tape;
set up the head of Master Tape to continue computation.
If the data are identical
* then go to Stage#1
* else go to Stage#5.

1.3.1.7 Stage#7. Summary check
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) Rewind Master Tape and User Tape to the left side.
2) Compare data on Master Tape and User Tape.
If the data are identical
* then go to shutting down state
* else go to Stage#5.

Elements of the 8-tuple mean as following :
* Q is the set of the states;
* T is the symbol alphabet;
* I is the alphabet of input symbols; I is a part of T;
* sigma : Q x T ---> Q x T x {L, R, N} is the transition function (rules).
* ! is the left-side-marker symbol; ! belongs to T, but doesn't belong to I;
* b is the empty symbol; b belongs to T, but doesn't belong to I;
* q0 is the initial state; q0 belongs to Q;
* qfin is the halting state; qfin belongs to Q;

Elements of the 17-tuple mean as following :
* D = {passive, active, aggressive} is the set of the (embedded) states of the daemon;
* U = {tracking, stabilizing} is the set of the (embedded) states of the user;
* A = {normal, emergency} is the set of the (embedded) states of the apparatus;
* P is the set of the all program states (see below, the next paragraph)
* T is from TM and used as the symbol alphabets for Master Tape, Backup Tape and User Tape;
* I is from TM;
* S = {!, b, +} is the symbol alphabet for Synchro Tape and Backup Synchro Tape;
* sigma is from TM;
* delta : Q x T ---> Q x T x {L, R, N} is the set of the program rules marked (by user) as check-point rules;
delta is a part of sigma;
* gamma : Q x T ---> Q x T x {L, R, N} is the set of the the function of illegal (fault) program rules;
gamma is not a part of sigma;
* mu : D ---> <set of subsets of D> is the daemon transition function (rules).
* pi : D x U x A x P x T x S x T x S x T
--->
D x U x A x P x T x {L, R, N} x S x {L, R, N} x T x {L, R, N} x S x {L, R, N} x T x {L, R, N}
is the transition function (rules).
Note. The pi transition function depends on the sigma transition function.

* ! is from TM;
* b is from TM;
* q0 is from TM;
* qfin is from TM;
* qstop is the shutting down state; qstop belongs to P (qstop != qfin).

Note. Obviously, ETM with one Master Tape
can be generalized to ETM with several Master Tapes.

2.2.1. Program states
^^^^^^^^^^^^^^^^^^^^^

The set of the all program states (P) consists of the following subsets and states :
* Q (from TM),
* P1 - the set of the check-points states defined on the basis of information
contained in the delta transition function.
* P2 - the set of the computation check states;
* P3 - the set of the backup states;
* P4 - the set of the backup check states;
* P5 - the set of the recovery states;
* P6 - the set of the recovery check states;
* P7 - the set of the summary check states;
* qstop - the shutting down state.

The states contained in the sets P2-P7 are embedded states,
They don't depend on specific basic Turing Machine TM.