The HasCasl prologue: categorical syntax and semantics of the partial λ-calculus
BISS, Dept. of Comput. Sci., Universität Bremen
P. O. Box 330 440,; 28334 Bremen, Germany
We develop the semantic foundations of the specification language HasCasl, which combines algebraic specification and functional programming on the basis of Moggi’s partial λ-calculus. Generalizing Lambek’s classical equivalence between the simply typed λ-calculus and cartesian closed categories, we establish an equivalence between partial cartesian closed categories (pccc’s) and partial λ-theories. Building on these results, we define (set-theoretic) notions of intensional Henkin model and syntactic λ-algebra for Moggi’s partial λ-calculus. These models are shown to be equivalent to the originally described categorical models in pccc’s via the global element construction. The semantics of HasCasl is defined in terms of syntactic λ-algebras. Correlations between logics and classes of categories facilitate reasoning both on the logical and on the categorical side; as an application, we pinpoint unique choice as the distinctive feature of topos logic (in comparison to intuitionistic higher-order logic of partial functions, which by our results is the logic of pccc’s with equality). Finally, we give some applications of the model-theoretic equivalence result to the semantics of HasCasl and its relation to first-order Casl.