171 results in \isa{{\isasymlbrakk}P{\isacharsemicolon}\ Q{\isasymrbrakk}\ {\isasymLongrightarrow}\ P\ {\isasymand}\ Q}. |
171 results in \isa{{\isasymlbrakk}P{\isacharsemicolon}\ Q{\isasymrbrakk}\ {\isasymLongrightarrow}\ P\ {\isasymand}\ Q}. |
172 |
172 |
173 This \verb!no_vars! business can become a bit tedious. |
173 This \verb!no_vars! business can become a bit tedious. |
174 If you would rather never see question marks, simply put |
174 If you would rather never see question marks, simply put |
175 \begin{verbatim} |
175 \begin{verbatim} |
176 reset show_question_marks; |
176 show_question_marks := false; |
177 \end{verbatim} |
177 \end{verbatim} |
178 at the beginning of your file \texttt{ROOT.ML}. |
178 at the beginning of your file \texttt{ROOT.ML}. |
179 The rest of this document is produced with this flag reset. |
179 The rest of this document is produced with this flag set to \texttt{false}. |
180 |
180 |
181 Hint: Resetting \verb!show_question_marks! only suppresses question |
181 Hint: Setting \verb!show_question_marks! to \texttt{false} only |
182 marks; variables that end in digits, e.g. \isa{x{\isadigit{1}}}, are still |
182 suppresses question marks; variables that end in digits, |
183 printed with a trailing \isa{{\isachardot}{\isadigit{0}}}, e.g. \isa{x{\isadigit{1}}{\isachardot}{\isadigit{0}}}, their |
183 e.g. \isa{x{\isadigit{1}}}, are still printed with a trailing \isa{{\isachardot}{\isadigit{0}}}, |
184 internal index. This can be avoided by turning the last digit into a |
184 e.g. \isa{x{\isadigit{1}}{\isachardot}{\isadigit{0}}}, their internal index. This can be avoided by |
185 subscript: write \verb!x\<^isub>1! and obtain the much nicer \isa{x\isactrlisub {\isadigit{1}}}.% |
185 turning the last digit into a subscript: write \verb!x\<^isub>1! and |
|
186 obtain the much nicer \isa{x\isactrlisub {\isadigit{1}}}.% |
186 \end{isamarkuptext}% |
187 \end{isamarkuptext}% |
187 \isamarkuptrue% |
188 \isamarkuptrue% |
188 % |
189 % |
189 \isadelimML |
190 \isadelimML |
190 % |
191 % |
535 \end{center} |
536 \end{center} |
536 is produced by the following code: |
537 is produced by the following code: |
537 \begin{quote} |
538 \begin{quote} |
538 \verb!\begin{center}!\\ |
539 \verb!\begin{center}!\\ |
539 \verb!\begin{tabular}{l@ {~~!\verb!@!\verb!{text "="}~~}l}!\\ |
540 \verb!\begin{tabular}{l@ {~~!\verb!@!\verb!{text "="}~~}l}!\\ |
540 \verb!@!\verb!{thm (lhs) foldl_Nil} & @!\verb!{thm (rhs) foldl_Nil}!\\ |
541 \verb!@!\verb!{thm (lhs) foldl_Nil} & @!\verb!{thm (rhs) foldl_Nil}\\!\\ |
541 \verb!@!\verb!{thm (lhs) foldl_Cons} & @!\verb!{thm (rhs) foldl_Cons}!\\ |
542 \verb!@!\verb!{thm (lhs) foldl_Cons} & @!\verb!{thm (rhs) foldl_Cons}!\\ |
542 \verb!\end{tabular}!\\ |
543 \verb!\end{tabular}!\\ |
543 \verb!\end{center}! |
544 \verb!\end{center}! |
544 \end{quote} |
545 \end{quote} |
545 Note the space between \verb!@! and \verb!{! in the tabular argument. |
546 Note the space between \verb!@! and \verb!{! in the tabular argument. |
550 (e.~g.~\isa{{\isacharequal}}, \isa{{\isasymequiv}}, \isa{{\isacharless}}). |
551 (e.~g.~\isa{{\isacharequal}}, \isa{{\isasymequiv}}, \isa{{\isacharless}}). |
551 |
552 |
552 Likewise, \verb!concl! may be used as a style to show just the |
553 Likewise, \verb!concl! may be used as a style to show just the |
553 conclusion of a proposition. For example, take \verb!hd_Cons_tl!: |
554 conclusion of a proposition. For example, take \verb!hd_Cons_tl!: |
554 \begin{center} |
555 \begin{center} |
555 \isa{{\isacharparenleft}xs\ {\isasymColon}\ {\isacharprime}a\ list{\isacharparenright}\ {\isasymnoteq}\ {\isacharbrackleft}{\isacharbrackright}\ {\isasymLongrightarrow}\ hd\ xs{\isasymcdot}tl\ xs\ {\isacharequal}\ xs} |
556 \isa{xs\ {\isasymnoteq}\ {\isacharbrackleft}{\isacharbrackright}\ {\isasymLongrightarrow}\ hd\ xs{\isasymcdot}tl\ xs\ {\isacharequal}\ xs} |
556 \end{center} |
557 \end{center} |
557 To print just the conclusion, |
558 To print just the conclusion, |
558 \begin{center} |
559 \begin{center} |
559 \isa{hd\ {\isacharparenleft}xs\ {\isasymColon}\ {\isacharprime}a\ list{\isacharparenright}{\isasymcdot}tl\ xs\ {\isacharequal}\ xs} |
560 \isa{hd\ xs{\isasymcdot}tl\ xs\ {\isacharequal}\ xs} |
560 \end{center} |
561 \end{center} |
561 type |
562 type |
562 \begin{quote} |
563 \begin{quote} |
563 \verb!\begin{center}!\\ |
564 \verb!\begin{center}!\\ |
564 \verb!@!\verb!{thm [show_types] (concl) hd_Cons_tl}!\\ |
565 \verb!@!\verb!{thm (concl) hd_Cons_tl}!\\ |
565 \verb!\end{center}! |
566 \verb!\end{center}! |
566 \end{quote} |
567 \end{quote} |
567 Beware that any options must be placed \emph{before} |
568 Beware that any options must be placed \emph{before} |
568 the style, as in this example. |
569 the style, as in this example. |
569 |
570 |