polished
authorChristian Urban <urbanc@in.tum.de>
Wed, 28 Jan 2009 06:29:16 +0000
changeset 86 fdb9ea86c2a3
parent 85 b02904872d6b
child 87 90189a97b3f8
polished
CookBook/FirstSteps.thy
CookBook/Parsing.thy
cookbook.pdf
--- a/CookBook/FirstSteps.thy	Tue Jan 27 21:22:27 2009 +0000
+++ b/CookBook/FirstSteps.thy	Wed Jan 28 06:29:16 2009 +0000
@@ -381,6 +381,8 @@
   number representing their sum.
   \end{exercise}
 
+
+  (FIXME: operation from page 19 of the implementation manual)
 *}
 
 section {* Type-Checking *}
@@ -429,6 +431,8 @@
   result that type-checks.
   \end{exercise}
 
+  (FIXME: @{text "ctyp_of"})
+
 *}
 
 section {* Theorems *}
@@ -503,6 +507,8 @@
 text {*
 
 @{ML_response [display] "Sign.base_name \"List.list.Nil\"" "\"Nil\""}
+
+  authentic syntax
   
 *}
 
@@ -531,7 +537,7 @@
 
 text {*
   @{ML K} ``wraps'' a function around the argument @{text "x"}. However, this 
-  function ignores its argument. So @{ML K} defines a constant function 
+  function ignores its argument. As a result @{ML K} defines a constant function 
   returning @{text x}.
 
   The next combinator is reverse application, @{ML "|>"}, defined as 
@@ -585,7 +591,7 @@
   (FIXME: give a real world example involving theories)
 
   Similarly, the combinator @{ML "#>"} is the reverse function 
-  composition. It can be used to define functions as follows
+  composition. It can be used to define the following function
 *}
 
 ML{*val inc_by_six = 
@@ -660,11 +666,11 @@
         |-> (fn x => fn y => x + y)*}
 
 text {*
-  Recall that @{ML "|>"} is the reverse function applications. The related 
-  reverse function composition is @{ML "#>"}. In fact all combinators @{ML "|->"},
+  Recall that @{ML "|>"} is the reverse function applications. Recall also that the related 
+  reverse function composition is @{ML "#>"}. In fact all the combinators @{ML "|->"},
   @{ML "|>>"} and @{ML "||>"} described above have related combinators for function
-  composition, namely @{ML "#->"}, @{ML "#>>"} and @{ML "##>"}. Using @{ML "|->"}, 
-  the function @{text double} can also be written as
+  composition, namely @{ML "#->"}, @{ML "#>>"} and @{ML "##>"}. Using @{ML "#->"}, 
+  for example, the function @{text double} can also be written as
 *}
 
 ML{*val double =
--- a/CookBook/Parsing.thy	Tue Jan 27 21:22:27 2009 +0000
+++ b/CookBook/Parsing.thy	Wed Jan 28 06:29:16 2009 +0000
@@ -584,7 +584,7 @@
 
   The option @{text "-k foobar"} indicates which postfix the name of the keyword file 
   will be assigned. In the case above the file will be named @{text
-  "isar-keywords-foobar.el"}. As can be seen, this command requires log files to be
+  "isar-keywords-foobar.el"}. This command requires log files to be
   present (in order to extract the keywords from them). To generate these log
   files, we first package the code above into a separate theory file named
   @{text "Command.thy"}, say---see Figure~\ref{fig:commandtheory} for the
@@ -683,9 +683,9 @@
    $ISABELLE_LOGS/{Pure.gz,HOL.gz,Pure-ProofGeneral.gz,HOL-FoobarCommand.gz}"}
 
   The result is the file @{text "isar-keywords-foobar.el"}. It should contain
-  the string @{text "foobar"} twice (to see whether things went wrong, check
+  the string @{text "foobar"} twice.\footnote{To see whether things are fine, check
   that @{text "grep foobar"} on this file returns something
-  non-empty).  This keyword file needs to
+  non-empty.}  This keyword file needs to
   be copied into the directory @{text "~/.isabelle/etc"}. To make Isabelle
   aware of this keyword file, we have to start Isabelle with the option @{text
   "-k foobar"}, i.e.
@@ -740,7 +740,7 @@
   \isacommand{definition} and \isacommand{declare}.  In other cases,
   commands are expected to parse some arguments, for example a proposition,
   and then ``open up'' a proof in order to prove the proposition (for example
-  \isacommand{lemma}) or prove some other properties (for example in
+  \isacommand{lemma}) or prove some other properties (for example
   \isacommand{function}). To achieve this kind of behaviour, we have to use the kind
   indicator @{ML thy_goal in OuterKeyword}.
 
@@ -767,7 +767,7 @@
 end *}
 
 text {*
-  The function @{text set_up_thm} takes a string (the proposition to be
+  The function @{text set_up_thm} in Lines 2 to 7 takes a string (the proposition to be
   proved) and a context.  The context is necessary in order to be able to use
   @{ML Syntax.read_prop}, which converts a string into a proper proposition.
   In Line 6 the function @{ML Proof.theorem_i} starts the proof for the
@@ -794,6 +794,8 @@
   \isacommand{done}
   \end{isabelle}
 
+  Similarly for the other function composition combinators.
+
   
   (FIXME What does @{text "Toplevel.theory"} @{text "Toplevel.print"}?)
 
Binary file cookbook.pdf has changed