CookBook/Intro.thy
changeset 89 fee4942c4770
parent 85 b02904872d6b
child 101 123401a5c8e9
--- a/CookBook/Intro.thy	Thu Jan 29 09:46:17 2009 +0000
+++ b/CookBook/Intro.thy	Thu Jan 29 09:46:36 2009 +0000
@@ -7,12 +7,14 @@
 chapter {* Introduction *}
 
 text {*
-  The purpose of this Cookbook is to guide the reader through the first steps
-  of Isabelle programming, and to explain tricks of the trade. The code
-  provided in the Cookbook is as far as possible checked against recent
-  versions of Isabelle.  If something does not work, then please let us
-  know. If you have comments, criticism or like to add to the Cookbook, 
-  feel free---you are most welcome!  
+  If your next project requires you to program on the ML-level of Isabelle,
+  then this Cookbook is for you. It will guide you through the first steps of
+  Isabelle programming, and also explain tricks of the trade. The best way to
+  get to know the ML-level of Isabelle is by experimenting with the many code
+  examples included in the Cookbook. The code is as far as possible checked
+  against recent versions of Isabelle.  If something does not work, then
+  please let us know. If you have comments, criticism or like to add to the
+  Cookbook, feel free---you are most welcome!
 *}
 
 section {* Intended Audience and Prior Knowledge *}
@@ -41,7 +43,7 @@
 
   \item[The Isabelle Reference Manual] is an older document that used
   to be the main reference of Isabelle at a time when all proof scripts 
-  were written on the ML level. Many parts of this manual are outdated 
+  were written on the ML-level. Many parts of this manual are outdated 
   now, but some  parts, particularly the chapters on tactics, are still 
   useful.
 
@@ -56,8 +58,8 @@
   \item[The code] is of course the ultimate reference for how
   things really work. Therefore you should not hesitate to look at the
   way things are actually implemented. More importantly, it is often
-  good to look at code that does similar things as you want to do, to
-  learn from other people's code.
+  good to look at code that does similar things as you want to do and
+  to learn from other people's code.
   \end{description}
 
 *}
@@ -66,8 +68,8 @@
 
 text {*
 
-  All ML-code in this Cookbook is typeset in highlighed boxes, like the following 
-  ML-expression.
+  All ML-code in this Cookbook is typeset in highlighted boxes, like the following 
+  ML-expression:
 
   \begin{isabelle}
   \begin{graybox}
@@ -77,28 +79,28 @@
   \end{graybox}
   \end{isabelle}
   
-  This corresponds to how code can be processed inside the interactive
-  environment of Isabelle. It is therefore easy to experiment with the code
-  (which by the way is highly recommended). However, for better readability we
-  will drop the enclosing \isacommand{ML}~@{text "\<verbopen> \<dots> \<verbclose>"} and just write
+  These boxes corresponds to how code can be processed inside the interactive
+  environment of Isabelle. It is therefore easy to experiment with what is 
+  displayed. However, for better readability we will drop the enclosing 
+  \isacommand{ML}~@{text "\<verbopen> \<dots> \<verbclose>"} and just write:
 
 
   @{ML [display,gray] "3 + 4"}
   
-  for the code above. Whenever appropriate we also show the response the code 
+  Whenever appropriate we also show the response the code 
   generates when evaluated. This response is prefixed with a 
-  @{text [quotes] ">"} like
+  @{text [quotes] ">"} like:
 
   @{ML_response [display,gray] "3 + 4" "7"}
 
   The usual Isabelle commands are written in bold, for example \isacommand{lemma}, 
   \isacommand{foobar} and so on.  We use @{text "$"} to indicate that 
-  a command  needs to be run on the Unix-command line, for example
+  a command  needs to be run in the Unix-shell, for example
 
   @{text [display] "$ ls -la"}
 
-  Pointers to further information and Isabelle files are given 
-  as follows:
+  Pointers to further information and Isabelle files are typeset in 
+  italic and highlighted as follows:
 
   \begin{readmore}
   Further information or pointer to file.