733 |
733 |
734 \section{HOLCF} |
734 \section{HOLCF} |
735 |
735 |
736 \subsection{Mixfix syntax for continuous operations} |
736 \subsection{Mixfix syntax for continuous operations} |
737 |
737 |
738 \indexisarcmdof{HOLCF}{consts}\indexisarcmdof{HOLCF}{constdefs} |
738 \indexisarcmdof{HOLCF}{consts} |
739 |
739 |
740 \begin{matharray}{rcl} |
740 \begin{matharray}{rcl} |
741 \isarcmd{consts} & : & \isartrans{theory}{theory} \\ |
741 \isarcmd{consts} & : & \isartrans{theory}{theory} \\ |
742 \isarcmd{constdefs} & : & \isartrans{theory}{theory} \\ |
742 \end{matharray} |
743 \end{matharray} |
|
744 |
|
745 \begin{rail} |
|
746 'constdefs' (name '::' type mixfix? prop +) |
|
747 ; |
|
748 \end{rail} |
|
749 |
743 |
750 HOLCF provides a separate type for continuous functions $\alpha \to |
744 HOLCF provides a separate type for continuous functions $\alpha \to |
751 \beta$, with an explicit application operator $f \cdot x$. Isabelle mixfix |
745 \beta$, with an explicit application operator $f \cdot x$. Isabelle mixfix |
752 syntax normally refers directly to the pure meta-level function type $\alpha |
746 syntax normally refers directly to the pure meta-level function type $\alpha |
753 \To \beta$, with application $f\,x$. |
747 \To \beta$, with application $f\,x$. |
754 |
748 |
755 The HOLCF variants of $\CONSTS$ and $\CONSTDEFS$ resemble those of Pure |
749 The HOLCF variant of $\CONSTS$ modifies that of Pure Isabelle (cf.\ |
756 Isabelle (cf.\ \S\ref{sec:consts}), although automated type-inference is not |
750 \S\ref{sec:consts}) such that declarations involving continuous function types |
757 supported here. Internally, declarations involving continuous function types |
751 are treated specifically. Any given syntax template is transformed |
758 are treated specifically, transforming the syntax template accordingly and |
752 internally, generating translation rules for the abstract and concrete |
759 generating syntax translation rules for the abstract and concrete |
753 representation of continuous application. Note that mixing of HOLCF and Pure |
760 representation of application. Note that mixing continuous and meta-level |
|
761 application is \emph{not} supported! |
754 application is \emph{not} supported! |
762 |
755 |
763 \subsection{Recursive domains} |
756 \subsection{Recursive domains} |
764 |
757 |
765 \indexisarcmdof{HOLCF}{domain} |
758 \indexisarcmdof{HOLCF}{domain} |