# HG changeset patch # User wenzelm # Date 1010190452 -3600 # Node ID 40fbd988b59bf0e2cfbbd11ce64683c7ab9e2737 # Parent 140241dc55e6094ae4052a884100fefedc18d0a9 updated; diff -r 140241dc55e6 -r 40fbd988b59b doc-src/TutorialI/Documents/Documents.thy --- a/doc-src/TutorialI/Documents/Documents.thy Sat Jan 05 01:20:52 2002 +0100 +++ b/doc-src/TutorialI/Documents/Documents.thy Sat Jan 05 01:27:32 2002 +0100 @@ -246,7 +246,7 @@ Here the degenerate mixfix annotations on the rightmost column happen to consist of a single Isabelle symbol each: \verb,\,\verb,,, \verb,\,\verb,,, - \verb,\,\verb,,, and \verb,\,$,. + \verb,\,\verb,,, and \verb,$,. Recall that a constructor like @{text Euro} actually is a function @{typ "nat \ currency"}. An expression like @{text "Euro 10"} will diff -r 140241dc55e6 -r 40fbd988b59b doc-src/TutorialI/Documents/document/Documents.tex --- a/doc-src/TutorialI/Documents/document/Documents.tex Sat Jan 05 01:20:52 2002 +0100 +++ b/doc-src/TutorialI/Documents/document/Documents.tex Sat Jan 05 01:27:32 2002 +0100 @@ -244,7 +244,7 @@ Here the degenerate mixfix annotations on the rightmost column happen to consist of a single Isabelle symbol each: \verb,\,\verb,,, \verb,\,\verb,,, - \verb,\,\verb,,, and \verb,\,\verb,,. + \verb,\,\verb,,, and \verb,$,. Recall that a constructor like \isa{Euro} actually is a function \isa{nat\ {\isasymRightarrow}\ currency}. An expression like \isa{Euro\ {\isadigit{1}}{\isadigit{0}}} will diff -r 140241dc55e6 -r 40fbd988b59b doc-src/TutorialI/tutorial.ind --- a/doc-src/TutorialI/tutorial.ind Sat Jan 05 01:20:52 2002 +0100 +++ b/doc-src/TutorialI/tutorial.ind Sat Jan 05 01:27:32 2002 +0100 @@ -10,7 +10,7 @@ \item \ttor, \bold{203} \item \texttt{[]}, \bold{9} \item \texttt{\#}, \bold{9} - \item \texttt{\at}, \bold{10}, 203 + \item \texttt{\at}, \bold{10}, \hyperpage{203} \item \isasymnotin, \bold{203} \item \verb$~:$, \bold{203} \item \isasymInter, \bold{203} @@ -21,229 +21,233 @@ \item \verb$^$\texttt{*}, \bold{203} \item \isasymAnd, \bold{12}, \bold{203} \item \ttAnd, \bold{203} - \item \isasymrightleftharpoons, 57 - \item \isasymrightharpoonup, 57 - \item \isasymleftharpoondown, 57 + \item \isasymrightleftharpoons, \hyperpage{57} + \item \isasymrightharpoonup, \hyperpage{57} + \item \isasymleftharpoondown, \hyperpage{57} \item \emph {$\Rightarrow $}, \bold{5} \item \ttlbr, \bold{203} \item \ttrbr, \bold{203} \item \texttt {\%}, \bold{203} \item \texttt {;}, \bold{7} - \item \isa {()} (constant), 24 - \item \isa {+} (tactical), 93 + \item \isa {()} (constant), \hyperpage{24} + \item \isa {+} (tactical), \hyperpage{93} \item \isa {<*lex*>}, \see{lexicographic product}{1} - \item \isa {?} (tactical), 93 - \item \texttt{|} (tactical), 93 + \item \isa {?} (tactical), \hyperpage{93} + \item \texttt{|} (tactical), \hyperpage{93} \indexspace - \item \isa {0} (constant), 22, 23, 144 - \item \isa {1} (constant), 23, 144, 145 + \item \isa {0} (constant), \hyperpage{22, 23}, \hyperpage{144} + \item \isa {1} (constant), \hyperpage{23}, \hyperpage{144, 145} \indexspace \item abandoning a proof, \bold{13} \item abandoning a theory, \bold{16} - \item \isa {abs} (constant), 147 + \item \isa {abs} (constant), \hyperpage{147} \item \texttt {abs}, \bold{203} - \item absolute value, 147 - \item \isa {add} (modifier), 29 - \item \isa {add_ac} (theorems), 146 + \item absolute value, \hyperpage{147} + \item \isa {add} (modifier), \hyperpage{29} + \item \isa {add_ac} (theorems), \hyperpage{146} \item \isa {add_assoc} (theorem), \bold{146} \item \isa {add_commute} (theorem), \bold{146} \item \isa {add_mult_distrib} (theorem), \bold{145} \item \texttt {ALL}, \bold{203} - \item \isa {All} (constant), 103 + \item \isa {All} (constant), \hyperpage{103} \item \isa {allE} (theorem), \bold{75} \item \isa {allI} (theorem), \bold{74} - \item append function, 10--14 - \item \isacommand {apply} (command), 15 + \item append function, \hyperpage{10--14} + \item \isacommand {apply} (command), \hyperpage{15} \item \isa {arg_cong} (theorem), \bold{90} - \item \isa {arith} (method), 23, 143 + \item \isa {arith} (method), \hyperpage{23}, \hyperpage{143} \item arithmetic operations - \subitem for \protect\isa{nat}, 23 + \subitem for \protect\isa{nat}, \hyperpage{23} \item \textsc {ascii} symbols, \bold{203} - \item associative-commutative function, 170 - \item \isa {assumption} (method), 63 + \item Aspinall, David, \hyperpage{viii} + \item associative-commutative function, \hyperpage{170} + \item \isa {assumption} (method), \hyperpage{63} \item assumptions - \subitem of subgoal, 12 - \subitem renaming, 76--77 - \subitem reusing, 77 - \item \isa {auto} (method), 38, 86 - \item \isa {axclass}, 158--164 - \item axiom of choice, 80 - \item axiomatic type classes, 158--164 + \subitem of subgoal, \hyperpage{12} + \subitem renaming, \hyperpage{76--77} + \subitem reusing, \hyperpage{77} + \item \isa {auto} (method), \hyperpage{38}, \hyperpage{86} + \item \isa {axclass}, \hyperpage{158--164} + \item axiom of choice, \hyperpage{80} + \item axiomatic type classes, \hyperpage{158--164} \indexspace - \item \isacommand {back} (command), 72 - \item \isa {Ball} (constant), 103 + \item \isacommand {back} (command), \hyperpage{72} + \item \isa {Ball} (constant), \hyperpage{103} \item \isa {ballI} (theorem), \bold{102} - \item \isa {best} (method), 86 - \item \isa {Bex} (constant), 103 + \item \isa {best} (method), \hyperpage{86} + \item \isa {Bex} (constant), \hyperpage{103} \item \isa {bexE} (theorem), \bold{102} \item \isa {bexI} (theorem), \bold{102} \item \isa {bij_def} (theorem), \bold{104} - \item bijections, 104 - \item binary trees, 18 - \item binomial coefficients, 103 - \item bisimulations, 110 - \item \isa {blast} (method), 83--84, 86 - \item \isa {bool} (type), 4, 5 - \item boolean expressions example, 20--22 + \item bijections, \hyperpage{104} + \item binary trees, \hyperpage{18} + \item binomial coefficients, \hyperpage{103} + \item bisimulations, \hyperpage{110} + \item \isa {blast} (method), \hyperpage{83--84}, \hyperpage{86} + \item \isa {bool} (type), \hyperpage{4, 5} + \item boolean expressions example, \hyperpage{20--22} \item \isa {bspec} (theorem), \bold{102} - \item \isacommand{by} (command), 67 + \item \isacommand{by} (command), \hyperpage{67} \indexspace - \item \isa {card} (constant), 103 + \item \isa {card} (constant), \hyperpage{103} \item \isa {card_Pow} (theorem), \bold{103} \item \isa {card_Un_Int} (theorem), \bold{103} - \item cardinality, 103 - \item \isa {case} (symbol), 32, 33 - \item \isa {case} expressions, 5, 6, 18 - \item case distinctions, 19 + \item cardinality, \hyperpage{103} + \item \isa {case} (symbol), \hyperpage{32, 33} + \item \isa {case} expressions, \hyperpage{5, 6}, \hyperpage{18} + \item case distinctions, \hyperpage{19} \item case splits, \bold{31} - \item \isa {case_tac} (method), 19, 95, 151 - \item \isa {cases} (method), 156 - \item \isa {clarify} (method), 85, 86 - \item \isa {clarsimp} (method), 85, 86 + \item \isa {case_tac} (method), \hyperpage{19}, \hyperpage{95}, + \hyperpage{151} + \item \isa {cases} (method), \hyperpage{156} + \item \isa {clarify} (method), \hyperpage{85, 86} + \item \isa {clarsimp} (method), \hyperpage{85, 86} \item \isa {classical} (theorem), \bold{67} \item coinduction, \bold{110} - \item \isa {Collect} (constant), 103 - \item compiling expressions example, 36--38 + \item \isa {Collect} (constant), \hyperpage{103} + \item compiling expressions example, \hyperpage{36--38} \item \isa {Compl_iff} (theorem), \bold{100} \item complement - \subitem of a set, 99 + \subitem of a set, \hyperpage{99} \item composition \subitem of functions, \bold{104} \subitem of relations, \bold{106} \item conclusion - \subitem of subgoal, 12 + \subitem of subgoal, \hyperpage{12} \item conditional expressions, \see{\isa{if} expressions}{1} - \item conditional simplification rules, 31 - \item \isa {cong} (attribute), 170 + \item conditional simplification rules, \hyperpage{31} + \item \isa {cong} (attribute), \hyperpage{170} \item congruence rules, \bold{169} \item \isa {conjE} (theorem), \bold{65} \item \isa {conjI} (theorem), \bold{62} - \item \isa {Cons} (constant), 9 - \item \isacommand {constdefs} (command), 25 - \item \isacommand {consts} (command), 10 - \item contrapositives, 67 + \item \isa {Cons} (constant), \hyperpage{9} + \item \isacommand {constdefs} (command), \hyperpage{25} + \item \isacommand {consts} (command), \hyperpage{10} + \item contrapositives, \hyperpage{67} \item converse \subitem of a relation, \bold{106} \item \isa {converse_iff} (theorem), \bold{106} - \item CTL, 115--120, 185--187 + \item CTL, \hyperpage{115--120}, \hyperpage{185--187} \indexspace - \item \isacommand {datatype} (command), 9, 38--43 - \item datatypes, 17--22 - \subitem and nested recursion, 40, 44 - \subitem mutually recursive, 38 - \subitem nested, 174 - \item \isacommand {defer} (command), 16, 94 - \item Definitional Approach, 26 + \item \isacommand {datatype} (command), \hyperpage{9}, + \hyperpage{38--43} + \item datatypes, \hyperpage{17--22} + \subitem and nested recursion, \hyperpage{40}, \hyperpage{44} + \subitem mutually recursive, \hyperpage{38} + \subitem nested, \hyperpage{174} + \item \isacommand {defer} (command), \hyperpage{16}, \hyperpage{94} + \item Definitional Approach, \hyperpage{26} \item definitions, \bold{25} \subitem unfolding, \bold{30} - \item \isacommand {defs} (command), 25 - \item \isa {del} (modifier), 29 - \item description operators, 79--81 + \item \isacommand {defs} (command), \hyperpage{25} + \item \isa {del} (modifier), \hyperpage{29} + \item description operators, \hyperpage{79--81} \item descriptions - \subitem definite, 79 - \subitem indefinite, 80 - \item \isa {dest} (attribute), 96 - \item destruction rules, 65 + \subitem definite, \hyperpage{79} + \subitem indefinite, \hyperpage{80} + \item \isa {dest} (attribute), \hyperpage{96} + \item destruction rules, \hyperpage{65} \item \isa {diff_mult_distrib} (theorem), \bold{145} \item difference \subitem of sets, \bold{100} \item \isa {disjCI} (theorem), \bold{68} \item \isa {disjE} (theorem), \bold{64} - \item \isa {div} (symbol), 23 - \item divides relation, 78, 89, 95--98, 146 + \item \isa {div} (symbol), \hyperpage{23} + \item divides relation, \hyperpage{78}, \hyperpage{89}, + \hyperpage{95--98}, \hyperpage{146} \item division - \subitem by negative numbers, 147 - \subitem by zero, 146 - \subitem for type \protect\isa{nat}, 145 + \subitem by negative numbers, \hyperpage{147} + \subitem by zero, \hyperpage{146} + \subitem for type \protect\isa{nat}, \hyperpage{145} \item domain - \subitem of a relation, 106 + \subitem of a relation, \hyperpage{106} \item \isa {Domain_iff} (theorem), \bold{106} - \item \isacommand {done} (command), 13 - \item \isa {drule_tac} (method), 70, 90 + \item \isacommand {done} (command), \hyperpage{13} + \item \isa {drule_tac} (method), \hyperpage{70}, \hyperpage{90} \item \isa {dvd_add} (theorem), \bold{146} \item \isa {dvd_anti_sym} (theorem), \bold{146} \item \isa {dvd_def} (theorem), \bold{146} \indexspace - \item \isa {elim!} (attribute), 125 - \item elimination rules, 63--64 - \item \isacommand {end} (command), 14 - \item \isa {Eps} (constant), 103 - \item equality, 5 + \item \isa {elim!} (attribute), \hyperpage{125} + \item elimination rules, \hyperpage{63--64} + \item \isacommand {end} (command), \hyperpage{14} + \item \isa {Eps} (constant), \hyperpage{103} + \item equality, \hyperpage{5} \subitem of functions, \bold{103} - \subitem of records, 155 + \subitem of records, \hyperpage{155} \subitem of sets, \bold{100} \item \isa {equalityE} (theorem), \bold{100} \item \isa {equalityI} (theorem), \bold{100} - \item \isa {erule} (method), 64 - \item \isa {erule_tac} (method), 70 - \item Euclid's algorithm, 95--98 + \item \isa {erule} (method), \hyperpage{64} + \item \isa {erule_tac} (method), \hyperpage{70} + \item Euclid's algorithm, \hyperpage{95--98} \item even numbers - \subitem defining inductively, 121--125 + \subitem defining inductively, \hyperpage{121--125} \item \texttt {EX}, \bold{203} - \item \isa {Ex} (constant), 103 + \item \isa {Ex} (constant), \hyperpage{103} \item \isa {exE} (theorem), \bold{76} \item \isa {exI} (theorem), \bold{76} \item \isa {ext} (theorem), \bold{103} - \item \isa {extend} (constant), 157 + \item \isa {extend} (constant), \hyperpage{157} \item extensionality \subitem for functions, \bold{103, 104} - \subitem for records, 155 + \subitem for records, \hyperpage{155} \subitem for sets, \bold{100} \item \ttEXU, \bold{203} \indexspace - \item \isa {False} (constant), 5 - \item \isa {fast} (method), 86, 118 - \item Fibonacci function, 47 - \item \isa {fields} (constant), 157 - \item \isa {finite} (symbol), 103 - \item \isa {Finites} (constant), 103 - \item fixed points, 110 - \item flags, 5, 6, 33 - \subitem setting and resetting, 5 - \item \isa {force} (method), 85, 86 - \item formulae, 5--6 - \item forward proof, 86--92 - \item \isa {frule} (method), 77 - \item \isa {frule_tac} (method), 70 - \item \isa {fst} (constant), 24 - \item function types, 5 - \item functions, 103--105 - \subitem partial, 176 - \subitem total, 11, 46--52 - \subitem underdefined, 177 + \item \isa {False} (constant), \hyperpage{5} + \item \isa {fast} (method), \hyperpage{86}, \hyperpage{118} + \item Fibonacci function, \hyperpage{47} + \item \isa {fields} (constant), \hyperpage{157} + \item \isa {finite} (symbol), \hyperpage{103} + \item \isa {Finites} (constant), \hyperpage{103} + \item fixed points, \hyperpage{110} + \item flags, \hyperpage{5, 6}, \hyperpage{33} + \subitem setting and resetting, \hyperpage{5} + \item \isa {force} (method), \hyperpage{85, 86} + \item formulae, \hyperpage{5--6} + \item forward proof, \hyperpage{86--92} + \item \isa {frule} (method), \hyperpage{77} + \item \isa {frule_tac} (method), \hyperpage{70} + \item \isa {fst} (constant), \hyperpage{24} + \item function types, \hyperpage{5} + \item functions, \hyperpage{103--105} + \subitem partial, \hyperpage{176} + \subitem total, \hyperpage{11}, \hyperpage{46--52} + \subitem underdefined, \hyperpage{177} \indexspace - \item \isa {gcd} (constant), 87--88, 95--98 - \item generalizing for induction, 123 - \item generalizing induction formulae, 35 + \item \isa {gcd} (constant), \hyperpage{87--88}, \hyperpage{95--98} + \item generalizing for induction, \hyperpage{123} + \item generalizing induction formulae, \hyperpage{35} \item Girard, Jean-Yves, \fnote{65} - \item Gordon, Mike, 3 + \item Gordon, Mike, \hyperpage{3} \item grammars - \subitem defining inductively, 134--139 - \item ground terms example, 129--134 + \subitem defining inductively, \hyperpage{134--139} + \item ground terms example, \hyperpage{129--134} \indexspace - \item \isa {hd} (constant), 17, 37 - \item Hilbert's $\varepsilon$-operator, 80 - \item HOLCF, 43 - \item Hopcroft, J. E., 139 - \item \isa {hypreal} (type), 149 + \item \isa {hd} (constant), \hyperpage{17}, \hyperpage{37} + \item Hilbert's $\varepsilon$-operator, \hyperpage{80} + \item HOLCF, \hyperpage{43} + \item Hopcroft, J. E., \hyperpage{139} + \item \isa {hypreal} (type), \hyperpage{149} \indexspace @@ -253,11 +257,12 @@ \subitem qualified, \bold{4} \item identity function, \bold{104} \item identity relation, \bold{106} - \item \isa {if} expressions, 5, 6 - \subitem simplification of, 33 - \subitem splitting of, 31, 49 - \item if-and-only-if, 6 - \item \isa {iff} (attribute), 84, 96, 124 + \item \isa {if} expressions, \hyperpage{5, 6} + \subitem simplification of, \hyperpage{33} + \subitem splitting of, \hyperpage{31}, \hyperpage{49} + \item if-and-only-if, \hyperpage{6} + \item \isa {iff} (attribute), \hyperpage{84}, \hyperpage{96}, + \hyperpage{124} \item \isa {iffD1} (theorem), \bold{88} \item \isa {iffD2} (theorem), \bold{88} \item image @@ -266,383 +271,391 @@ \item \isa {image_def} (theorem), \bold{105} \item \isa {Image_iff} (theorem), \bold{106} \item \isa {impI} (theorem), \bold{66} - \item implication, 66--67 - \item \isa {ind_cases} (method), 125 - \item \isa {induct_tac} (method), 12, 19, 52, 184 - \item induction, 180--187 - \subitem complete, 182 - \subitem deriving new schemas, 184 - \subitem on a term, 181 - \subitem recursion, 51--52 - \subitem structural, 19 - \subitem well-founded, 109 - \item induction heuristics, 34--36 - \item \isacommand {inductive} (command), 121 + \item implication, \hyperpage{66--67} + \item \isa {ind_cases} (method), \hyperpage{125} + \item \isa {induct_tac} (method), \hyperpage{12}, \hyperpage{19}, + \hyperpage{52}, \hyperpage{184} + \item induction, \hyperpage{180--187} + \subitem complete, \hyperpage{182} + \subitem deriving new schemas, \hyperpage{184} + \subitem on a term, \hyperpage{181} + \subitem recursion, \hyperpage{51--52} + \subitem structural, \hyperpage{19} + \subitem well-founded, \hyperpage{109} + \item induction heuristics, \hyperpage{34--36} + \item \isacommand {inductive} (command), \hyperpage{121} \item inductive definition - \subitem simultaneous, 135 - \item inductive definitions, 121--139 - \item \isacommand {inductive\_cases} (command), 125, 133 - \item infinitely branching trees, 43 + \subitem simultaneous, \hyperpage{135} + \item inductive definitions, \hyperpage{121--139} + \item \isacommand {inductive\_cases} (command), \hyperpage{125}, + \hyperpage{133} + \item infinitely branching trees, \hyperpage{43} \item infix annotations, \bold{54} - \item \isacommand{infixr} (annotation), 10 + \item \isacommand{infixr} (annotation), \hyperpage{10} \item \isa {inj_on_def} (theorem), \bold{104} - \item injections, 104 - \item \isa {insert} (constant), 101 - \item \isa {insert} (method), 91--92 + \item injections, \hyperpage{104} + \item \isa {insert} (constant), \hyperpage{101} + \item \isa {insert} (method), \hyperpage{91--92} \item instance, \bold{160} \item \texttt {INT}, \bold{203} \item \texttt {Int}, \bold{203} - \item \isa {int} (type), 147--148 + \item \isa {int} (type), \hyperpage{147--148} \item \isa {INT_iff} (theorem), \bold{102} \item \isa {IntD1} (theorem), \bold{99} \item \isa {IntD2} (theorem), \bold{99} - \item integers, 147--148 - \item \isa {INTER} (constant), 103 + \item integers, \hyperpage{147--148} + \item \isa {INTER} (constant), \hyperpage{103} \item \texttt {Inter}, \bold{203} \item \isa {Inter_iff} (theorem), \bold{102} - \item intersection, 99 - \subitem indexed, 102 + \item intersection, \hyperpage{99} + \subitem indexed, \hyperpage{102} \item \isa {IntI} (theorem), \bold{99} - \item \isa {intro} (method), 68 - \item \isa {intro!} (attribute), 122 - \item \isa {intro_classes} (method), 160 - \item introduction rules, 62--63 - \item \isa {inv} (constant), 80 + \item \isa {intro} (method), \hyperpage{68} + \item \isa {intro!} (attribute), \hyperpage{122} + \item \isa {intro_classes} (method), \hyperpage{160} + \item introduction rules, \hyperpage{62--63} + \item \isa {inv} (constant), \hyperpage{80} \item \isa {inv_image_def} (theorem), \bold{109} \item inverse \subitem of a function, \bold{104} \subitem of a relation, \bold{106} \item inverse image - \subitem of a function, 105 - \subitem of a relation, 108 - \item \isa {itrev} (constant), 34 + \subitem of a function, \hyperpage{105} + \subitem of a relation, \hyperpage{108} + \item \isa {itrev} (constant), \hyperpage{34} \indexspace - \item \isacommand {kill} (command), 16 + \item \isacommand {kill} (command), \hyperpage{16} \indexspace - \item $\lambda$ expressions, 5 - \item LCF, 43 - \item \isa {LEAST} (symbol), 23, 79 + \item $\lambda$ expressions, \hyperpage{5} + \item LCF, \hyperpage{43} + \item \isa {LEAST} (symbol), \hyperpage{23}, \hyperpage{79} \item least number operator, \see{\protect\isa{LEAST}}{79} - \item Leibniz, Gottfried Wilhelm, 53 - \item \isacommand {lemma} (command), 13 - \item \isacommand {lemmas} (command), 87, 96 - \item \isa {length} (symbol), 18 + \item Leibniz, Gottfried Wilhelm, \hyperpage{53} + \item \isacommand {lemma} (command), \hyperpage{13} + \item \isacommand {lemmas} (command), \hyperpage{87}, \hyperpage{96} + \item \isa {length} (symbol), \hyperpage{18} \item \isa {length_induct}, \bold{184} - \item \isa {less_than} (constant), 108 + \item \isa {less_than} (constant), \hyperpage{108} \item \isa {less_than_iff} (theorem), \bold{108} - \item \isa {let} expressions, 5, 6, 31 - \item \isa {Let_def} (theorem), 31 + \item \isa {let} expressions, \hyperpage{5, 6}, \hyperpage{31} + \item \isa {Let_def} (theorem), \hyperpage{31} \item \isa {lex_prod_def} (theorem), \bold{109} - \item lexicographic product, \bold{109}, 172 + \item lexicographic product, \bold{109}, \hyperpage{172} \item {\texttt{lfp}} \subitem applications of, \see{CTL}{110} - \item Library, 4 - \item linear arithmetic, 22--24, 143 - \item \isa {List} (theory), 17 - \item \isa {list} (type), 5, 9, 17 - \item \isa {list.split} (theorem), 32 + \item Library, \hyperpage{4} + \item linear arithmetic, \hyperpage{22--24}, \hyperpage{143} + \item \isa {List} (theory), \hyperpage{17} + \item \isa {list} (type), \hyperpage{5}, \hyperpage{9}, + \hyperpage{17} + \item \isa {list.split} (theorem), \hyperpage{32} \item \isa {lists_mono} (theorem), \bold{131} - \item Lowe, Gavin, 190--191 + \item Lowe, Gavin, \hyperpage{190--191} \indexspace - \item \isa {Main} (theory), 4 + \item \isa {Main} (theory), \hyperpage{4} \item major premise, \bold{69} - \item \isa {make} (constant), 157 - \item \isa {max} (constant), 23, 24 - \item measure functions, 47, 108 + \item \isa {make} (constant), \hyperpage{157} + \item \isa {max} (constant), \hyperpage{23, 24} + \item measure functions, \hyperpage{47}, \hyperpage{108} \item \isa {measure_def} (theorem), \bold{109} \item meta-logic, \bold{74} \item methods, \bold{16} - \item \isa {min} (constant), 23, 24 + \item \isa {min} (constant), \hyperpage{23, 24} \item mixfix annotations, \bold{53} - \item \isa {mod} (symbol), 23 + \item \isa {mod} (symbol), \hyperpage{23} \item \isa {mod_div_equality} (theorem), \bold{145} \item \isa {mod_mult_distrib} (theorem), \bold{145} - \item model checking example, 110--120 - \item \emph{modus ponens}, 61, 66 + \item model checking example, \hyperpage{110--120} + \item \emph{modus ponens}, \hyperpage{61}, \hyperpage{66} \item \isa {mono_def} (theorem), \bold{110} - \item monotone functions, \bold{110}, 133 - \subitem and inductive definitions, 131--132 - \item \isa {more} (constant), 152, 154 + \item monotone functions, \bold{110}, \hyperpage{133} + \subitem and inductive definitions, \hyperpage{131--132} + \item \isa {more} (constant), \hyperpage{152}, \hyperpage{154} \item \isa {mp} (theorem), \bold{66} - \item \isa {mult_ac} (theorems), 146 + \item \isa {mult_ac} (theorems), \hyperpage{146} \item multiple inheritance, \bold{163} \item multiset ordering, \bold{109} \indexspace - \item \isa {nat} (type), 4, 22, 145--147 - \item \isa {nat_less_induct} (theorem), 182 - \item natural deduction, 61--62 - \item natural numbers, 22, 145--147 - \item Needham-Schroeder protocol, 189--191 - \item negation, 67--69 - \item \isa {Nil} (constant), 9 - \item \isa {no_asm} (modifier), 29 - \item \isa {no_asm_simp} (modifier), 30 - \item \isa {no_asm_use} (modifier), 30 - \item non-standard reals, 149 + \item \isa {nat} (type), \hyperpage{4}, \hyperpage{22}, + \hyperpage{145--147} + \item \isa {nat_less_induct} (theorem), \hyperpage{182} + \item natural deduction, \hyperpage{61--62} + \item natural numbers, \hyperpage{22}, \hyperpage{145--147} + \item Needham-Schroeder protocol, \hyperpage{189--191} + \item negation, \hyperpage{67--69} + \item \isa {Nil} (constant), \hyperpage{9} + \item \isa {no_asm} (modifier), \hyperpage{29} + \item \isa {no_asm_simp} (modifier), \hyperpage{30} + \item \isa {no_asm_use} (modifier), \hyperpage{30} + \item non-standard reals, \hyperpage{149} \item \isa {None} (constant), \bold{24} \item \isa {notE} (theorem), \bold{67} \item \isa {notI} (theorem), \bold{67} - \item numbers, 143--149 - \item numeric literals, 144 - \subitem for type \protect\isa{nat}, 145 - \subitem for type \protect\isa{real}, 149 + \item numbers, \hyperpage{143--149} + \item numeric literals, \hyperpage{144} + \subitem for type \protect\isa{nat}, \hyperpage{145} + \subitem for type \protect\isa{real}, \hyperpage{149} \indexspace - \item \isa {O} (symbol), 106 + \item \isa {O} (symbol), \hyperpage{106} \item \texttt {o}, \bold{203} \item \isa {o_def} (theorem), \bold{104} - \item \isa {OF} (attribute), 89--90 - \item \isa {of} (attribute), 87, 90 - \item \isa {only} (modifier), 29 - \item \isacommand {oops} (command), 13 + \item \isa {OF} (attribute), \hyperpage{89--90} + \item \isa {of} (attribute), \hyperpage{87}, \hyperpage{90} + \item \isa {only} (modifier), \hyperpage{29} + \item \isacommand {oops} (command), \hyperpage{13} \item \isa {option} (type), \bold{24} \item ordered rewriting, \bold{170} - \item overloading, 23, 159--161 - \subitem and arithmetic, 144 + \item overloading, \hyperpage{23}, \hyperpage{159--161} + \subitem and arithmetic, \hyperpage{144} \indexspace - \item pairs and tuples, 24, 149--152 + \item pairs and tuples, \hyperpage{24}, \hyperpage{149--152} \item parent theories, \bold{4} \item pattern matching - \subitem and \isacommand{recdef}, 47 + \subitem and \isacommand{recdef}, \hyperpage{47} \item patterns \subitem higher-order, \bold{171} - \item PDL, 112--114 - \item \isacommand {pr} (command), 16, 94 - \item \isacommand {prefer} (command), 16, 94 + \item PDL, \hyperpage{112--114} + \item \isacommand {pr} (command), \hyperpage{16}, \hyperpage{94} + \item \isacommand {prefer} (command), \hyperpage{16}, \hyperpage{94} \item prefix annotation, \bold{56} \item primitive recursion, \see{recursion, primitive}{1} - \item \isacommand {primrec} (command), 10, 18, 38--43 - \item print mode, 55 - \item \isacommand {print\_syntax} (command), 54 + \item \isacommand {primrec} (command), \hyperpage{10}, \hyperpage{18}, + \hyperpage{38--43} + \item print mode, \hyperpage{55} + \item \isacommand {print\_syntax} (command), \hyperpage{54} \item product type, \see{pairs and tuples}{1} \item Proof General, \bold{7} - \item proof state, 12 + \item proof state, \hyperpage{12} \item proofs \subitem abandoning, \bold{13} - \subitem examples of failing, 81--83 + \subitem examples of failing, \hyperpage{81--83} \item protocols - \subitem security, 189--199 + \subitem security, \hyperpage{189--199} \indexspace - \item quantifiers, 6 - \subitem and inductive definitions, 129--131 - \subitem existential, 76 - \subitem for sets, 102 - \subitem instantiating, 78 - \subitem universal, 73--76 + \item quantifiers, \hyperpage{6} + \subitem and inductive definitions, \hyperpage{129--131} + \subitem existential, \hyperpage{76} + \subitem for sets, \hyperpage{102} + \subitem instantiating, \hyperpage{78} + \subitem universal, \hyperpage{73--76} \indexspace \item \isa {r_into_rtrancl} (theorem), \bold{106} \item \isa {r_into_trancl} (theorem), \bold{107} \item range - \subitem of a function, 105 - \subitem of a relation, 106 - \item \isa {range} (symbol), 105 + \subitem of a function, \hyperpage{105} + \subitem of a relation, \hyperpage{106} + \item \isa {range} (symbol), \hyperpage{105} \item \isa {Range_iff} (theorem), \bold{106} - \item \isa {Real} (theory), 149 - \item \isa {real} (type), 148--149 - \item real numbers, 148--149 - \item \isacommand {recdef} (command), 46--52, 108, 172--180 - \subitem and numeric literals, 144 - \item \isa {recdef_cong} (attribute), 176 - \item \isa {recdef_simp} (attribute), 49 - \item \isa {recdef_wf} (attribute), 174 - \item \isacommand {record} (command), 153 - \item records, 152--158 - \subitem extensible, 154--155 + \item \isa {Real} (theory), \hyperpage{149} + \item \isa {real} (type), \hyperpage{148--149} + \item real numbers, \hyperpage{148--149} + \item \isacommand {recdef} (command), \hyperpage{46--52}, + \hyperpage{108}, \hyperpage{172--180} + \subitem and numeric literals, \hyperpage{144} + \item \isa {recdef_cong} (attribute), \hyperpage{176} + \item \isa {recdef_simp} (attribute), \hyperpage{49} + \item \isa {recdef_wf} (attribute), \hyperpage{174} + \item \isacommand {record} (command), \hyperpage{153} + \item records, \hyperpage{152--158} + \subitem extensible, \hyperpage{154--155} \item recursion - \subitem guarded, 177 - \subitem primitive, 18 + \subitem guarded, \hyperpage{177} + \subitem primitive, \hyperpage{18} \subitem well-founded, \bold{173} - \item recursion induction, 51--52 - \item \isacommand {redo} (command), 16 - \item reflexive and transitive closure, 106--108 + \item recursion induction, \hyperpage{51--52} + \item \isacommand {redo} (command), \hyperpage{16} + \item reflexive and transitive closure, \hyperpage{106--108} \item reflexive transitive closure - \subitem defining inductively, 126--129 + \subitem defining inductively, \hyperpage{126--129} \item \isa {rel_comp_def} (theorem), \bold{106} - \item relations, 105--108 - \subitem well-founded, 108--109 - \item \isa {rename_tac} (method), 76--77 - \item \isa {rev} (constant), 10--14, 34 + \item relations, \hyperpage{105--108} + \subitem well-founded, \hyperpage{108--109} + \item \isa {rename_tac} (method), \hyperpage{76--77} + \item \isa {rev} (constant), \hyperpage{10--14}, \hyperpage{34} \item rewrite rules, \bold{27} \subitem permutative, \bold{170} \item rewriting, \bold{27} - \item \isa {rotate_tac} (method), 30 + \item \isa {rotate_tac} (method), \hyperpage{30} \item \isa {rtrancl_refl} (theorem), \bold{106} \item \isa {rtrancl_trans} (theorem), \bold{106} - \item rule induction, 122--124 - \item rule inversion, 124--125, 133--134 - \item \isa {rule_format} (attribute), 181 - \item \isa {rule_tac} (method), 70 - \subitem and renaming, 77 + \item rule induction, \hyperpage{122--124} + \item rule inversion, \hyperpage{124--125}, \hyperpage{133--134} + \item \isa {rule_format} (attribute), \hyperpage{181} + \item \isa {rule_tac} (method), \hyperpage{70} + \subitem and renaming, \hyperpage{77} \indexspace - \item \isa {safe} (method), 85, 86 + \item \isa {safe} (method), \hyperpage{85, 86} \item safe rules, \bold{84} \item selector - \subitem record, 153 - \item \isa {set} (type), 5, 99 - \item set comprehensions, 101--102 + \subitem record, \hyperpage{153} + \item \isa {set} (type), \hyperpage{5}, \hyperpage{99} + \item set comprehensions, \hyperpage{101--102} \item \isa {set_ext} (theorem), \bold{100} - \item sets, 99--103 - \subitem finite, 103 + \item sets, \hyperpage{99--103} + \subitem finite, \hyperpage{103} \subitem notation for finite, \bold{101} \item settings, \see{flags}{1} - \item \isa {show_brackets} (flag), 6 - \item \isa {show_types} (flag), 5, 16 - \item \isa {simp} (attribute), 11, 28 + \item \isa {show_brackets} (flag), \hyperpage{6} + \item \isa {show_types} (flag), \hyperpage{5}, \hyperpage{16} + \item \isa {simp} (attribute), \hyperpage{11}, \hyperpage{28} \item \isa {simp} (method), \bold{28} - \item \isa {simp} del (attribute), 28 - \item \isa {simp_all} (method), 29, 38 - \item simplification, 27--33, 169--172 - \subitem of \isa{let}-expressions, 31 - \subitem with definitions, 30 - \subitem with/of assumptions, 29 - \item simplification rule, 171--172 - \item simplification rules, 28 - \subitem adding and deleting, 29 - \item \isa {simplified} (attribute), 87, 90 - \item \isa {size} (constant), 17 - \item \isa {snd} (constant), 24 - \item \isa {SOME} (symbol), 80 + \item \isa {simp} del (attribute), \hyperpage{28} + \item \isa {simp_all} (method), \hyperpage{29}, \hyperpage{38} + \item simplification, \hyperpage{27--33}, \hyperpage{169--172} + \subitem of \isa{let}-expressions, \hyperpage{31} + \subitem with definitions, \hyperpage{30} + \subitem with/of assumptions, \hyperpage{29} + \item simplification rule, \hyperpage{171--172} + \item simplification rules, \hyperpage{28} + \subitem adding and deleting, \hyperpage{29} + \item \isa {simplified} (attribute), \hyperpage{87}, \hyperpage{90} + \item \isa {size} (constant), \hyperpage{17} + \item \isa {snd} (constant), \hyperpage{24} + \item \isa {SOME} (symbol), \hyperpage{80} \item \texttt {SOME}, \bold{203} \item \isa {Some} (constant), \bold{24} \item \isa {some_equality} (theorem), \bold{80} \item \isa {someI} (theorem), \bold{80} \item \isa {someI2} (theorem), \bold{80} \item \isa {someI_ex} (theorem), \bold{81} - \item sorts, 164 + \item sorts, \hyperpage{164} \item \isa {spec} (theorem), \bold{74} - \item \isa {split} (attribute), 32 - \item \isa {split} (constant), 150 - \item \isa {split} (method), 31, 150 - \item \isa {split} (modifier), 32 + \item \isa {split} (attribute), \hyperpage{32} + \item \isa {split} (constant), \hyperpage{150} + \item \isa {split} (method), \hyperpage{31}, \hyperpage{150} + \item \isa {split} (modifier), \hyperpage{32} \item split rule, \bold{32} - \item \isa {split_if} (theorem), 32 - \item \isa {split_if_asm} (theorem), 32 + \item \isa {split_if} (theorem), \hyperpage{32} + \item \isa {split_if_asm} (theorem), \hyperpage{32} \item \isa {ssubst} (theorem), \bold{71} \item structural induction, \see{induction, structural}{1} - \item subclasses, 158, 163 - \item subgoal numbering, 46 - \item \isa {subgoal_tac} (method), 92 - \item subgoals, 12 + \item subclasses, \hyperpage{158}, \hyperpage{163} + \item subgoal numbering, \hyperpage{46} + \item \isa {subgoal_tac} (method), \hyperpage{92} + \item subgoals, \hyperpage{12} \item subset relation, \bold{100} \item \isa {subsetD} (theorem), \bold{100} \item \isa {subsetI} (theorem), \bold{100} - \item \isa {subst} (method), 71 - \item substitution, 71--73 - \item \isa {Suc} (constant), 22 + \item \isa {subst} (method), \hyperpage{71} + \item substitution, \hyperpage{71--73} + \item \isa {Suc} (constant), \hyperpage{22} \item \isa {surj_def} (theorem), \bold{104} - \item surjections, 104 + \item surjections, \hyperpage{104} \item \isa {sym} (theorem), \bold{88} \item symbols, \bold{55} - \item syntax, 6, 11 - \item \isacommand {syntax} (command), 56 - \item syntax translations, 57 + \item syntax, \hyperpage{6}, \hyperpage{11} + \item \isacommand {syntax} (command), \hyperpage{56} + \item syntax translations, \hyperpage{57} \indexspace - \item tacticals, 93 - \item tactics, 12 - \item \isacommand {term} (command), 16 + \item tacticals, \hyperpage{93} + \item tactics, \hyperpage{12} + \item \isacommand {term} (command), \hyperpage{16} \item term rewriting, \bold{27} \item termination, \see{functions, total}{1} - \item terms, 5 - \item \isa {THE} (symbol), 79 + \item terms, \hyperpage{5} + \item \isa {THE} (symbol), \hyperpage{79} \item \isa {the_equality} (theorem), \bold{79} - \item \isa {THEN} (attribute), \bold{88}, 90, 96 - \item \isacommand {theorem} (command), \bold{11}, 13 - \item theories, 4 + \item \isa {THEN} (attribute), \bold{88}, \hyperpage{90}, + \hyperpage{96} + \item \isacommand {theorem} (command), \bold{11}, \hyperpage{13} + \item theories, \hyperpage{4} \subitem abandoning, \bold{16} - \item \isacommand {theory} (command), 16 - \item theory files, 4 - \item \isacommand {thm} (command), 16 - \item \isa {tl} (constant), 17 - \item \isa {ToyList} example, 9--14 - \item \isa {trace_simp} (flag), 33 + \item \isacommand {theory} (command), \hyperpage{16} + \item theory files, \hyperpage{4} + \item \isacommand {thm} (command), \hyperpage{16} + \item \isa {tl} (constant), \hyperpage{17} + \item \isa {ToyList} example, \hyperpage{9--14} + \item \isa {trace_simp} (flag), \hyperpage{33} \item tracing the simplifier, \bold{33} \item \isa {trancl_trans} (theorem), \bold{107} - \item transition systems, 111 - \item \isacommand {translations} (command), 57 - \item tries, 44--46 - \item \isa {True} (constant), 5 - \item \isa {truncate} (constant), 157 + \item transition systems, \hyperpage{111} + \item \isacommand {translations} (command), \hyperpage{57} + \item tries, \hyperpage{44--46} + \item \isa {True} (constant), \hyperpage{5} + \item \isa {truncate} (constant), \hyperpage{157} \item tuples, \see{pairs and tuples}{1} - \item \isacommand {typ} (command), 16 + \item \isacommand {typ} (command), \hyperpage{16} \item type constraints, \bold{6} - \item type constructors, 5 + \item type constructors, \hyperpage{5} \item type inference, \bold{5} - \item type synonyms, 25 - \item type variables, 5 - \item \isacommand {typedecl} (command), 111, 165 - \item \isacommand {typedef} (command), 165--168 - \item types, 4--5 - \subitem declaring, 165 - \subitem defining, 165--168 - \item \isacommand {types} (command), 25 + \item type synonyms, \hyperpage{25} + \item type variables, \hyperpage{5} + \item \isacommand {typedecl} (command), \hyperpage{111}, + \hyperpage{165} + \item \isacommand {typedef} (command), \hyperpage{165--168} + \item types, \hyperpage{4--5} + \subitem declaring, \hyperpage{165} + \subitem defining, \hyperpage{165--168} + \item \isacommand {types} (command), \hyperpage{25} \indexspace - \item Ullman, J. D., 139 + \item Ullman, J. D., \hyperpage{139} \item \texttt {UN}, \bold{203} \item \texttt {Un}, \bold{203} \item \isa {UN_E} (theorem), \bold{102} \item \isa {UN_I} (theorem), \bold{102} \item \isa {UN_iff} (theorem), \bold{102} \item \isa {Un_subset_iff} (theorem), \bold{100} - \item \isacommand {undo} (command), 16 + \item \isacommand {undo} (command), \hyperpage{16} \item \isa {unfold} (method), \bold{31} - \item Unicode, 55 - \item unification, 70--73 - \item \isa {UNION} (constant), 103 + \item Unicode, \hyperpage{55} + \item unification, \hyperpage{70--73} + \item \isa {UNION} (constant), \hyperpage{103} \item \texttt {Union}, \bold{203} \item union - \subitem indexed, 102 + \subitem indexed, \hyperpage{102} \item \isa {Union_iff} (theorem), \bold{102} - \item \isa {unit} (type), 24 - \item unknowns, 7, \bold{62} + \item \isa {unit} (type), \hyperpage{24} + \item unknowns, \hyperpage{7}, \bold{62} \item unsafe rules, \bold{84} \item update - \subitem record, 153 + \subitem record, \hyperpage{153} \item updating a function, \bold{103} \indexspace - \item variables, 7 - \subitem schematic, 7 - \subitem type, 5 + \item variables, \hyperpage{7} + \subitem schematic, \hyperpage{7} + \subitem type, \hyperpage{5} \item \isa {vimage_def} (theorem), \bold{105} \indexspace - \item Wenzel, Markus, vii + \item Wenzel, Markus, \hyperpage{vii} \item \isa {wf_induct} (theorem), \bold{109} \item \isa {wf_inv_image} (theorem), \bold{109} \item \isa {wf_less_than} (theorem), \bold{108} \item \isa {wf_lex_prod} (theorem), \bold{109} \item \isa {wf_measure} (theorem), \bold{109} - \item \isa {wf_subset} (theorem), 174 - \item \isa {while} (constant), 179 - \item \isa {While_Combinator} (theory), 179 - \item \isa {while_rule} (theorem), 179 + \item \isa {wf_subset} (theorem), \hyperpage{174} + \item \isa {while} (constant), \hyperpage{179} + \item \isa {While_Combinator} (theory), \hyperpage{179} + \item \isa {while_rule} (theorem), \hyperpage{179} \indexspace - \item \isa {zadd_ac} (theorems), 147 - \item \isa {zmult_ac} (theorems), 147 + \item \isa {zadd_ac} (theorems), \hyperpage{147} + \item \isa {zmult_ac} (theorems), \hyperpage{147} \end{theindex}