File Information

File: 05-lr/acl_arc_1_sum/cleansed_text/xml_by_section/intro/98/p98-2169_intro.xml

Size: 3,115 bytes

Last Modified: 2025-10-06 14:06:39

<?xml version="1.0" standalone="yes"?>
<Paper uid="P98-2169">
  <Title>Parametric Types for Typed Attribute-Value Logic</Title>
  <Section position="3" start_page="1027" end_page="1028" type="intro">
    <SectionTitle>
2 Parametric Type Hierarchies
</SectionTitle>
    <Paragraph position="0"> Parametric types are not types. They are functions that provide access or a means of reference to a set of types (their image) by means of argument types, or &amp;quot;parameters&amp;quot; (their domain). Figure 1 has only unary functions; but in general, parametric types can be n-ary functions over n-tuples of types. 4 This means that hier4In this paper, &amp;quot;parametric type&amp;quot; will refer to such a function, written as the name of the function, followed by the appropriate number of &amp;quot;type variables,&amp;quot; variables that range over some set of types, in parentheses, e.g. list(X). &amp;quot;Type&amp;quot; will refer to both &amp;quot;simple types,&amp;quot; such as _1_ or elist; and &amp;quot;ground instances&amp;quot; of parametric types, i.e. types in the image of a parametric type function, written as the name of the function followed by the appropriate number of actual type parameters in parentheses, such as list(l-), set(psoa) or list(set(l-)). I will use letters t, u, and v to indicate types; capital letters to indicate type variables; capitalized words to indicate feature names; p, q, and r for names of parametric types; and g to indicate ground instances of parametric types,  archies that use parametric types are not &amp;quot;type&amp;quot; hierarchies, since they express a relationship between functions (we can regard simple types as nullary parametric types): Definition 1: A parametric (type) hierarchy is a finite meet semilattice, (P, EP), plus a partial argument assignment function, ap : P x P x Nat -~ Nat U {0}, in which: * P consists of (simple and) parametric types, (i.e. no ground instances of parametric types), including the simple most general type, _1_, * For p,q E P, ap(p,q,i), written aq(i), is defined iff p EP q and 1 &lt;_ i &lt;_ arity(p), and * 0 &lt; aq(i) &lt;_ rn, when it exists.</Paragraph>
    <Paragraph position="1"> Meet semilatticehood, a requirement of (Car92)'s logic as well, allows us to talk about unification, because we have a unique mostgeneral unifier for every unifiable pair of types. The argument assignment function encodes the identification of parameters between a parametric type and its parametric subtype. The number, n, refers to the nth parameter of a parametric type, with 0 referring to a parameter that has been dropped. In practice, this is normally expressed by the names given to type variables.</Paragraph>
    <Paragraph position="2"> In the parametric type hierarchy of Figure 1, list and nelist share the same variable, X, be,~nelist\[l~ is 1. If _nelisttl~ = 0, then nelist cause t~list k x l Ulist k l ) would use a different variable name. As a more complicated example, in Figure 3, ad(1) = 1,</Paragraph>
    <Paragraph position="4"> are undefined (1&amp;quot;) for any pair in P x Nat.</Paragraph>
  </Section>
class="xml-element"></Paper>
Download Original XML