Well-Typed Logic Programs Are not Wrong

dc.creatorDeransart, Pierre
dc.creatorSmaus, Jan-Georg
dc.date2000-12-20
dc.date2001-01-18
dc.date.accessioned2026-07-07T03:16:48Z
dc.date.available2026-07-07T03:16:48Z
dc.descriptionWe consider prescriptive type systems for logic programs (as in Goedel or Mercury). In such systems, the typing is static, but it guarantees an operational property: if a program is "well-typed", then all derivations starting in a "well-typed" query are again "well-typed". This property has been called subject reduction. We show that this property can also be phrased as a property of the proof-theoretic semantics of logic programs, thus abstracting from the usual operational (top-down) semantics. This proof-theoretic view leads us to questioning a condition which is usually considered necessary for subject reduction, namely the head condition. It states that the head of each clause must have a type which is a variant (and not a proper instance) of the declared type. We provide a more general condition, thus reestablishing a certain symmetry between heads and body atoms. The condition ensures that in a derivation, the types of two unified terms are themselves unifiable. We discuss possible implications of this result. We also discuss the relationship between the head condition and polymorphic recursion, a concept known in functional programming.
dc.description21 pages, 7 figures
dc.identifierhttps://arxiv.org/abs/cs/0012015
dc.identifierhttp://arxiv.org/abs/cs/0012015
dc.identifier.urihttp://salesiana.dossiersoluciones.com/handle/123456789/30492
dc.subjectLogic in Computer Science
dc.subjectD.1.6; D.3.3
dc.titleWell-Typed Logic Programs Are not Wrong
dc.typetext

Files

Collections