author | wenzelm |
Tue, 14 Mar 2000 11:31:04 +0100 | |
changeset 8447 | 1181723cf835 |
parent 8203 | 2fcc6017cb72 |
child 8486 | 85f504900ed5 |
permissions | -rw-r--r-- |
7897 | 1 |
|
7981 | 2 |
\chapter{Isabelle/Isar Quick Reference}\label{ap:refcard} |
7897 | 3 |
|
7974 | 4 |
\section{Proof commands} |
5 |
||
6 |
\subsection{Primitives and basic syntax} |
|
7 |
||
8 |
\begin{tabular}{ll} |
|
9 |
$\FIX{x}$ & augment context by $\All x \Box$ \\ |
|
10 |
$\ASSUME{a}{\phi}$ & augment context by $\phi \Imp \Box$ \\ |
|
11 |
$\THEN$ & indicate forward chaining \\ |
|
12 |
$\HAVE{a}{\phi}$ & prove local result \\ |
|
13 |
$\SHOW{a}{\phi}$ & prove local result, establishing some goal \\ |
|
14 |
$\PROOF{m@1}~\dots~\QED{m@2}$ & apply proof methods \\ |
|
15 |
$\BG~\dots~\EN$ & declare explicit blocks \\ |
|
8447 | 16 |
$\NEXT$ & switch implicit blocks \\ |
7987 | 17 |
$\NOTE{a}{a@1\;\dots\;a@n}$ & reconsider facts \\ |
18 |
$\LET{p = t}$ & \text{abbreviate terms by higher-order matching} \\ |
|
7974 | 19 |
\end{tabular} |
20 |
||
21 |
\begin{matharray}{rcl} |
|
7987 | 22 |
theory{\dsh}stmt & = & \THEOREM{name}{prop} ~proof \\ |
23 |
& \Or & \LEMMA{name}{prop}~proof \\ |
|
7974 | 24 |
& \Or & \TYPES~\dots \Or \CONSTS~\dots \Or \DEFS~\dots \Or \dots \\[1ex] |
25 |
proof & = & \PROOF{method}~stmt^*~\QED{method} \\[1ex] |
|
26 |
stmt & = & \BG~stmt^*~\EN \\ |
|
8447 | 27 |
& \Or & \NEXT \\ |
7974 | 28 |
& \Or & \NOTE{name}{name^+} \\ |
29 |
& \Or & \LET{term = term} \\[0.5ex] |
|
30 |
& \Or & \FIX{var^+} \\ |
|
7987 | 31 |
& \Or & \ASSUME{name}{prop^+}\\ |
7974 | 32 |
& \Or & \THEN~goal{\dsh}stmt \\ |
33 |
& \Or & goal{\dsh}stmt \\ |
|
7987 | 34 |
goal{\dsh}stmt & = & \HAVE{name}{prop}~proof \\ |
35 |
& \Or & \SHOW{name}{prop}~proof \\ |
|
7974 | 36 |
\end{matharray} |
37 |
||
38 |
||
39 |
\subsection{Abbreviations and synonyms} |
|
40 |
||
41 |
\begin{matharray}{rcl} |
|
42 |
\BYY{m@1}{m@2} & \equiv & \PROOF{m@1}~\QED{m@2} \\ |
|
43 |
\DDOT & \equiv & \BY{rule} \\ |
|
8195 | 44 |
\DOT & \equiv & \BY{this} \\ |
7974 | 45 |
\HENCENAME & \equiv & \THEN~\HAVENAME \\ |
46 |
\THUSNAME & \equiv & \THEN~\SHOWNAME \\ |
|
7987 | 47 |
\FROM{a@1\;\dots\;a@n} & \equiv & \NOTE{this}{a@1\;\dots\;a@n}~\THEN \\ |
48 |
\WITH{a@1\;\dots\;a@n} & \equiv & \FROM{a@1\;\dots\;a@n~this} \\[1ex] |
|
7974 | 49 |
\FROM{this} & \equiv & \THEN \\ |
50 |
\FROM{this}~\HAVENAME & \equiv & \HENCENAME \\ |
|
51 |
\FROM{this}~\SHOWNAME & \equiv & \THUSNAME \\ |
|
52 |
\end{matharray} |
|
53 |
||
54 |
||
55 |
\subsection{Derived elements} |
|
56 |
||
57 |
\begin{matharray}{rcl} |
|
58 |
\ALSO@0 & \approx & \NOTE{calculation}{this} \\ |
|
59 |
\ALSO@{n+1} & \approx & \NOTE{calculation}{trans~[OF~calculation~this]} \\ |
|
60 |
\FINALLY & \approx & \ALSO~\FROM{calculation} \\ |
|
61 |
\PRESUME{a}{\phi} & \approx & \ASSUME{a}{\phi} \\ |
|
62 |
\DEF{a}{x \equiv t} & \approx & \FIX{x}~\ASSUME{a}{x \equiv t} \\ |
|
8447 | 63 |
\CASE{c} & & \text{invoke named context} \\ |
64 |
\SORRY & & \text{fake proof} \\ |
|
7974 | 65 |
\end{matharray} |
66 |
||
67 |
||
68 |
\subsection{Diagnostic commands} |
|
69 |
||
70 |
\begin{matharray}{ll} |
|
8447 | 71 |
\isarkeyword{thm}~a@1\;\dots\;a@n & \text{print theorems} \\ |
72 |
\isarkeyword{term}~t & \text{print term} \\ |
|
73 |
\isarkeyword{prop}~\phi & \text{print meta-level proposition} \\ |
|
74 |
\isarkeyword{typ}~\tau & \text{print meta-level type} \\ |
|
75 |
\isarkeyword{print_facts} & \text{print named facts} \\ |
|
76 |
\isarkeyword{print_binds} & \text{print term abbreviations} \\ |
|
77 |
\isarkeyword{print_cases} & \text{print named cases} \\ |
|
7974 | 78 |
\end{matharray} |
79 |
||
80 |
||
81 |
\section{Proof methods} |
|
82 |
||
83 |
\begin{tabular}{ll} |
|
7976 | 84 |
\multicolumn{2}{l}{\textbf{Single steps (forward-chaining facts)}} \\[0.5ex] |
7987 | 85 |
$assumption$ & apply some assumption \\ |
8195 | 86 |
$this$ & apply current facts \\ |
7987 | 87 |
$rule~a@1\;\dots\;a@n$ & apply some rule \\ |
7974 | 88 |
$rule$ & apply standard rule (default for $\PROOFNAME$) \\ |
8447 | 89 |
$contradiction$ & apply $\neg{}$ elimination rule (any order) \\ |
90 |
$cases~x$ & case analysis (emits named cases) \\ |
|
91 |
$induct~x$ & proof by induction (emits named cases) \\[2ex] |
|
7974 | 92 |
|
7976 | 93 |
\multicolumn{2}{l}{\textbf{Repeated steps (inserting facts)}} \\[0.5ex] |
7974 | 94 |
$-$ & \text{no rules} \\ |
7987 | 95 |
$intro~a@1\;\dots\;a@n$ & \text{introduction rules} \\ |
96 |
$elim~a@1\;\dots\;a@n$ & \text{elimination rules} \\ |
|
97 |
$unfold~a@1\;\dots\;a@n$ & \text{definitions} \\[2ex] |
|
7974 | 98 |
|
99 |
\multicolumn{2}{l}{\textbf{Automated proof tools (inserting facts, or even prems!)}} \\[0.5ex] |
|
100 |
$simp$ & Simplifier \\ |
|
7987 | 101 |
$blast$, $fast$ & Classical Reasoner \\ |
102 |
$force$, $auto$ & Simplifier + Classical Reasoner \\ |
|
7974 | 103 |
$arith$ & Arithmetic procedure \\ |
104 |
\end{tabular} |
|
105 |
||
106 |
||
107 |
\section{Attributes} |
|
108 |
||
109 |
\begin{tabular}{ll} |
|
110 |
\multicolumn{2}{l}{\textbf{Modify rules}} \\[0.5ex] |
|
7987 | 111 |
$OF~a@1\;\dots\;a@n$ & apply rule to facts (skipping ``$_$'') \\ |
112 |
$of~t@1\;\dots\;t@n$ & apply rule to terms (skipping ``$_$'') \\ |
|
7976 | 113 |
$RS~b$ & resolve fact with rule \\ |
7974 | 114 |
$standard$ & put into standard result form \\ |
7976 | 115 |
$rulify$ & put into object-rule form \\ |
7974 | 116 |
$elimify$ & put destruction rule into elimination form \\[1ex] |
117 |
||
118 |
\multicolumn{2}{l}{\textbf{Modify context}} \\[0.5ex] |
|
119 |
$simp$ & declare Simplifier rules \\ |
|
8203
2fcc6017cb72
intro/elim/dest attributes: changed ! / !! flags to ? / ??;
wenzelm
parents:
8195
diff
changeset
|
120 |
$intro$, $elim$, $dest$ & declare Classical Reasoner rules (also ``?'' or ``??'') \\ |
7987 | 121 |
$iff$ & declare Simplifier + Classical Reasoner rules \\ |
122 |
$trans$ & declare calculational rules (general transitivity) \\ |
|
7974 | 123 |
\end{tabular} |
124 |
||
7897 | 125 |
%%% Local Variables: |
126 |
%%% mode: latex |
|
127 |
%%% TeX-master: "isar-ref" |
|
128 |
%%% End: |