author | wenzelm |
Sat, 03 May 2008 13:26:08 +0200 | |
changeset 26779 | 35809287ab23 |
child 26780 | de781c5c48c1 |
permissions | -rw-r--r-- |
wenzelm@26779 | 1 |
% |
wenzelm@26779 | 2 |
\begin{isabellebody}% |
wenzelm@26779 | 3 |
\def\isabellecontext{Quick{\isacharunderscore}Reference}% |
wenzelm@26779 | 4 |
% |
wenzelm@26779 | 5 |
\isadelimtheory |
wenzelm@26779 | 6 |
\isanewline |
wenzelm@26779 | 7 |
\isanewline |
wenzelm@26779 | 8 |
% |
wenzelm@26779 | 9 |
\endisadelimtheory |
wenzelm@26779 | 10 |
% |
wenzelm@26779 | 11 |
\isatagtheory |
wenzelm@26779 | 12 |
\isacommand{theory}\isamarkupfalse% |
wenzelm@26779 | 13 |
\ Quick{\isacharunderscore}Reference\isanewline |
wenzelm@26779 | 14 |
\isakeyword{imports}\ Main\isanewline |
wenzelm@26779 | 15 |
\isakeyword{begin}% |
wenzelm@26779 | 16 |
\endisatagtheory |
wenzelm@26779 | 17 |
{\isafoldtheory}% |
wenzelm@26779 | 18 |
% |
wenzelm@26779 | 19 |
\isadelimtheory |
wenzelm@26779 | 20 |
% |
wenzelm@26779 | 21 |
\endisadelimtheory |
wenzelm@26779 | 22 |
% |
wenzelm@26779 | 23 |
\isamarkupchapter{Isabelle/Isar quick reference \label{ap:refcard}% |
wenzelm@26779 | 24 |
} |
wenzelm@26779 | 25 |
\isamarkuptrue% |
wenzelm@26779 | 26 |
% |
wenzelm@26779 | 27 |
\isamarkupsection{Proof commands% |
wenzelm@26779 | 28 |
} |
wenzelm@26779 | 29 |
\isamarkuptrue% |
wenzelm@26779 | 30 |
% |
wenzelm@26779 | 31 |
\isamarkupsubsection{Primitives and basic syntax% |
wenzelm@26779 | 32 |
} |
wenzelm@26779 | 33 |
\isamarkuptrue% |
wenzelm@26779 | 34 |
% |
wenzelm@26779 | 35 |
\begin{isamarkuptext}% |
wenzelm@26779 | 36 |
\begin{tabular}{ll} |
wenzelm@26779 | 37 |
\mbox{\isa{\isacommand{fix}}}~\isa{x} & augment context by \isa{{\isasymAnd}x{\isachardot}\ {\isasymbox}} \\ |
wenzelm@26779 | 38 |
\mbox{\isa{\isacommand{assume}}}~\isa{a{\isacharcolon}\ {\isasymphi}} & augment context by \isa{{\isasymphi}\ {\isasymLongrightarrow}\ {\isasymbox}} \\ |
wenzelm@26779 | 39 |
\mbox{\isa{\isacommand{then}}} & indicate forward chaining of facts \\ |
wenzelm@26779 | 40 |
\mbox{\isa{\isacommand{have}}}~\isa{a{\isacharcolon}\ {\isasymphi}} & prove local result \\ |
wenzelm@26779 | 41 |
\mbox{\isa{\isacommand{show}}}~\isa{a{\isacharcolon}\ {\isasymphi}} & prove local result, refining some goal \\ |
wenzelm@26779 | 42 |
\mbox{\isa{\isacommand{using}}}~\isa{a} & indicate use of additional facts \\ |
wenzelm@26779 | 43 |
\mbox{\isa{\isacommand{unfolding}}}~\isa{a} & unfold definitional equations \\ |
wenzelm@26779 | 44 |
\mbox{\isa{\isacommand{proof}}}~\isa{m\isactrlsub {\isadigit{1}}}~\dots~\mbox{\isa{\isacommand{qed}}}~\isa{m\isactrlsub {\isadigit{2}}} & indicate proof structure and refinements \\ |
wenzelm@26779 | 45 |
\mbox{\isa{\isacommand{{\isacharbraceleft}}}}~\dots~\mbox{\isa{\isacommand{{\isacharbraceright}}}} & indicate explicit blocks \\ |
wenzelm@26779 | 46 |
\mbox{\isa{\isacommand{next}}} & switch blocks \\ |
wenzelm@26779 | 47 |
\mbox{\isa{\isacommand{note}}}~\isa{a\ {\isacharequal}\ b} & reconsider facts \\ |
wenzelm@26779 | 48 |
\mbox{\isa{\isacommand{let}}}~\isa{p\ {\isacharequal}\ t} & abbreviate terms by higher-order matching \\ |
wenzelm@26779 | 49 |
\end{tabular} |
wenzelm@26779 | 50 |
|
wenzelm@26779 | 51 |
\begin{matharray}{rcl} |
wenzelm@26779 | 52 |
\isa{theory{\isasymdash}stmt} & = & \mbox{\isa{\isacommand{theorem}}}~\isa{name{\isacharcolon}\ prop\ proof} \Or \mbox{\isa{\isacommand{definition}}}~\dots \Or \dots \\[1ex] |
wenzelm@26779 | 53 |
\isa{proof} & = & \isa{prfx\isactrlsup {\isacharasterisk}}~\mbox{\isa{\isacommand{proof}}}~\isa{method\ stmt\isactrlsup {\isacharasterisk}}~\mbox{\isa{\isacommand{qed}}}~\isa{method} \\ |
wenzelm@26779 | 54 |
& \Or & \isa{prfx\isactrlsup {\isacharasterisk}}~\mbox{\isa{\isacommand{done}}} \\[1ex] |
wenzelm@26779 | 55 |
\isa{prfx} & = & \mbox{\isa{\isacommand{apply}}}~\isa{method} \\ |
wenzelm@26779 | 56 |
& \Or & \mbox{\isa{\isacommand{using}}}~\isa{name\isactrlsup {\isacharplus}} \\ |
wenzelm@26779 | 57 |
& \Or & \mbox{\isa{\isacommand{unfolding}}}~\isa{name\isactrlsup {\isacharplus}} \\ |
wenzelm@26779 | 58 |
\isa{stmt} & = & \mbox{\isa{\isacommand{{\isacharbraceleft}}}}~\isa{stmt\isactrlsup {\isacharasterisk}}~\mbox{\isa{\isacommand{{\isacharbraceright}}}} \\ |
wenzelm@26779 | 59 |
& \Or & \mbox{\isa{\isacommand{next}}} \\ |
wenzelm@26779 | 60 |
& \Or & \mbox{\isa{\isacommand{note}}}~\isa{name\ {\isacharequal}\ name\isactrlsup {\isacharplus}} \\ |
wenzelm@26779 | 61 |
& \Or & \mbox{\isa{\isacommand{let}}}~\isa{term\ {\isacharequal}\ term} \\ |
wenzelm@26779 | 62 |
& \Or & \mbox{\isa{\isacommand{fix}}}~\isa{var\isactrlsup {\isacharplus}} \\ |
wenzelm@26779 | 63 |
& \Or & \mbox{\isa{\isacommand{assume}}}~\isa{name{\isacharcolon}\ prop\isactrlsup {\isacharplus}} \\ |
wenzelm@26779 | 64 |
& \Or & \mbox{\isa{\isacommand{then}}}\isa{\isactrlsup {\isacharquery}}~\isa{goal} \\ |
wenzelm@26779 | 65 |
\isa{goal} & = & \mbox{\isa{\isacommand{have}}}~\isa{name{\isacharcolon}\ prop\isactrlsup {\isacharplus}\ proof} \\ |
wenzelm@26779 | 66 |
& \Or & \mbox{\isa{\isacommand{show}}}~\isa{name{\isacharcolon}\ prop\isactrlsup {\isacharplus}\ proof} \\ |
wenzelm@26779 | 67 |
\end{matharray}% |
wenzelm@26779 | 68 |
\end{isamarkuptext}% |
wenzelm@26779 | 69 |
\isamarkuptrue% |
wenzelm@26779 | 70 |
% |
wenzelm@26779 | 71 |
\isamarkupsubsection{Abbreviations and synonyms% |
wenzelm@26779 | 72 |
} |
wenzelm@26779 | 73 |
\isamarkuptrue% |
wenzelm@26779 | 74 |
% |
wenzelm@26779 | 75 |
\begin{isamarkuptext}% |
wenzelm@26779 | 76 |
\begin{matharray}{rcl} |
wenzelm@26779 | 77 |
\mbox{\isa{\isacommand{by}}}~\isa{m\isactrlsub {\isadigit{1}}\ m\isactrlsub {\isadigit{2}}} & \equiv & \mbox{\isa{\isacommand{proof}}}~\isa{m\isactrlsub {\isadigit{1}}}~\mbox{\isa{\isacommand{qed}}}~\isa{m\isactrlsub {\isadigit{2}}} \\ |
wenzelm@26779 | 78 |
\mbox{\isa{\isacommand{{\isachardot}{\isachardot}}}} & \equiv & \mbox{\isa{\isacommand{by}}}~\isa{rule} \\ |
wenzelm@26779 | 79 |
\mbox{\isa{\isacommand{{\isachardot}}}} & \equiv & \mbox{\isa{\isacommand{by}}}~\isa{this} \\ |
wenzelm@26779 | 80 |
\mbox{\isa{\isacommand{hence}}} & \equiv & \mbox{\isa{\isacommand{then}}}~\mbox{\isa{\isacommand{have}}} \\ |
wenzelm@26779 | 81 |
\mbox{\isa{\isacommand{thus}}} & \equiv & \mbox{\isa{\isacommand{then}}}~\mbox{\isa{\isacommand{show}}} \\ |
wenzelm@26779 | 82 |
\mbox{\isa{\isacommand{from}}}~\isa{a} & \equiv & \mbox{\isa{\isacommand{note}}}~\isa{a}~\mbox{\isa{\isacommand{then}}} \\ |
wenzelm@26779 | 83 |
\mbox{\isa{\isacommand{with}}}~\isa{a} & \equiv & \mbox{\isa{\isacommand{from}}}~\isa{a\ {\isasymAND}\ this} \\[1ex] |
wenzelm@26779 | 84 |
\mbox{\isa{\isacommand{from}}}~\isa{this} & \equiv & \mbox{\isa{\isacommand{then}}} \\ |
wenzelm@26779 | 85 |
\mbox{\isa{\isacommand{from}}}~\isa{this}~\mbox{\isa{\isacommand{have}}} & \equiv & \mbox{\isa{\isacommand{hence}}} \\ |
wenzelm@26779 | 86 |
\mbox{\isa{\isacommand{from}}}~\isa{this}~\mbox{\isa{\isacommand{show}}} & \equiv & \mbox{\isa{\isacommand{thus}}} \\ |
wenzelm@26779 | 87 |
\end{matharray}% |
wenzelm@26779 | 88 |
\end{isamarkuptext}% |
wenzelm@26779 | 89 |
\isamarkuptrue% |
wenzelm@26779 | 90 |
% |
wenzelm@26779 | 91 |
\isamarkupsubsection{Derived elements% |
wenzelm@26779 | 92 |
} |
wenzelm@26779 | 93 |
\isamarkuptrue% |
wenzelm@26779 | 94 |
% |
wenzelm@26779 | 95 |
\begin{isamarkuptext}% |
wenzelm@26779 | 96 |
\begin{matharray}{rcl} |
wenzelm@26779 | 97 |
\mbox{\isa{\isacommand{also}}}\isa{\isactrlsub {\isadigit{0}}} & \approx & \mbox{\isa{\isacommand{note}}}~\isa{calculation\ {\isacharequal}\ this} \\ |
wenzelm@26779 | 98 |
\mbox{\isa{\isacommand{also}}}\isa{\isactrlsub n\isactrlsub {\isacharplus}\isactrlsub {\isadigit{1}}} & \approx & \mbox{\isa{\isacommand{note}}}~\isa{calculation\ {\isacharequal}\ trans\ {\isacharbrackleft}OF\ calculation\ this{\isacharbrackright}} \\ |
wenzelm@26779 | 99 |
\mbox{\isa{\isacommand{finally}}} & \approx & \mbox{\isa{\isacommand{also}}}~\mbox{\isa{\isacommand{from}}}~\isa{calculation} \\[0.5ex] |
wenzelm@26779 | 100 |
\mbox{\isa{\isacommand{moreover}}} & \approx & \mbox{\isa{\isacommand{note}}}~\isa{calculation\ {\isacharequal}\ calculation\ this} \\ |
wenzelm@26779 | 101 |
\mbox{\isa{\isacommand{ultimately}}} & \approx & \mbox{\isa{\isacommand{moreover}}}~\mbox{\isa{\isacommand{from}}}~\isa{calculation} \\[0.5ex] |
wenzelm@26779 | 102 |
\mbox{\isa{\isacommand{presume}}}~\isa{a{\isacharcolon}\ {\isasymphi}} & \approx & \mbox{\isa{\isacommand{assume}}}~\isa{a{\isacharcolon}\ {\isasymphi}} \\ |
wenzelm@26779 | 103 |
\mbox{\isa{\isacommand{def}}}~\isa{a{\isacharcolon}\ x\ {\isasymequiv}\ t} & \approx & \mbox{\isa{\isacommand{fix}}}~\isa{x}~\mbox{\isa{\isacommand{assume}}}~\isa{a{\isacharcolon}\ x\ {\isasymequiv}\ t} \\ |
wenzelm@26779 | 104 |
\mbox{\isa{\isacommand{obtain}}}~\isa{x\ {\isasymWHERE}\ a{\isacharcolon}\ {\isasymphi}} & \approx & \dots~\mbox{\isa{\isacommand{fix}}}~\isa{x}~\mbox{\isa{\isacommand{assume}}}~\isa{a{\isacharcolon}\ {\isasymphi}} \\ |
wenzelm@26779 | 105 |
\mbox{\isa{\isacommand{case}}}~\isa{c} & \approx & \mbox{\isa{\isacommand{fix}}}~\isa{x}~\mbox{\isa{\isacommand{assume}}}~\isa{c{\isacharcolon}\ {\isasymphi}} \\ |
wenzelm@26779 | 106 |
\mbox{\isa{\isacommand{sorry}}} & \approx & \mbox{\isa{\isacommand{by}}}~\isa{cheating} \\ |
wenzelm@26779 | 107 |
\end{matharray}% |
wenzelm@26779 | 108 |
\end{isamarkuptext}% |
wenzelm@26779 | 109 |
\isamarkuptrue% |
wenzelm@26779 | 110 |
% |
wenzelm@26779 | 111 |
\isamarkupsubsection{Diagnostic commands% |
wenzelm@26779 | 112 |
} |
wenzelm@26779 | 113 |
\isamarkuptrue% |
wenzelm@26779 | 114 |
% |
wenzelm@26779 | 115 |
\begin{isamarkuptext}% |
wenzelm@26779 | 116 |
\begin{tabular}{ll} |
wenzelm@26779 | 117 |
\mbox{\isa{\isacommand{pr}}} & print current state \\ |
wenzelm@26779 | 118 |
\mbox{\isa{\isacommand{thm}}}~\isa{a} & print fact \\ |
wenzelm@26779 | 119 |
\mbox{\isa{\isacommand{term}}}~\isa{t} & print term \\ |
wenzelm@26779 | 120 |
\mbox{\isa{\isacommand{prop}}}~\isa{{\isasymphi}} & print meta-level proposition \\ |
wenzelm@26779 | 121 |
\mbox{\isa{\isacommand{typ}}}~\isa{{\isasymtau}} & print meta-level type \\ |
wenzelm@26779 | 122 |
\end{tabular}% |
wenzelm@26779 | 123 |
\end{isamarkuptext}% |
wenzelm@26779 | 124 |
\isamarkuptrue% |
wenzelm@26779 | 125 |
% |
wenzelm@26779 | 126 |
\isamarkupsection{Proof methods% |
wenzelm@26779 | 127 |
} |
wenzelm@26779 | 128 |
\isamarkuptrue% |
wenzelm@26779 | 129 |
% |
wenzelm@26779 | 130 |
\begin{isamarkuptext}% |
wenzelm@26779 | 131 |
\begin{tabular}{ll} |
wenzelm@26779 | 132 |
\multicolumn{2}{l}{\textbf{Single steps (forward-chaining facts)}} \\[0.5ex] |
wenzelm@26779 | 133 |
\mbox{\isa{assumption}} & apply some assumption \\ |
wenzelm@26779 | 134 |
\mbox{\isa{this}} & apply current facts \\ |
wenzelm@26779 | 135 |
\mbox{\isa{rule}}~\isa{a} & apply some rule \\ |
wenzelm@26779 | 136 |
\mbox{\isa{rule}} & apply standard rule (default for \mbox{\isa{\isacommand{proof}}}) \\ |
wenzelm@26779 | 137 |
\mbox{\isa{contradiction}} & apply \isa{{\isasymnot}} elimination rule (any order) \\ |
wenzelm@26779 | 138 |
\mbox{\isa{cases}}~\isa{t} & case analysis (provides cases) \\ |
wenzelm@26779 | 139 |
\mbox{\isa{induct}}~\isa{x} & proof by induction (provides cases) \\[2ex] |
wenzelm@26779 | 140 |
|
wenzelm@26779 | 141 |
\multicolumn{2}{l}{\textbf{Repeated steps (inserting facts)}} \\[0.5ex] |
wenzelm@26779 | 142 |
\mbox{\isa{{\isacharminus}}} & no rules \\ |
wenzelm@26779 | 143 |
\mbox{\isa{intro}}~\isa{a} & introduction rules \\ |
wenzelm@26779 | 144 |
\mbox{\isa{intro{\isacharunderscore}classes}} & class introduction rules \\ |
wenzelm@26779 | 145 |
\mbox{\isa{elim}}~\isa{a} & elimination rules \\ |
wenzelm@26779 | 146 |
\mbox{\isa{unfold}}~\isa{a} & definitional rewrite rules \\[2ex] |
wenzelm@26779 | 147 |
|
wenzelm@26779 | 148 |
\multicolumn{2}{l}{\textbf{Automated proof tools (inserting facts)}} \\[0.5ex] |
wenzelm@26779 | 149 |
\mbox{\isa{iprover}} & intuitionistic proof search \\ |
wenzelm@26779 | 150 |
\mbox{\isa{blast}}, \mbox{\isa{fast}} & Classical Reasoner \\ |
wenzelm@26779 | 151 |
\mbox{\isa{simp}}, \mbox{\isa{simp{\isacharunderscore}all}} & Simplifier (+ Splitter) \\ |
wenzelm@26779 | 152 |
\mbox{\isa{auto}}, \mbox{\isa{force}} & Simplifier + Classical Reasoner \\ |
wenzelm@26779 | 153 |
\mbox{\isa{arith}} & Arithmetic procedures \\ |
wenzelm@26779 | 154 |
\end{tabular}% |
wenzelm@26779 | 155 |
\end{isamarkuptext}% |
wenzelm@26779 | 156 |
\isamarkuptrue% |
wenzelm@26779 | 157 |
% |
wenzelm@26779 | 158 |
\isamarkupsection{Attributes% |
wenzelm@26779 | 159 |
} |
wenzelm@26779 | 160 |
\isamarkuptrue% |
wenzelm@26779 | 161 |
% |
wenzelm@26779 | 162 |
\begin{isamarkuptext}% |
wenzelm@26779 | 163 |
\begin{tabular}{ll} |
wenzelm@26779 | 164 |
\multicolumn{2}{l}{\textbf{Operations}} \\[0.5ex] |
wenzelm@26779 | 165 |
\mbox{\isa{OF}}~\isa{a} & rule resolved with facts (skipping ``\isa{{\isacharunderscore}}'') \\ |
wenzelm@26779 | 166 |
\mbox{\isa{of}}~\isa{t} & rule instantiated with terms (skipping ``\isa{{\isacharunderscore}}'') \\ |
wenzelm@26779 | 167 |
\mbox{\isa{where}}~\isa{x\ {\isacharequal}\ t} & rule instantiated with terms, by variable name \\ |
wenzelm@26779 | 168 |
\mbox{\isa{symmetric}} & resolution with symmetry rule \\ |
wenzelm@26779 | 169 |
\mbox{\isa{THEN}}~\isa{b} & resolution with another rule \\ |
wenzelm@26779 | 170 |
\mbox{\isa{rule{\isacharunderscore}format}} & result put into standard rule format \\ |
wenzelm@26779 | 171 |
\mbox{\isa{elim{\isacharunderscore}format}} & destruct rule turned into elimination rule format \\[1ex] |
wenzelm@26779 | 172 |
|
wenzelm@26779 | 173 |
\multicolumn{2}{l}{\textbf{Declarations}} \\[0.5ex] |
wenzelm@26779 | 174 |
\mbox{\isa{simp}} & Simplifier rule \\ |
wenzelm@26779 | 175 |
\mbox{\isa{intro}}, \mbox{\isa{elim}}, \mbox{\isa{dest}} & Pure or Classical Reasoner rule \\ |
wenzelm@26779 | 176 |
\mbox{\isa{iff}} & Simplifier + Classical Reasoner rule \\ |
wenzelm@26779 | 177 |
\mbox{\isa{split}} & case split rule \\ |
wenzelm@26779 | 178 |
\mbox{\isa{trans}} & transitivity rule \\ |
wenzelm@26779 | 179 |
\mbox{\isa{sym}} & symmetry rule \\ |
wenzelm@26779 | 180 |
\end{tabular}% |
wenzelm@26779 | 181 |
\end{isamarkuptext}% |
wenzelm@26779 | 182 |
\isamarkuptrue% |
wenzelm@26779 | 183 |
% |
wenzelm@26779 | 184 |
\isamarkupsection{Rule declarations and methods% |
wenzelm@26779 | 185 |
} |
wenzelm@26779 | 186 |
\isamarkuptrue% |
wenzelm@26779 | 187 |
% |
wenzelm@26779 | 188 |
\begin{isamarkuptext}% |
wenzelm@26779 | 189 |
\begin{tabular}{l|lllll} |
wenzelm@26779 | 190 |
& \mbox{\isa{rule}} & \mbox{\isa{iprover}} & \mbox{\isa{blast}} & \mbox{\isa{simp}} & \mbox{\isa{auto}} \\ |
wenzelm@26779 | 191 |
& & & \mbox{\isa{fast}} & \mbox{\isa{simp{\isacharunderscore}all}} & \mbox{\isa{force}} \\ |
wenzelm@26779 | 192 |
\hline |
wenzelm@26779 | 193 |
\mbox{\isa{Pure{\isachardot}elim}}\isa{{\isacharbang}} \mbox{\isa{Pure{\isachardot}intro}}\isa{{\isacharbang}} |
wenzelm@26779 | 194 |
& \isa{{\isasymtimes}} & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 195 |
\mbox{\isa{Pure{\isachardot}elim}} \mbox{\isa{Pure{\isachardot}intro}} |
wenzelm@26779 | 196 |
& \isa{{\isasymtimes}} & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 197 |
\mbox{\isa{elim}}\isa{{\isacharbang}} \mbox{\isa{intro}}\isa{{\isacharbang}} |
wenzelm@26779 | 198 |
& \isa{{\isasymtimes}} & & \isa{{\isasymtimes}} & & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 199 |
\mbox{\isa{elim}} \mbox{\isa{intro}} |
wenzelm@26779 | 200 |
& \isa{{\isasymtimes}} & & \isa{{\isasymtimes}} & & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 201 |
\mbox{\isa{iff}} |
wenzelm@26779 | 202 |
& \isa{{\isasymtimes}} & & \isa{{\isasymtimes}} & \isa{{\isasymtimes}} & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 203 |
\mbox{\isa{iff}}\isa{{\isacharquery}} |
wenzelm@26779 | 204 |
& \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 205 |
\mbox{\isa{elim}}\isa{{\isacharquery}} \mbox{\isa{intro}}\isa{{\isacharquery}} |
wenzelm@26779 | 206 |
& \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 207 |
\mbox{\isa{simp}} |
wenzelm@26779 | 208 |
& & & & \isa{{\isasymtimes}} & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 209 |
\mbox{\isa{cong}} |
wenzelm@26779 | 210 |
& & & & \isa{{\isasymtimes}} & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 211 |
\mbox{\isa{split}} |
wenzelm@26779 | 212 |
& & & & \isa{{\isasymtimes}} & \isa{{\isasymtimes}} \\ |
wenzelm@26779 | 213 |
\end{tabular}% |
wenzelm@26779 | 214 |
\end{isamarkuptext}% |
wenzelm@26779 | 215 |
\isamarkuptrue% |
wenzelm@26779 | 216 |
% |
wenzelm@26779 | 217 |
\isamarkupsection{Emulating tactic scripts% |
wenzelm@26779 | 218 |
} |
wenzelm@26779 | 219 |
\isamarkuptrue% |
wenzelm@26779 | 220 |
% |
wenzelm@26779 | 221 |
\isamarkupsubsection{Commands% |
wenzelm@26779 | 222 |
} |
wenzelm@26779 | 223 |
\isamarkuptrue% |
wenzelm@26779 | 224 |
% |
wenzelm@26779 | 225 |
\begin{isamarkuptext}% |
wenzelm@26779 | 226 |
\begin{tabular}{ll} |
wenzelm@26779 | 227 |
\mbox{\isa{\isacommand{apply}}}~\isa{m} & apply proof method at initial position \\ |
wenzelm@26779 | 228 |
\mbox{\isa{\isacommand{apply{\isacharunderscore}end}}}~\isa{m} & apply proof method near terminal position \\ |
wenzelm@26779 | 229 |
\mbox{\isa{\isacommand{done}}} & complete proof \\ |
wenzelm@26779 | 230 |
\mbox{\isa{\isacommand{defer}}}~\isa{n} & move subgoal to end \\ |
wenzelm@26779 | 231 |
\mbox{\isa{\isacommand{prefer}}}~\isa{n} & move subgoal to beginning \\ |
wenzelm@26779 | 232 |
\mbox{\isa{\isacommand{back}}} & backtrack last command \\ |
wenzelm@26779 | 233 |
\end{tabular}% |
wenzelm@26779 | 234 |
\end{isamarkuptext}% |
wenzelm@26779 | 235 |
\isamarkuptrue% |
wenzelm@26779 | 236 |
% |
wenzelm@26779 | 237 |
\isamarkupsubsection{Methods% |
wenzelm@26779 | 238 |
} |
wenzelm@26779 | 239 |
\isamarkuptrue% |
wenzelm@26779 | 240 |
% |
wenzelm@26779 | 241 |
\begin{isamarkuptext}% |
wenzelm@26779 | 242 |
\begin{tabular}{ll} |
wenzelm@26779 | 243 |
\mbox{\isa{rule{\isacharunderscore}tac}}~\isa{insts} & resolution (with instantiation) \\ |
wenzelm@26779 | 244 |
\mbox{\isa{erule{\isacharunderscore}tac}}~\isa{insts} & elim-resolution (with instantiation) \\ |
wenzelm@26779 | 245 |
\mbox{\isa{drule{\isacharunderscore}tac}}~\isa{insts} & destruct-resolution (with instantiation) \\ |
wenzelm@26779 | 246 |
\mbox{\isa{frule{\isacharunderscore}tac}}~\isa{insts} & forward-resolution (with instantiation) \\ |
wenzelm@26779 | 247 |
\mbox{\isa{cut{\isacharunderscore}tac}}~\isa{insts} & insert facts (with instantiation) \\ |
wenzelm@26779 | 248 |
\mbox{\isa{thin{\isacharunderscore}tac}}~\isa{{\isasymphi}} & delete assumptions \\ |
wenzelm@26779 | 249 |
\mbox{\isa{subgoal{\isacharunderscore}tac}}~\isa{{\isasymphi}} & new claims \\ |
wenzelm@26779 | 250 |
\mbox{\isa{rename{\isacharunderscore}tac}}~\isa{x} & rename innermost goal parameters \\ |
wenzelm@26779 | 251 |
\mbox{\isa{rotate{\isacharunderscore}tac}}~\isa{n} & rotate assumptions of goal \\ |
wenzelm@26779 | 252 |
\mbox{\isa{tactic}}~\isa{text} & arbitrary ML tactic \\ |
wenzelm@26779 | 253 |
\mbox{\isa{case{\isacharunderscore}tac}}~\isa{t} & exhaustion (datatypes) \\ |
wenzelm@26779 | 254 |
\mbox{\isa{induct{\isacharunderscore}tac}}~\isa{x} & induction (datatypes) \\ |
wenzelm@26779 | 255 |
\mbox{\isa{ind{\isacharunderscore}cases}}~\isa{t} & exhaustion + simplification (inductive predicates) \\ |
wenzelm@26779 | 256 |
\end{tabular}% |
wenzelm@26779 | 257 |
\end{isamarkuptext}% |
wenzelm@26779 | 258 |
\isamarkuptrue% |
wenzelm@26779 | 259 |
% |
wenzelm@26779 | 260 |
\isadelimtheory |
wenzelm@26779 | 261 |
% |
wenzelm@26779 | 262 |
\endisadelimtheory |
wenzelm@26779 | 263 |
% |
wenzelm@26779 | 264 |
\isatagtheory |
wenzelm@26779 | 265 |
\isacommand{end}\isamarkupfalse% |
wenzelm@26779 | 266 |
% |
wenzelm@26779 | 267 |
\endisatagtheory |
wenzelm@26779 | 268 |
{\isafoldtheory}% |
wenzelm@26779 | 269 |
% |
wenzelm@26779 | 270 |
\isadelimtheory |
wenzelm@26779 | 271 |
% |
wenzelm@26779 | 272 |
\endisadelimtheory |
wenzelm@26779 | 273 |
\isanewline |
wenzelm@26779 | 274 |
\end{isabellebody}% |
wenzelm@26779 | 275 |
%%% Local Variables: |
wenzelm@26779 | 276 |
%%% mode: latex |
wenzelm@26779 | 277 |
%%% TeX-master: "root" |
wenzelm@26779 | 278 |
%%% End: |