Section fixM.
Variable M : SBTM.
Definition M' : SBTM.
exists (1 + num_states M).
intros [q o].
dependent elimination q.
- destruct (trans M (Fin.F1, o)) as [[[q' w] m] | ].
dependent elimination q'.
+ exact (Some (Fin.F1, w, m)).
+ exact (Some (Fin.FS (Fin.FS t), w, m)).
+ exact (Some (Fin.FS Fin.F1, None, Nmove)).
- dependent elimination t.
+ exact None.
+ destruct (trans M (Fin.FS t, o)) as [[[q' w] m] | ].
dependent elimination q'.
* exact (Some (Fin.F1, w, m)).
* exact (Some (Fin.FS (Fin.FS t0), w, m)).
* exact (Some (Fin.FS Fin.F1, None, Nmove)).
Defined.

Lemma spec1 c : trans M' (Fin.FS Fin.F1, c) = None.