--- a/Paper.thy Sat Jan 12 01:33:20 2013 +0000
+++ b/Paper.thy Sat Jan 12 02:14:29 2013 +0000
@@ -73,7 +73,7 @@
lemma change_termi_state_def2:
"change_termi_state p ==
- (map (\<lambda> (a, s). (a, if s = 0 then Suc ((length s) div 2)) else s) t)"
+ (map (\<lambda> (a, s). (a, if s = 0 then ((length p) div 2) + 1 else s)) p)"
apply(rule eq_reflection)
apply(auto simp add: change_termi_state.simps)
done
@@ -93,8 +93,10 @@
abc_lm_v ("lookup") and
abc_lm_s ("set") and
haltP ("stdhalt") and
+ tshift ("shift") and
change_termi_state ("adjust") and
tape_of_nat_list ("\<ulcorner>_\<urcorner>") and
+ t_add ("_ \<oplus> _") and
DUMMY ("\<^raw:\mbox{$\_$}>")
declare [[show_question_marks = false]]
@@ -531,18 +533,29 @@
clustered on the output tape).
Before we can prove the undecidability of the halting problem for Turing machines,
- we have to define how to compose Turing machines. Given our setup, this is relatively
- straightforward, if slightly fiddly.
+ we have to define how to compose two Turing machines. Given our setup, this is
+ relatively straightforward, if slightly fiddly. We have the following two
+ auxiliary functions:
\begin{center}
- @{thm tshift_def2}
+ \begin{tabular}{@ {}l@ {\hspace{1mm}}c@ {\hspace{1mm}}l@ {}}
+ @{thm (lhs) tshift_def2} @{text "\<equiv>"}\\
+ \hspace{4mm}@{thm (rhs) tshift_def2}\\
+ @{thm (lhs) change_termi_state_def2} @{text "\<equiv>"}\\
+ \hspace{4mm}@{text "map (\<lambda> (a, s)."}\\
+ \hspace{14mm}@{text "(a, if s = 0 then length p div 2 + 1 else s)) p"}\\
+ \end{tabular}
\end{center}
- (* HERE *)
+ \noindent
+ With this we can define the \emph{sequential composition} of two
+ Turing machines @{text "M\<^isub>1"} and @{text "M\<^isub>2"}
- shift and change of a p
+ \begin{center}
+ @{thm t_add.simps[where ?t1.0="M\<^isub>1" and ?t2.0="M\<^isub>2", THEN eq_reflection]}
+ \end{center}
- composition of two ps
+
assertion holds for all tapes
Binary file paper.pdf has changed