]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/lib/turing/mono.ma
sem_exec_move completed
[helm.git] / matita / matita / lib / turing / mono.ma
index 39ecff800e79b11143e0db2d901a8112beaf4d65..1508c6c9eaf8a28580463d023c6155c53ab84e37 100644 (file)
@@ -109,6 +109,10 @@ definition tape_move ≝ λsig.λt: tape sig.λm:move.
     | N ⇒ t
     ].
 
+definition tape_move_mono ≝ 
+  λsig,t,mv.
+  tape_move sig (tape_write sig t (\fst mv)) (\snd mv).
+
 record config (sig,states:FinSet): Type[0] ≝ 
 { cstate : states;
   ctape: tape sig
@@ -130,6 +134,16 @@ definition step ≝ λsig.λM:TM sig.λc:config sig (states sig M).
   let 〈news,a,mv〉 ≝ trans sig M 〈cstate ?? c,current_char〉 in
   mk_config ?? news (tape_move sig (tape_write ? (ctape ?? c) a) mv).
 
+(*
+lemma step_eq : ∀sig,M,c. 
+  let current_char ≝ current ? (ctape ?? c) in
+  let 〈news,a,mv〉 ≝ trans sig M 〈cstate ?? c,current_char〉 in
+  step sig M c = 
+    mk_config ?? news (tape_move sig (tape_write ? (ctape ?? c) a) mv).
+#sig #M #c  
+ whd in match (tape_move_mono sig ??);
+*)
+  
 (******************************** loop ****************************************)
 let rec loop (A:Type[0]) n (f:A→A) p a on n ≝
   match n with