
diff -r b1a458a03a8e -r 74ba778b09c9 ProgTutorial/FirstSteps.thy
--- a/ProgTutorial/FirstSteps.thy	Sat Oct 31 11:37:41 2009 +0100
+++ b/ProgTutorial/FirstSteps.thy	Sun Nov 01 10:49:25 2009 +0100
@@ -132,7 +132,7 @@
 text {*
   During development you might find it necessary to inspect some data in your
   code. This can be done in a ``quick-and-dirty'' fashion using the function
-  @{ML_ind  "writeln"}. For example
+  @{ML_ind writeln in Output}. For example
 
   @{ML_response_eq [display,gray] "writeln \"any string\"" "\"any string\"" with "(op =)"}
 
@@ -140,7 +140,7 @@
   Isabelle.  This function expects a string as argument. If you develop under
   PolyML, then there is a convenient, though again ``quick-and-dirty'', method
   for converting values into strings, namely the function 
-  @{ML_ind  makestring in PolyML}:
+  @{ML_ind makestring in PolyML}:
 
   @{ML_response_eq [display,gray] "writeln (PolyML.makestring 1)" "\"1\"" with "(op =)"} 
 
@@ -150,7 +150,7 @@
   The function @{ML "writeln"} should only be used for testing purposes,
   because any output this function generates will be overwritten as soon as an
   error is raised. For printing anything more serious and elaborate, the
-  function @{ML_ind  tracing} is more appropriate. This function writes all
+  function @{ML_ind tracing in Output} is more appropriate. This function writes all
   output into a separate tracing buffer. For example:
 
   @{ML_response_eq [display,gray] "tracing \"foo\"" "\"foo\"" with "(op =)"}
@@ -183,7 +183,7 @@
 
   will cause that all tracing information is printed into the file @{text "foo.bar"}.
 
-  You can print out error messages with the function @{ML_ind  error}; for 
+  You can print out error messages with the function @{ML_ind error in Library}; for 
   example:
 
   @{ML_response_fake [display,gray] 
@@ -195,8 +195,8 @@
   be displayed by the infrastructure.
 
 
-  \footnote{\bf FIXME Mention how to work with @{ML_ind  debug in Toplevel} and 
-  @{ML_ind  profiling in Toplevel}.}
+  \footnote{\bf FIXME Mention how to work with @{ML_ind debug in Toplevel} and 
+  @{ML_ind profiling in Toplevel}.}
 *}
 
 (* FIXME
@@ -234,7 +234,7 @@
 
   We obtain a string corrsponding to the term @{term [show_types] "1::nat"} with some
   additional information encoded in it. The string can be properly printed by
-  using either the function @{ML_ind  writeln} or @{ML_ind  tracing}:
+  using either the function @{ML  writeln} or @{ML  tracing}:
 
   @{ML_response_fake [display,gray]
   "writeln (string_of_term @{context} @{term \"1::nat\"})"
@@ -247,7 +247,7 @@
   "\"1\""}
 
   If there are more than one term to be printed, you can use the 
-  function @{ML_ind  commas} to separate them.
+  function @{ML_ind commas in Library} to separate them.
 *} 
 
 ML{*fun string_of_terms ctxt ts =  
@@ -261,9 +261,9 @@
   string_of_term ctxt (term_of ct)*}
 
 text {*
-  In this example the function @{ML_ind term_of} extracts the @{ML_type
+  In this example the function @{ML_ind term_of in Thm} extracts the @{ML_type
   term} from a @{ML_type cterm}.  More than one @{ML_type cterm}s can again be
-  printed with @{ML_ind commas}.
+  printed with @{ML commas}.
 *} 
 
 ML{*fun string_of_cterms ctxt cts =  
@@ -271,7 +271,7 @@
 
 text {*
   The easiest way to get the string of a theorem is to transform it
-  into a @{ML_type term} using the function @{ML_ind prop_of}. 
+  into a @{ML_type term} using the function @{ML_ind prop_of in Thm}. 
 *}
 
 ML{*fun string_of_thm ctxt thm =
@@ -340,7 +340,7 @@
 and second half."}
   
   To ease this kind of string manipulations, there are a number
-  of library functions. For example,  the function @{ML_ind  cat_lines}
+  of library functions. For example,  the function @{ML_ind cat_lines in Library}
   concatenates a list of strings and inserts newlines. 
 
   @{ML_response [display, gray]
@@ -715,9 +715,9 @@
   with ML-antiquotations, often just called antiquotations.\footnote{There are
   two kinds of antiquotations in Isabelle, which have very different purposes
   and infrastructures. The first kind, described in this section, are
-  \emph{\index*{ML-antiquotations}}. They are used to refer to entities (like terms,
+  \emph{\index*{ML-antiquotation}}. They are used to refer to entities (like terms,
   types etc) from Isabelle's logic layer inside ML-code. The other kind of
-  antiquotations are \emph{document}\index{document antiquotationa} antiquotations. 
+  antiquotations are \emph{document}\index{document antiquotation} antiquotations. 
   They are used only in the
   text parts of Isabelle and their purpose is to print logical entities inside
   \LaTeX-documents. Document antiquotations are part of the user level and




