Proofs and types
A logical analysis of modules in logic programming
Journal of Logic Programming
MFPS '92 Selected papers of the meeting on Mathematical foundations of programming semantics. Part II : lambda calculus and domain theory: lambda calculus and domain theory
Foundations of programming languages
Foundations of programming languages
Basic simple type theory
General Model Theoretic Semantics for Higher-Order Horn Logic Programming
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Constraint Logic Programming with Hereditary Harrop formulas
Theory and Practice of Logic Programming
Providing declarative semantics for HH extended constraint logic programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Completeness and Cut-elimination in the Intuitionistic Theory of Types
Journal of Logic and Computation
Testing concurrent systems: an interpretation of intuitionistic logic
FSTTCS '05 Proceedings of the 25th international conference on Foundations of Software Technology and Theoretical Computer Science
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Hi-index | 0.00 |
A Kripke Semantics is defined for a higher-order logic programming language with constraints, based on Church's Theory of Types and a generic constraint formalism. Our syntactic formal system, hoHH(C) (higher-order hereditary Harrop formulas with constraints), which extends λProlog's logic, is shown sound and complete. A Kripke semantics for equational reasoning in the simply typed lambda-calculus (Kripke Lambda Models) was introduced by Mitchell and Moggi in 1990. Our model theory extends this semantics to include full impredicative higher-order intuitionistic logic, as well as the executable hoHH fragment with typed lambda-abstraction, implication and universal quantification in goals and constraints. This provides a Kripke semantics for the full higher-order hereditarily Harrop logic of λProlog as a special case (with the constraint system chosen to be β,η-conversion).