| rightof _ _ ⇒ []
| midtape _ _ r ⇒ r ].
-
definition current ≝
λsig.λt:tape sig.match t with
[ midtape _ c _ ⇒ Some ? c
(cstate ?? outc = acc → Rtrue t (ctape ?? outc)) ∧
(cstate ?? outc ≠ acc → Rfalse t (ctape ?? outc)).
+(* NO OPERATION
+
+ t1 = t2
+ *)
+
+definition nop_states ≝ initN 1.
+definition start_nop : initN 1 ≝ mk_Sig ?? 0 (le_n … (S 0)).
+
+definition nop ≝
+ λalpha:FinSet.mk_TM alpha nop_states
+ (λp.let 〈q,a〉 ≝ p in 〈q,None ?〉)
+ start_nop (λ_.true).
+
+definition R_nop ≝ λalpha.λt1,t2:tape alpha.t2 = t1.
+
+lemma sem_nop :
+ ∀alpha.Realize alpha (nop alpha) (R_nop alpha).
+#alpha #intape @(ex_intro ?? 1)
+@(ex_intro … (mk_config ?? start_nop intape)) % %
+qed.
+
(* Compositions *)
definition seq_trans ≝ λsig. λM1,M2 : TM sig.