# HG changeset patch # User griff # Date 1248245664 -7200 # Node ID a63ca3a9b44ad36d3b8048424831c4fe6850a738 # Parent 2927f205abba454b4165ce8c4b445f8fc9215d90 spell checked diff -r 2927f205abba -r a63ca3a9b44a ProgTutorial/FirstSteps.thy --- a/ProgTutorial/FirstSteps.thy Wed Jul 22 08:46:54 2009 +0200 +++ b/ProgTutorial/FirstSteps.thy Wed Jul 22 08:54:24 2009 +0200 @@ -472,7 +472,7 @@ theory and the update also produces a side-result (for example a theorem). Functions for such tasks return a pair whose second component is the theory and the fist component is the side-result. Using @{ML [index] ||>>}, you can do conveniently the update - and also accumulate the side-results. Considder the following simple function. + and also accumulate the side-results. Consider the following simple function. *} ML %linenosgray{*fun acc_incs x = @@ -484,7 +484,7 @@ text {* The purpose of Line 2 is to just pair up the argument with a dummy value (since @{ML [index] "||>>"} operates on pairs). Each of the next three lines just increment - the value by one, but also nest the intrermediate results to the left. For example + the value by one, but also nest the intermediate results to the left. For example @{ML_response [display,gray] "acc_incs 1" @@ -1592,7 +1592,7 @@ "maintaining a list of my_thms - rough test only!" text {* - The parser @{ML [index] add_del in Attrib} is a pre-defined parser for + The parser @{ML [index] add_del in Attrib} is a predefined parser for adding and deleting lemmas. Now if you prove the next lemma and attach to it the attribute @{text "[my_thms]"} *} @@ -1660,7 +1660,7 @@ text {* where @{ML MyThmsData.map} updates the data appropriately. The - corresponding theorem addtributes are + corresponding theorem attributes are *} ML{*val my_add = Thm.declaration_attribute my_thm_add @@ -1900,7 +1900,7 @@ text {* So far we printed out only plain strings without any formatting except for - occasional explicit linebreaks using @{text [quotes] "\\n"}. This is + occasional explicit line breaks using @{text [quotes] "\\n"}. This is sufficient for ``quick-and-dirty'' printouts. For something more sophisticated, Isabelle includes an infrastructure for properly formatting text. This infrastructure is loosely based on a paper by Oppen~\cite{Oppen80}. Most of @@ -1930,7 +1930,7 @@ text {* The point of the pretty-printing infrastructure is to give hints about how to layout text and let Isabelle do the actual layout. Let us first explain - how you can insert places where a linebreak can occur. For this assume the + how you can insert places where a line break can occur. For this assume the following function that replicates a string n times: *} @@ -1943,7 +1943,7 @@ ML{*val test_str = rep 8 "fooooooooooooooobaaaaaaaaaaaar "*} text {* - We deliberately chosed a large string so that is spans over more than one line. + We deliberately chose a large string so that is spans over more than one line. If we print out the string using the usual ``quick-and-dirty'' method, then we obtain the ugly output: @@ -1964,9 +1964,9 @@ oooooooooooooobaaaaaaaaaaaar"} However by using pretty types you have the ability to indicate a possible - linebreak for example at each space. You can achieve this with the function + line break for example at each space. You can achieve this with the function @{ML [index] breaks in Pretty}, which expects a list of pretty types and inserts a - possible linebreak in between every two elements in this list. To print + possible line break in between every two elements in this list. To print this list of pretty types as a single string, we concatenate them with the function @{ML [index] blk in Pretty} as follows: @@ -2048,7 +2048,7 @@ from the second, each new line as an indentation of 2. If you print out something that goes beyond the capabilities of the - standard functions, you can do realatively easily the formating + standard functions, you can do relatively easily the formatting yourself. Assume you want to print out a list of items where like in ``English'' the last two items are separated by @{text [quotes] "and"}. For this you can write the function @@ -2069,8 +2069,8 @@ where Line 7 prints the beginning of the list and Line 8 the last item. We have to use @{ML "Pretty.brk 1"} in order to insert a space (of length 1) before the - @{text [quotes] "and"}. This space is also a pleace where a linebreak - can occur. We do the same ater the @{text [quotes] "and"}. This gives you + @{text [quotes] "and"}. This space is also a place where a line break + can occur. We do the same after the @{text [quotes] "and"}. This gives you for example @{ML_response_fake [display,gray] @@ -2104,7 +2104,7 @@ pretty_typ in Syntax}. We also use the function @{ML [index] quote in Pretty} in order to enclose the term and type inside quotation marks. In Line 9 we add a period right after the type without the possibility of a - linebreak, because we do not want that a linebreak occurs there. + line break, because we do not want that a line break occurs there. Now you can write @@ -2113,7 +2113,7 @@ "tell_type @{context} @{term \"min (Suc 0)\"}" "The term \"min (Suc 0)\" has type \"nat \ nat\"."} - To see the proper linebreaking, you can try out the function on a bigger term + To see the proper line breaking, you can try out the function on a bigger term and type. For example: @{ML_response_fake [display,gray]