703 \indexdef{}{ML}{Thm.cterm\_of}\verb|Thm.cterm_of: theory -> term -> cterm| \\ |
703 \indexdef{}{ML}{Thm.cterm\_of}\verb|Thm.cterm_of: theory -> term -> cterm| \\ |
704 \end{mldecls} |
704 \end{mldecls} |
705 \begin{mldecls} |
705 \begin{mldecls} |
706 \indexdef{}{ML type}{thm}\verb|type thm| \\ |
706 \indexdef{}{ML type}{thm}\verb|type thm| \\ |
707 \indexdef{}{ML}{proofs}\verb|proofs: int Unsynchronized.ref| \\ |
707 \indexdef{}{ML}{proofs}\verb|proofs: int Unsynchronized.ref| \\ |
|
708 \indexdef{}{ML}{Thm.transfer}\verb|Thm.transfer: theory -> thm -> thm| \\ |
708 \indexdef{}{ML}{Thm.assume}\verb|Thm.assume: cterm -> thm| \\ |
709 \indexdef{}{ML}{Thm.assume}\verb|Thm.assume: cterm -> thm| \\ |
709 \indexdef{}{ML}{Thm.forall\_intr}\verb|Thm.forall_intr: cterm -> thm -> thm| \\ |
710 \indexdef{}{ML}{Thm.forall\_intr}\verb|Thm.forall_intr: cterm -> thm -> thm| \\ |
710 \indexdef{}{ML}{Thm.forall\_elim}\verb|Thm.forall_elim: cterm -> thm -> thm| \\ |
711 \indexdef{}{ML}{Thm.forall\_elim}\verb|Thm.forall_elim: cterm -> thm -> thm| \\ |
711 \indexdef{}{ML}{Thm.implies\_intr}\verb|Thm.implies_intr: cterm -> thm -> thm| \\ |
712 \indexdef{}{ML}{Thm.implies\_intr}\verb|Thm.implies_intr: cterm -> thm -> thm| \\ |
712 \indexdef{}{ML}{Thm.implies\_elim}\verb|Thm.implies_elim: thm -> thm -> thm| \\ |
713 \indexdef{}{ML}{Thm.implies\_elim}\verb|Thm.implies_elim: thm -> thm -> thm| \\ |
749 \item \verb|proofs| specifies the detail of proof recording within |
750 \item \verb|proofs| specifies the detail of proof recording within |
750 \verb|thm| values: \verb|0| records only the names of oracles, |
751 \verb|thm| values: \verb|0| records only the names of oracles, |
751 \verb|1| records oracle names and propositions, \verb|2| additionally |
752 \verb|1| records oracle names and propositions, \verb|2| additionally |
752 records full proof terms. Officially named theorems that contribute |
753 records full proof terms. Officially named theorems that contribute |
753 to a result are recorded in any case. |
754 to a result are recorded in any case. |
|
755 |
|
756 \item \verb|Thm.transfer|~\isa{thy\ thm} transfers the given |
|
757 theorem to a \emph{larger} theory, see also \secref{sec:context}. |
|
758 This formal adjustment of the background context has no logical |
|
759 significance, but is occasionally required for formal reasons, e.g.\ |
|
760 when theorems that are imported from more basic theories are used in |
|
761 the current situation. |
754 |
762 |
755 \item \verb|Thm.assume|, \verb|Thm.forall_intr|, \verb|Thm.forall_elim|, \verb|Thm.implies_intr|, and \verb|Thm.implies_elim| |
763 \item \verb|Thm.assume|, \verb|Thm.forall_intr|, \verb|Thm.forall_elim|, \verb|Thm.implies_intr|, and \verb|Thm.implies_elim| |
756 correspond to the primitive inferences of \figref{fig:prim-rules}. |
764 correspond to the primitive inferences of \figref{fig:prim-rules}. |
757 |
765 |
758 \item \verb|Thm.generalize|~\isa{{\isaliteral{28}{\isacharparenleft}}\isaliteral{5C3C5E7665633E}{}\isactrlvec {\isaliteral{5C3C616C7068613E}{\isasymalpha}}{\isaliteral{2C}{\isacharcomma}}\ \isaliteral{5C3C5E7665633E}{}\isactrlvec x{\isaliteral{29}{\isacharparenright}}} |
766 \item \verb|Thm.generalize|~\isa{{\isaliteral{28}{\isacharparenleft}}\isaliteral{5C3C5E7665633E}{}\isactrlvec {\isaliteral{5C3C616C7068613E}{\isasymalpha}}{\isaliteral{2C}{\isacharcomma}}\ \isaliteral{5C3C5E7665633E}{}\isactrlvec x{\isaliteral{29}{\isacharparenright}}} |