doc-src/IsarRef/pure.tex
changeset 7974 34245feb6e82
parent 7895 7c492d8bc8e3
child 7981 5120a2a15d06
equal deleted inserted replaced
7973:0d801c6e4dc0 7974:34245feb6e82
   821 \subsection{Block structure}
   821 \subsection{Block structure}
   822 
   822 
   823 \indexisarcmd{next}\indexisarcmd{\{\{}\indexisarcmd{\}\}}
   823 \indexisarcmd{next}\indexisarcmd{\{\{}\indexisarcmd{\}\}}
   824 \begin{matharray}{rcl}
   824 \begin{matharray}{rcl}
   825   \isarcmd{next} & : & \isartrans{proof(state)}{proof(state)} \\
   825   \isarcmd{next} & : & \isartrans{proof(state)}{proof(state)} \\
   826   \isarcmd{\{\{} & : & \isartrans{proof(state)}{proof(state)} \\
   826   \BG & : & \isartrans{proof(state)}{proof(state)} \\
   827   \isarcmd{\}\}} & : & \isartrans{proof(state)}{proof(state)} \\
   827   \EN & : & \isartrans{proof(state)}{proof(state)} \\
   828 \end{matharray}
   828 \end{matharray}
   829 
   829 
   830 While Isar is inherently block-structured, opening and closing blocks is
   830 While Isar is inherently block-structured, opening and closing blocks is
   831 mostly handled rather casually, with little explicit user-intervention.  Any
   831 mostly handled rather casually, with little explicit user-intervention.  Any
   832 local goal statement automatically opens \emph{two} blocks, which are closed
   832 local goal statement automatically opens \emph{two} blocks, which are closed
   855 
   855 
   856 \section{Other commands}
   856 \section{Other commands}
   857 
   857 
   858 \subsection{Diagnostics}
   858 \subsection{Diagnostics}
   859 
   859 
   860 \indexisarcmd{typ}\indexisarcmd{term}\indexisarcmd{prop}\indexisarcmd{thm}
   860 \indexisarcmd{thm}\indexisarcmd{term}\indexisarcmd{prop}\indexisarcmd{typ}
   861 \begin{matharray}{rcl}
   861 \begin{matharray}{rcl}
   862   \isarcmd{typ} & : & \isarkeep{theory~|~proof} \\
   862   \isarcmd{thm} & : & \isarkeep{theory~|~proof} \\
   863   \isarcmd{term} & : & \isarkeep{theory~|~proof} \\
   863   \isarcmd{term} & : & \isarkeep{theory~|~proof} \\
   864   \isarcmd{prop} & : & \isarkeep{theory~|~proof} \\
   864   \isarcmd{prop} & : & \isarkeep{theory~|~proof} \\
   865   \isarcmd{thm} & : & \isarkeep{theory~|~proof} \\
   865   \isarcmd{typ} & : & \isarkeep{theory~|~proof} \\
   866 \end{matharray}
   866 \end{matharray}
   867 
   867 
   868 These commands are not part of the actual Isabelle/Isar syntax, but assist
   868 These commands are not part of the actual Isabelle/Isar syntax, but assist
   869 interactive development.  Also note that $undo$ does not apply here, since the
   869 interactive development.  Also note that $undo$ does not apply here, since the
   870 theory or proof configuration is not changed.
   870 theory or proof configuration is not changed.
   871 
   871 
   872 \begin{rail}
   872 \begin{rail}
       
   873   'thm' thmrefs
       
   874   ;
       
   875   'term' term
       
   876   ;
       
   877   'prop' prop
       
   878   ;
   873   'typ' type
   879   'typ' type
   874   ;
   880   ;
   875   'term' term
   881 \end{rail}
   876   ;
   882 
   877   'prop' prop
   883 \begin{descr}
   878   ;
   884 \item [$\isarkeyword{thm}~thms$] retrieves lists of theorems from the current
   879   'thm' thmrefs
   885   theory or proof context.  Note that any attributes included in the theorem
   880   ;
   886   specifications are applied to a temporary context derived from the current
   881 \end{rail}
   887   theory or proof; the result is discarded, i.e.\ attributes involved in
   882 
   888   $thms$ do not have any permanent effect.
   883 \begin{descr}
       
   884 \item [$\isarkeyword{typ}~\tau$] reads and prints types of the meta-logic
       
   885   according to the current theory or proof context.
       
   886 \item [$\isarkeyword{term}~t$, $\isarkeyword{prop}~\phi$] read, type-checks
   889 \item [$\isarkeyword{term}~t$, $\isarkeyword{prop}~\phi$] read, type-checks
   887   and print terms or propositions according to the current theory or proof
   890   and print terms or propositions according to the current theory or proof
   888   context; the inferred type of $t$ is output as well.  Note that these
   891   context; the inferred type of $t$ is output as well.  Note that these
   889   commands are also useful in inspecting the current environment of term
   892   commands are also useful in inspecting the current environment of term
   890   abbreviations.
   893   abbreviations.
   891 \item [$\isarkeyword{thm}~thms$] retrieves lists of theorems from the current
   894 \item [$\isarkeyword{typ}~\tau$] reads and prints types of the meta-logic
   892   theory or proof context.  Note that any attributes included in the theorem
   895   according to the current theory or proof context.
   893   specifications are applied to a temporary context derived from the current
       
   894   theory or proof; the result is discarded, i.e.\ attributes involved in
       
   895   $thms$ do not have any permanent effect.
       
   896 \end{descr}
   896 \end{descr}
   897 
   897 
   898 
   898 
   899 \subsection{System operations}
   899 \subsection{System operations}
   900 
   900