English
 
Help Privacy Policy Disclaimer
  Advanced SearchBrowse

Item

ITEM ACTIONSEXPORT

Released

Conference Paper

Parametric Order‐sorted Types in Logic Programming

MPS-Authors
There are no MPG-Authors in the publication available
External Resource

https://rdcu.be/dtiyF
(Publisher version)

Fulltext (restricted access)
There are currently no full texts shared for your IP range.
Fulltext (public)
There are no public fulltexts stored in PuRe
Supplementary Material (public)
There is no public supplementary material available
Citation

Hanus, M. (1991). Parametric Order‐sorted Types in Logic Programming. In S. Abramsky, & T. Maibaum (Eds.), TAPSOFT‐91 (pp. 181‒200). Berlin: Springer.


Cite as: https://hdl.handle.net/11858/00-001M-0000-0023-C352-C
Abstract
This paper proposes a type system for logic programming where types are \u000Astructured in two ways. Firstly, functions and predicates may be declared with \u000Atypes containing type parameters which are universally quantified over all \u000Atypes. In this case each instance of the type declaration can be used in the \u000Alogic program. Secondly, types are related by subset inclusions. In this case a \u000Afunction or predicate can be applied to all subtypes of its declared type. \u000AWhile previous proposals for such type systems have strong restrictions on the \u000Asubtype relation, we assume that the subtype order is specified by Horn clauses \u000Afor the subtype relation ≤. This allows the declaration of a lot of \u000Ainteresting type structures, e.g., type constructors which are monotonic as \u000Awell as anti‐monotonic in their arguments. For instance, parametric \u000Aorder‐sorted type structures for logic programs with higher‐order predicates \u000Acan be specified in our framework. This paper presents the declarative and \u000Aoperational semantics of the typed logic language. The operational semantics \u000Arequires a unification procedure on well‐typed terms. This unification \u000Aprocedure is described by a set of transformation rules which generate a set of \u000Atype constraints from a given unification problem. The solvability of these \u000Atype constraints is decidable for particular type structures.