# Item

ITEM ACTIONSEXPORT

Released

Conference Paper

#### Parametric Order‐sorted Types in Logic Programming

##### MPS-Authors

There are no MPG-Authors available

##### Locator

There are no locators available

##### Fulltext (public)

There are no public fulltexts available

##### 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 (*TAPSOFT‐91* (pp. 181‒200).
Berlin: Springer.

Cite as: http://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.