| author | Christian Urban <christian dot urban at kcl dot ac dot uk> | 
| Thu, 31 Mar 2016 13:02:30 +0100 | |
| changeset 420 | 6600eb5b11cb | 
| parent 415 | f1be8028a4a9 | 
| child 432 | 87c1ad539fc9 | 
| permissions | -rw-r--r-- | 
| 415 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | <?xml version="1.0" encoding="utf-8"?> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 2 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 3 | <html> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 4 | <head> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 5 | <title>Isabelle Programming Tutorial</title> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 6 | <link rel="stylesheet" href="nominal.css"> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | </head> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 8 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 9 | <body> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 10 | <div align="center"> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 11 | <table width="95%"> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 12 | <tbody> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 13 | <tr> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 14 | <td align="left"> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 15 | <H1>Aim</H1> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 16 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 17 | There is already quite good documentation available for users to learn | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 18 | how to interact with Isabelle and to use it for proving | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 19 | theorems (see <A HREF="http://www.cl.cam.ac.uk/research/hvg/Isabelle/documentation.html" target="_top">here</A>). | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 20 | However, the entry barrier for users to program on the ML-level of Isabelle | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 21 | is still unbearably high. In this project we want to change this state | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 22 | of affairs by providing a <i>tutorial</i> about ML-coding in Isabelle. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 23 | At its centre we describe the | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 24 | implementation of a simple prototypical Isabelle package (we describe | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 25 | a simplified version of the inductive package). We hope by | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 26 | documenting every aspect of this package that in the future you will | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 27 | be able to modify, extend and adapt this package for your own purposes, | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 28 | see how developers code in Isabelle and understand better Isabelle's | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 29 | idiosyncrasies. As a result you will be able to quickly produce code | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 30 | for your own needs and will be able to participate in keeping Isabelle | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 31 | alive in the long run. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 32 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 33 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 34 | Specific topics of the tutorial we have not yet covered: | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 35 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 36 | <P> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 37 | <ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 38 | <li> First Steps | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 39 | <ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 40 | <li>theories, contexts and local theories | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 41 | <li>morphisms | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 42 | <li>name spaces | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 43 | </ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 44 | <li>Parsing | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 45 | <ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 46 | <li>context-, argument- and attribute parsers | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 47 | <li>parsing and printing translations | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 48 | <li>methods | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 49 | </ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 50 | <li>Tactical Reasoning | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 51 | <ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 52 | <li>declarations | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 53 | <li>structured proofs | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 54 | </ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 55 | <li>Advanced Stuff | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 56 | <ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 57 | <li>user-space type-systems | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 58 | <li>typing algorithms | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 59 | <li>external applications | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 60 | </ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 61 | </ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 62 | <P> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 63 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 64 | Please help us to expand on this list. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 65 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 66 | <H3>We need You</H3> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 67 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 68 | We need help for accomplishing this tutorial. If you are familiar with the | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 69 | ML-level of Isabelle, please get in contact with us (see addresses below). If you | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 70 | are not familiar, but like to know more about the bits and pieces that make | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 71 | up the Isabelle code, then let us know what you are interested in or what | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 72 | project you like to implement. Above all we like to help future users and | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 73 | developers of Isabelle; we do not want to end up with some "artificial documentation" | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 74 | that is of nobody's help. Also proofreading and feedback would be most | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 75 | appreciated. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 76 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 77 | <H3>People to contact</H3> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 78 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 79 | The project is managed by | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 80 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 81 | <ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 82 | <li> <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/" target="_top">Christian Urban</A> (christian.urban at kcl ac uk) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 83 | <li> <A HREF="http://www.cl.cam.ac.uk/~lp15/" target="_top">Larry Paulson</A> (lp15 at cam ac uk) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 84 | <li> <A HREF="http://nicta.com.au/people/norrishm" target="_top">Michael Norrish</A> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 85 | (Michael.Norrish at nicta com au) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 86 | </ul> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 87 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 88 | There is also the following mailing list that is subscribed by all developers | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 89 | and open for help, suggestions etc. about this project. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 90 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 91 | <A HREF="https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev"> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 92 | isabelle-dev@mailbroy.informatik.tu-muenchen.de</A> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 93 | <BR> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 94 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 95 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 96 | <H3>Repository</H3> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 97 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 98 | A preliminary | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 99 | <A HREF="http://www4.in.tum.de/~urbanc/cgi-bin/repos.cgi/isabelle-cookbook" target="_top">repository</A> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 100 | is available and you are very welcome to contribute to it. The current draft of the tutorial is <A HREF="http://www4.in.tum.de/~urbanc/cgi-bin/repos.cgi/isabelle-cookbook/raw-file/tip/progtutorial.pdf" target="_top" onclick="pageTracker._trackPageview('tutorial');">here</A>. 
 | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 101 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 102 | <H3>Stable Version</H3> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 103 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 104 | There is no real stable version of the Programming Tutorial yet. If you need a version | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 105 | that is guaranteed to work with Isabelle 2011-1, then please get in touch with me | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 106 | (christian.urban at kcl ac uk). | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 107 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 108 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 109 | <H3><A NAME="readers"></A>What early readers said:</H3> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 110 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 111 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 112 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 113 | My path towards HOL was from HOL Light, to HOL4, to Isabelle/HOL and | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 114 | the Cookbook was essential for the last step (Piotr Trojanek, University of Bristol, 2014) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 115 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 116 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 117 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 118 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 119 | ...and the Isabelle/ML Cookbook are valuable resources (Lars Hupel, 2014) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 120 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 121 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 122 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 123 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 124 | GREAT!!! That's exactly what I was looking for! (Thomas Genet, ISTIC/IRISA, 2012) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 125 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 126 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 127 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 128 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 129 | The tutorial really is quite nice. (Jeremy Avigad, CMU, 2011) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 130 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 131 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 132 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 133 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 134 | By the way, thanks for the Isabelle Cookbook, it's really helpful to | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 135 | start with Isabelle/ML. (Mathieu Giorgino, 2011) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 136 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 137 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 138 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 139 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 140 | Great! This seems to have a lot of the missing pieces I couldn't find | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 141 | in the tutorial and reference manual. (Kevin Van Horn, 2011) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 142 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 143 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 144 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 145 | <i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 146 | I've been fighting for hours trying to derive some theorems automatically, | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 147 | until Florian told me I should try using conversions and then I read the Cookbook | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 148 | section and it solved my problem. The example with abs_conv in particular was | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 149 | particularly illuminating. Thanks! (Jasmin Blanchette, TU Munich, 2010) | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 150 | </i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 151 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 152 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 153 | <i> The cook book seems really helpful, if not even exactly what I need. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 154 | (Nils Jähnig, FU Berlin, 2010)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 155 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 156 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 157 | <i>The Programming Tutorial has helped me tremendously to get familiar with | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 158 | Isabelle, which I used in my bachelor thesis about the type-inference algorithm | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 159 | in Isabelle. (Dmitriy Traytel, TU Munich, 2010)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 160 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 161 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 162 | <i>I've already pointed a couple of PhD students at the programming tutorial, and | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 163 | they've already found it to be a great place to start with Isabelle | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 164 | programming. (Lucas Dixon, University of Edinburgh, 2009)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 165 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 166 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 167 | <i>The Isabelle Programming Tutorial is great! I finally learned how to add | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 168 | new keywords and how to parse outer syntax! (Amine Chaieb, University of Cambridge)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 169 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 170 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 171 | <i>I felt the programming tutorial was very clear and comprehensible. I'm | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 172 | toying with actually getting back to Isabelle again. Thanks to | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 173 | everyone involved in the documentation project. I really think it | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 174 | is worthwhile. (Tom Ridge, University of Cambridge, 2009)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 175 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 176 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 177 | <i>I learned from the tutorial how to deal with fresh variables and also which function to use | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 178 | for applying substitutions that are generated by unification. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 179 | (Lukas Bulwahn, TU Munich, 2009)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 180 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 181 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 182 | <i> What a great resource! I wish I'd had this when I wrote my first | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 183 | parser in December 2008. | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 184 | (Timothy Bourke, UNSW Sydney, 2009)</i> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 185 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 186 | </td> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 187 | </tr> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 188 | </tbody> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 189 | </table> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 190 | </div> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 191 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 192 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 193 | <HR> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 194 | <div id="clustrmaps-widget"></div><script type="text/javascript">var _clustrmaps = {'url' : 'http://www.inf.kcl.ac.uk/staff/urbanc/Cookbook/index.html', 'user' : 948346, 'server' : '4', 'id' : 'clustrmaps-widget', 'version' : 1, 'date' : '2011-10-30', 'lang' : 'en', 'corners' : 'square' };(function (){ var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'http://www4.clustrmaps.com/counter/map.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);})();</script><noscript><a href="http://www4.clustrmaps.com/user/123e787a"><img src="http://www4.clustrmaps.com/stats/maps-no_clusters/www.inf.kcl.ac.uk-staff-urbanc-Cookbook-index.html-thumb.jpg" alt="Locations of visitors to this page" /></a></noscript>
 | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 195 | </a> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 196 | <p> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 197 | <P> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 198 | <a href="http://validator.w3.org/check/referer" target="_top">[Validate this page.]</a> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 199 | <!-- hhmts start --> Last modified: Mon Oct 20 00:42:10 BST 2014 <!-- hhmts end --> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 200 | |
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 201 | </body> | 
| 
f1be8028a4a9
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 202 | </html> |