various additions
authorChristian Urban <urbanc@in.tum.de>
Fri, 03 Apr 2009 07:55:07 +0100
changeset 228 fe45fbb111c5
parent 227 a00c7721fc3b
child 229 abc7f90188af
various additions
IsaMakefile
ProgTutorial/FirstSteps.thy
ProgTutorial/Intro.thy
ProgTutorial/Package/Ind_Extensions.thy
ProgTutorial/Parsing.thy
progtutorial.pdf
--- a/IsaMakefile	Thu Apr 02 12:19:11 2009 +0100
+++ b/IsaMakefile	Fri Apr 03 07:55:07 2009 +0100
@@ -29,6 +29,7 @@
           ProgTutorial/Package/*.ML 
 	$(USEDIR) HOL ProgTutorial
 	$(ISATOOL) version > ProgTutorial/generated/version 
+	poly -v > ProgTutorial/generated/pversion
 	$(ISATOOL) document -o pdf  ProgTutorial/generated
 	@cp ProgTutorial/document.pdf progtutorial.pdf
 
--- a/ProgTutorial/FirstSteps.thy	Thu Apr 02 12:19:11 2009 +0100
+++ b/ProgTutorial/FirstSteps.thy	Fri Apr 03 07:55:07 2009 +0100
@@ -732,7 +732,7 @@
   "lambda @{term \"x::nat\"} @{term \"(P::nat\<Rightarrow>bool) x\"}"
   "Abs (\"x\", \"nat\", Free (\"P\", \"bool \<Rightarrow> bool\") $ Bound 0)"}
 
-  In the example, @{ML lambda} produces a de Bruijn index (i.e.~@{ML "Bound  0"}), 
+  In this example, @{ML lambda} produces a de Bruijn index (i.e.~@{ML "Bound  0"}), 
   and an abstraction. It also records the type of the abstracted
   variable and for printing purposes also its name.  Note that because of the
   typing annotation on @{text "P"}, the variable @{text "x"} in @{text "P x"}
--- a/ProgTutorial/Intro.thy	Thu Apr 02 12:19:11 2009 +0100
+++ b/ProgTutorial/Intro.thy	Fri Apr 03 07:55:07 2009 +0100
@@ -161,7 +161,8 @@
   
   \vfill
   This document was compiled with:\\
-  \input{version}
+  \input{version}\\
+  \input{pversion}
 *}
 
 
--- a/ProgTutorial/Package/Ind_Extensions.thy	Thu Apr 02 12:19:11 2009 +0100
+++ b/ProgTutorial/Package/Ind_Extensions.thy	Fri Apr 03 07:55:07 2009 +0100
@@ -179,6 +179,13 @@
   Write code that automates the derivation of the strong induction 
   principles from the weak ones.
   \end{exercise}
+
+  \begin{readmore}
+  The standard inductive package is based on least fix-points. It allows more 
+  general introduction rules that can include any monotone operators and also
+  provides a richer reasoning infrastructure. The code of this package can be found in 
+  @{ML_file "HOL/Tools/inductive_package.ML"}.
+  \end{readmore}
 *}
 
 
--- a/ProgTutorial/Parsing.thy	Thu Apr 02 12:19:11 2009 +0100
+++ b/ProgTutorial/Parsing.thy	Fri Apr 03 07:55:07 2009 +0100
@@ -618,14 +618,12 @@
   for inductive predicates of the form:
 *}
 
-(*
 simple_inductive
   even and odd
 where
   even0: "even 0"
 | evenS: "odd n \<Longrightarrow> even (Suc n)"
 | oddS: "even n \<Longrightarrow> odd (Suc n)"
-*)
 
 text {*
   For this we are going to use the parser:
Binary file progtutorial.pdf has changed