# HG changeset patch # User Christian Urban # Date 1327159118 0 # Node ID 633d3f013be2c2f0e2a4c0bf3c1eb970c749fcc4 # Parent d770a7b31aeb00ef208117296a98eb20b6a118d8# Parent caa7331904544bbafb49da779a7089f6d212b1ea merged diff -r d770a7b31aeb -r 633d3f013be2 ProgTutorial/Advanced.thy --- a/ProgTutorial/Advanced.thy Sat Jan 21 15:16:04 2012 +0000 +++ b/ProgTutorial/Advanced.thy Sat Jan 21 15:18:38 2012 +0000 @@ -32,7 +32,7 @@ parallel. *} -section {* Theories and Setups\label{sec:theories} *} +section {* Theories\label{sec:theories} *} text {* Theories, as said above, are the most basic layer of abstraction in diff -r d770a7b31aeb -r 633d3f013be2 ProgTutorial/Tactical.thy --- a/ProgTutorial/Tactical.thy Sat Jan 21 15:16:04 2012 +0000 +++ b/ProgTutorial/Tactical.thy Sat Jan 21 15:18:38 2012 +0000 @@ -13,6 +13,19 @@ chapter {* Tactical Reasoning\label{chp:tactical} *} text {* + \begin{flushright} + {\em + ``The first thing I would say is that when you write a program, think of\\ + it primarily as a work of literature. You're trying to write something\\ + that human beings are going to read. Don't think of it primarily as\\ + something a computer is going to follow. The more effective you are\\ + at making your program readable, the more effective it's going to\\ + be: You'll understand it today, you'll understand it next week, and\\ + your successors who are going to maintain and modify it will\\ + understand it.''}\\[1ex] + Donald E.~Knuth, from an interview in Dr.~Dobb's Journal, 1996. + \end{flushright} + One of the main reason for descending to the ML-level of Isabelle is to be able to implement automatic proof procedures. Such proof procedures can considerably lessen the burden of manual reasoning. They are centred around diff -r d770a7b31aeb -r 633d3f013be2 progtutorial.pdf