len: length ? vec = n
}.
+lemma Vector_of_list ≝ λA,l.
+ mk_Vector A (|l|) l (refl ??).
+
lemma Vector_eq : ∀A,n,v1,v2.
vec A n v1 = vec A n v2 → v1 = v2.
#A #n * #l1 #H1 * #l2 #H2 #eql1l2 generalize in match H1;
change_vec ??
(change_vec ?? t1 (midtape ? [ ] bar (nstate@[nchar])) cfg)
(tape_move_mono ? (nth obj ? t1 (niltape ?)) 〈Some ? nchar,char_to_move m〉) obj.
-
-
+
+definition tape_map ≝ λA,B:FinSet.λf:A→B.λt.
+ mk_tape B (map ?? f (left ? t))
+ (option_map ?? f (current ? t))
+ (map ?? f (right ? t)).
+
+definition low ≝ λM:normalTM.λc:nconfig (no_states M).Vector_of_list ?
+ [tape_map ?? bit (ctape ?? c);
+ midtape ? [ ] bar (bits_of_state ? (nhalt M) (cstate ?? c));
+ ?].
+
-
\ No newline at end of file
+ .
\ No newline at end of file