Slides/Slides2.thy
changeset 285 447b433b67fa
parent 280 19a4ac992823
--- a/Slides/Slides2.thy	Tue Sep 03 15:02:52 2013 +0100
+++ b/Slides/Slides2.thy	Sat Nov 23 13:23:53 2013 +0000
@@ -49,20 +49,20 @@
   Oc ("1") and
   Bk ("0") and
   exponent ("_\<^bsup>_\<^esup>" [107] 109) and
-  inv_begin0 ("I\<^isub>0") and
-  inv_begin1 ("I\<^isub>1") and
-  inv_begin2 ("I\<^isub>2") and
-  inv_begin3 ("I\<^isub>3") and
-  inv_begin4 ("I\<^isub>4") and 
+  inv_begin0 ("I\<^sub>0") and
+  inv_begin1 ("I\<^sub>1") and
+  inv_begin2 ("I\<^sub>2") and
+  inv_begin3 ("I\<^sub>3") and
+  inv_begin4 ("I\<^sub>4") and 
   inv_begin ("I\<^bsub>cbegin\<^esub>") and
-  inv_loop1 ("J\<^isub>1") and
-  inv_loop0 ("J\<^isub>0") and
-  inv_end1 ("K\<^isub>1") and
-  inv_end0 ("K\<^isub>0") and
-  recf.id ("Id\<^raw:\makebox[0mm]{\,\,\,\,>\<^isup>_\<^raw:}>\<^isub>_") and
-  Pr ("Pr\<^isup>_") and
-  Cn ("Cn\<^isup>_") and
-  Mn ("Mn\<^isup>_") and
+  inv_loop1 ("J\<^sub>1") and
+  inv_loop0 ("J\<^sub>0") and
+  inv_end1 ("K\<^sub>1") and
+  inv_end0 ("K\<^sub>0") and
+  recf.id ("Id\<^raw:\makebox[0mm]{\,\,\,\,>\<^sup>_\<^raw:}>\<^sub>_") and
+  Pr ("Pr\<^sup>_") and
+  Cn ("Cn\<^sup>_") and
+  Mn ("Mn\<^sup>_") and
   tcopy ("copy") and 
   tcontra ("contra") and
   tape_of ("\<langle>_\<rangle>") and 
@@ -563,10 +563,10 @@
 
 (*<*)
 lemmas HR1 = 
-  Hoare_plus_halt[where ?S.0="R\<iota>" and ?A="p\<^isub>1" and B="p\<^isub>2"]
+  Hoare_plus_halt[where ?S.0="R\<iota>" and ?A="p\<^sub>1" and B="p\<^sub>2"]
 
 lemmas HR2 =
-  Hoare_plus_unhalt[where ?A="p\<^isub>1" and B="p\<^isub>2"]
+  Hoare_plus_unhalt[where ?A="p\<^sub>1" and B="p\<^sub>2"]
 (*>*)
 
 text_raw {*
@@ -615,18 +615,18 @@
   \begin{center}\small
   \begin{tabular}{@ {}l@ {}}
   \begin{tabular}[t]{@ {\hspace{-5mm}}l@ {}}
-  @{term "P\<^isub>1 \<equiv> \<lambda>tp. tp = ([]::cell list, <code_tcontra>)"}\\
-  @{term "P\<^isub>2 \<equiv> \<lambda>tp. tp = ([Bk], <(code_tcontra, code_tcontra)>)"}\\
-  @{term "P\<^isub>3 \<equiv> \<lambda>tp. \<exists>k. tp = (Bk \<up> k, <0::nat>)"}
+  @{term "P\<^sub>1 \<equiv> \<lambda>tp. tp = ([]::cell list, <code_tcontra>)"}\\
+  @{term "P\<^sub>2 \<equiv> \<lambda>tp. tp = ([Bk], <(code_tcontra, code_tcontra)>)"}\\
+  @{term "P\<^sub>3 \<equiv> \<lambda>tp. \<exists>k. tp = (Bk \<up> k, <0::nat>)"}
   \end{tabular}\bigskip\bigskip
   \\
   \begin{tabular}[b]{@ {\hspace{20mm}}l@ {}}
   $\inferrule*{
-    \inferrule*{@{term "{P\<^isub>1} tcopy {P\<^isub>2}"} \\ @{term "{P\<^isub>2} H {P\<^isub>3}"}}
-    {@{term "{P\<^isub>1} (tcopy |+| H) {P\<^isub>3}"}}
-    \\ @{term "{P\<^isub>3} dither \<up>"}
+    \inferrule*{@{term "{P\<^sub>1} tcopy {P\<^sub>2}"} \\ @{term "{P\<^sub>2} H {P\<^sub>3}"}}
+    {@{term "{P\<^sub>1} (tcopy |+| H) {P\<^sub>3}"}}
+    \\ @{term "{P\<^sub>3} dither \<up>"}
    }
-   {@{term "{P\<^isub>1} tcontra \<up>"}}
+   {@{term "{P\<^sub>1} tcontra \<up>"}}
   $
   \end{tabular}
   \end{tabular}
@@ -640,18 +640,18 @@
   \begin{center}\small
   \begin{tabular}{@ {}l@ {}}
   \begin{tabular}[t]{@ {\hspace{-1mm}}l@ {}}
-  @{term "Q\<^isub>1 \<equiv> \<lambda>tp. tp = ([]::cell list, <code_tcontra>)"}\\
-  @{term "Q\<^isub>2 \<equiv> \<lambda>tp. tp = ([Bk], <(code_tcontra, code_tcontra)>)"}\\
-  @{term "Q\<^isub>3 \<equiv> \<lambda>tp. \<exists>k. tp = (Bk \<up> k, <1::nat>)"}
+  @{term "Q\<^sub>1 \<equiv> \<lambda>tp. tp = ([]::cell list, <code_tcontra>)"}\\
+  @{term "Q\<^sub>2 \<equiv> \<lambda>tp. tp = ([Bk], <(code_tcontra, code_tcontra)>)"}\\
+  @{term "Q\<^sub>3 \<equiv> \<lambda>tp. \<exists>k. tp = (Bk \<up> k, <1::nat>)"}
   \end{tabular}\bigskip\bigskip
   \\
   \begin{tabular}[b]{@ {\hspace{20mm}}l@ {}}
   $\inferrule*{
-    \inferrule*{@{term "{Q\<^isub>1} tcopy {Q\<^isub>2}"} \\ @{term "{Q\<^isub>2} H {Q\<^isub>3}"}}
-    {@{term "{Q\<^isub>1} (tcopy |+| H) {Q\<^isub>3}"}}
-    \\ @{term "{Q\<^isub>3} dither {Q\<^isub>3}"}
+    \inferrule*{@{term "{Q\<^sub>1} tcopy {Q\<^sub>2}"} \\ @{term "{Q\<^sub>2} H {Q\<^sub>3}"}}
+    {@{term "{Q\<^sub>1} (tcopy |+| H) {Q\<^sub>3}"}}
+    \\ @{term "{Q\<^sub>3} dither {Q\<^sub>3}"}
    }
-   {@{term "{Q\<^isub>1} tcontra {Q\<^isub>3}"}}
+   {@{term "{Q\<^sub>1} tcontra {Q\<^sub>3}"}}
   $
   \end{tabular}
   \end{tabular}
@@ -818,8 +818,8 @@
 
   \small
   \begin{tabular}{l}
-  @{text "if_zero e \<equiv> \<Lambda> exit. Inst (W\<^isub>0, e), (W\<^isub>1, exit); Label exit"}\\
-  \hspace{5mm}@{text "jmp e \<equiv> Inst (W\<^isub>0, e), (W\<^isub>1, e)"}
+  @{text "if_zero e \<equiv> \<Lambda> exit. Inst (W\<^sub>0, e), (W\<^sub>1, exit); Label exit"}\\
+  \hspace{5mm}@{text "jmp e \<equiv> Inst (W\<^sub>0, e), (W\<^sub>1, e)"}
   \end{tabular}
 
   \end{frame}}
@@ -913,7 +913,7 @@
   \item we introduced some tactics for handling sequential programs\bigskip
 
   \begin{center}
-  @{text "\<lbrace>p\<rbrace> i:[c\<^isub>1 ; ... ; c\<^isub>n]:j \<lbrace>q\<rbrace>"}
+  @{text "\<lbrace>p\<rbrace> i:[c\<^sub>1 ; ... ; c\<^sub>n]:j \<lbrace>q\<rbrace>"}
   \end{center}\bigskip\bigskip
 
   \item for loops we often only have to do inductions on the length