12.07.2015 Views

An arithmetic for non-size-increasing polynomial-time computation

An arithmetic for non-size-increasing polynomial-time computation

An arithmetic for non-size-increasing polynomial-time computation

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

¤<strong>An</strong> <strong>arithmetic</strong> <strong>for</strong> <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong><strong>polynomial</strong>-<strong>time</strong> <strong>computation</strong>Klaus AehligUniversität MünchenMartin HofmannUniversität MünchenUlrich Berger ¡University of Wales SwanseaHelmut SchwichtenbergUniversität München¡Abstract<strong>An</strong> <strong>arithmetic</strong>al system is presented with the property that from everyproof a realizing term can be extracted that is definable in a certain affinelinear typed variant of G ödel’s ¢ and there<strong>for</strong>e defines a <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong><strong>polynomial</strong> <strong>time</strong> computable function.1 IntroductionThere is an <strong>increasing</strong> interest in recent research in “implicit <strong>computation</strong>al complexity”,e.g. by means of global restrictions on simply typed term systems to ensurecomputability in <strong>polynomial</strong> <strong>time</strong> [2, 7, 9, 1]. One such approach has its rootsin a careful study by Caseiro [4] of many examples of natural algorithms, and her<strong>for</strong>mulation of (partially semantic) criteria ensuring computability in <strong>polynomial</strong><strong>time</strong>. The third author identified in [7] an important aspect of this analysis: therole played by <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong> functions. He designed a new (affine linear)term system which can only define <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong> functions, but still allowsnested recursion. One important restriction is that the step terms in recursion operatorsmust be closed, since when unfolding the recursion they will be duplicatedand hence would violate linearity otherwise. The first and fourth author reprovedin [1] the main result of [7] by a different (syntactical) method, which also providesan explicit construction of the <strong>polynomial</strong>s. One motivation <strong>for</strong> this workwas the expectation that the simple approach chosen should make it easy to designa reasonably rich and flexible (higher type) <strong>arithmetic</strong>al system, whose provablyrecursive functions can be computed in <strong>polynomial</strong> <strong>time</strong>. It is the purpose of thepresent paper to carry this out.sec-introSupported by the “Graduiertenkolleg Logik in der In<strong>for</strong>matik” of the “Deutsche Forschungsgemeinschaft”.£The hospitality of the Mittag-Leffler Institute in the spring of 2001 is gratefully acknowledged.1


The leading intuition is of course that one should use the Curry-Howard correspondencebetween terms in lambda-calculus and derivations in <strong>arithmetic</strong>. However,care is taken to arrive at a flexible and easy to use <strong>arithmetic</strong>al system, whichcan be understood in its own right.The paper is structured as follows. In section 2 we present a variant of the linearterm system of [7, 1] defining <strong>non</strong>-<strong>size</strong> <strong>increasing</strong> <strong>polynomial</strong> <strong>time</strong> functions only.Tailored <strong>for</strong> these terms is the <strong>arithmetic</strong> proof calculus introduced in section 3. Inorder to obtain a flexible and expressive system we included some unusual features:there are two <strong>for</strong>ms of conjunction, ¢¡¤£and ¦¥§£ , to account <strong>for</strong> the linearaspects of our logic. We also distinguish (as in [3]) between quantifiers with andwithout <strong>computation</strong>al content. The <strong>for</strong>mer are obtained by relativizing to special“existence predicates” ¨© . So ¨© and ¨©¡¤ indicate that has <strong>computation</strong>al meaning <strong>for</strong> the extracted program. The possibility to makethis distinction is crucial <strong>for</strong> obtaining reasonable programs (cf. [3]). We also splitproof contexts into a “passive” and an “active” part (as done by Reynolds in [12]and by Reddy in [11]), where the latter controls the variables free in the realizingterms. A number of examples shows how the system might be used. In particularwe sketch a proof that every list can be sorted. The extracted program is the usual<strong>for</strong>mulation of insertion sort in our term system. In section 4 the link betweenproofs and programs is made precise via a suitable variant of Kreisel’s modifiedrealizability. As corollaries to the soundness theorem we obtain a proof that theprovably recursive functions of our system are <strong>non</strong>-<strong>size</strong> <strong>increasing</strong> and <strong>polynomial</strong><strong>time</strong> computable, and some metamathematical results on our <strong>arithmetic</strong> system.2 A term system <strong>for</strong> <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong> <strong>polynomial</strong> <strong>time</strong><strong>computation</strong>We introduce a term system similar to the system in [7]. It will play the same role<strong>for</strong> our <strong>arithmetic</strong>al system as G ödel’s [5] does <strong>for</strong> Heyting Arithmetic.2.1 Types and termsDefinition 2.1 (Finite linear types). Linear types are defined inductively assec-termsub-types-termsdef-lin-types"!$#%#'&¤(*),+-)/. )/102!3)4 ¡ !5)476-!3)498:! Definition 2.2 (Set model). In the (naive) set model every type in the left column,below, is interpreted by the set ©given in the right column:;def-set-modelsetmodela special singleton set(an unspecified <strong>non</strong>empty set+ the set of lists of elements of ; ©.the set of total functions from ; ©to ;=


¡ and the cartesian product of ; ©and ; = !the disjoint sum of 6 and ! = ; © ; 8:! # ( %© # . &')(Remark 2.3. Common basic data types like the booleans, as well as unary andbinary natural numbers can be defined by ¡ #'& ( 8¦(, ¢ #'& . ( , ¡¤£¦¥ #'&. ¡ .The intuition <strong>for</strong> the special type + is a pointer to free memory, as in [6]. Sincethere will be no closed terms of this type, it can be used to ensure that terms containfree variables. For example the type +¦0 ¢ 0 ¢ of the successor functiontogether with the linear typing discipline will make sure that the length of (unary)natural numbers and the more technical measure “number of free variables” willcoincide.Although in the naive set model above


= ©= ©© 6¨ -©== ©© -,&'& ( == ©'& © =©&% = ¨ © ¦§(' ¨/ &*)§= ¦§¨/Lemma 2.7. If § ©and ¨ = with ¦§ 43 = /(' ¨ &2), then § !¨ "4 = #©# 102! 0 ¡ !¡¤ # ¡ ! 0


§ § § §= ©-© ¨= 6 ©¢ © 88=© =¢= ©= ©¨ -© © = ¨.§¤ '& © = § ¨ -,& © = ¨ §¡ §¨ § §§¨')&( § or'& §98:!0 ! $§ or § or § ¨Definition 2.9 (Conversions). is defined as:def-conv $§ ¨ § !¨ "4 # ( ¡ -conversion)¡ ¢¤ ¡© =§¨/£¢¤ ¥¢ §¨¤ §¨¦¢"§ §¨¢-,& © = 6¤ §¨¦¢ © ¨¦¢¤ '& ( © = § ¨ © ¨¢ ¥¢ &'(&- © 5 / § ¨¢ ¨5 / § ¨¢ provided is a list*,+Notice that the conversion rules are all correct, with respect to the obviousinterpretation of terms in the set model 2.2.Definition 2.10 (Reduction). The relation § § is inductively defined bydef-red¨ §¨This means, to reduce a term we may convert anywhere, exceptunder .Lemma 2.11 (Subject reduction). If § ©and §9 ¨ , then ¨ ©and ¨/ ¦§ .Proof. Induction on§ shows that only conversions need to be considered. The only<strong>non</strong>-trivial case is handled in lemma 2.7.Definition 2.12 (Almost closed terms). A term is almost closed if all its freevariables are of type + .Proposition 2.13. Every normal, almost closed term of a type as in the left columnis of the <strong>for</strong>m given in the right column:lem-typ-reddef-almost-closedprop-numeral§ § ¨ ¨ §¨ § ¨§¨¨ §¨ § ¨§ ¨% (variable+ list.¡ ! 6 ! 6© = ¤ §¨¢Proof. Induction on the typing.Definition 2.14 (Projections). For § terms of type ¡ !we will use the abbreviations ¦§ #'& ¡ ¢© =4=§ © © = ©. Clearly one has=¨¢" ¢ . ©© = © § © © = and 6 ¦§ #'& ¡ ¢def-projections ¡© =¨¦¢" ¨ and 6 ¡5


66 ¡¢ ¡©§©¨ =©= #'& 6§ ¨ § -,& © =© =§ ¨ ¨Example 2.15 (Predecessor). Let us use the#'& &')(¢¡abbreviations £!5§ #'&*,+ &and5 % §¡<strong>for</strong> the zero and the successor operation on the ¢ #'&¤. ( type . By the¤ letter we will denote numerals, i.e., terms of the £ 5 6 /¥£ 5 7 <strong>for</strong>m . Letbsp-predecessor¨¦ #'& 5 /$§¦©¨,¦ % ¦ .4¡ ¡£¢ 88 ©¦£ 5 ©¢ #'& ¡ ' Then the conversion rules imply ¡ ' (1)¨¦¢5¤ ¨ ¢ ¡ ¤ ©£ 5 ©(2)£The latter can be seen easily by induction ¤ on . Now the predecessordefined bycan be#'& ¦ ¨¦ ¢ Definition 2.16 (Pairing). It is easy to define closed termsdef-pairing# 10 6 ¡¢/¡ 7¤ # 6 ¡¢/¡ 7 0 10 ¥ 0§¥©that behave like the corresponding constant, i.e.Using these we define a closed term© ¤ ¡ © § 6 § 7 £¢ ¢ § 6 § 7¡£¢= ©by, setting #'& ¥ 6 ¡¢ ¡ ¥ 7 ,¥¤ # ¥ 0 0 ¥ 0 ! 0 ¥ 0 76 !¤ #'& 6 ¡ ¤ = ©such that-© © = 6 ¨a pairing operation© =¤ §¨ ¢ § ¢ and-,& © = 6© =¤ §¨ ¢ ¨ ¢ . Now we can define $ /¡ ¢ ¤ © ¡ ¢ ¤¤=© =¤ !§ ¨ where is a list of the free variables common § to ¨ and . Obviously¨ -© © =Note that although the terms § and ¨ may have variables in common, in the term§ ¨ every free variable occurs only once.6


§¥¥7 ¦§¨ #'&¡ 7 ¦§ 8¡ 7 ¨/¡7 § #'&¡ 7 ¦§8¨§¡¡ 7 ¦§ ¨/ #'&¡ 7 ¦§ 8© 7 ¦§8¨§¡ 7 ¨ ¥¥££8¥£82.3 Lengths of reduction chainsNow we show that every almost closed term of appropriate type in the presentsystem denotes a <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong> <strong>polynomial</strong> <strong>time</strong> computable function. Weessentially adapt the proof in [7, 1] by constructing to every such term a <strong>polynomial</strong>,whose degree is the nesting of , bounding the number of reduction stepsnecessary <strong>for</strong> computing the result.Definition 2.17. For every natural number 8 and every term § we define naturalnumbers 7 ¦§ and ¡ 7 ¦§ bysub-lengthpoly-bound¢¤£if § is a list with8 otherwise£¦¥entries and7 ¦§ #'&¡ 7 #'&¡ 7 #'& §Clearly the function mapping 8 to ¡ 7 ¦§ is bounded by a <strong>polynomial</strong> of degree where is the nesting of in § .Lemma 2.18. (a) 7 ¦§ 7 ¦§ !¨"4$# .(b) If § § then 7 ¦§ 7 ¦§ .Proof. Obvious from the definition of 7 ¦§ , using the fact that neither substitutionnor reduction change the number of entries of a list.Lemma 2.19. If § ©then ¡ 7 ¦§ !¨ "4 #¡ 7 ¦§ 8¡ 7 ¨/ .lem-lenlem-poly-substProof. Induction on § using lemma 2.18 (a) and the fact that in a typed term a freevariable can have at most one occurrence .Definition 2.20. We write §< 7 §¨ if §


£7 *,+ &.- ©05§ ¨¢"¡ 8¡ 7 5 8¡ 7 ¦§ 8¡ 7 8£§ &¤¥£¤¤££¥¥£¡ 7 ¨ 8¡ 7 ¢" ¡ 7 ¨ 8¡ 7 ¢"8¨§¤£¥£8 §entries must have at leastand8¨§7 *,+ &.- ©05 / § &8¨§7 &occurrences of free variables. Consequently. There<strong>for</strong>e8 ¡¡ 7 ¨ 8¡ 7 5 8¡ 7 ¦§ 8¡ 7 8&¡ 7 ¨5§ ¨¢" Case § 7 § , by converting a proper subterm of § . Easy by induction hypothesis,referring in the case §¨ §¨ , with § §¨ , to lemma 2.18 (b).Corollary 2.22. § ©If then every reduction sequence starting § with has ¥length¦§ where ¤ #'& ) ¦§ ).¡£¢Proof. Clearly if §: § then § 7 § <strong>for</strong> every 8 ) ¦§ ). There<strong>for</strong>e thecorollary follows from lemma 2.21 and the subject reduction lemma 2.11.Proposition 2.23. Let § ©&% = be a typed term with nestings of . Then there iscor-red-lenprop-poly-funa £ <strong>polynomial</strong>the §¨ term reduces to normal <strong>for</strong>m inthe ordinary (syntactical) length ¨ of .of ¥ §¦ § degree such that <strong>for</strong> all ¨ ©terms containing no ( ¨ &©$© ¨ steps, where( ¨ &©$© ¨/ is£Proof. #'& ( ¨ &©$© ¦§ Let #'& ( ¨ &©$© ¨/ and . Then ¦§¨ ) 8 .There<strong>for</strong>e, by lemma 2.22, ) normalizes in ¦§¨ steps. Because ¨ doesn’t§¨ contain we ¡ 7 ¨ & have <strong>for</strong> 8 all . Consequently¡¦§¨/ & ¡ ¦§ 8 which is bounded by a <strong>polynomial</strong> in of ¥ §¦ § degree .Definition 2.24 (Data types and objects, <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong> functions). A datatype is a type built from ( , . ' , ¡ , and 8 only. (examples: ¢ , ¡¤£ ¥ , . ¡ £ ¥ ).A data object of data type is an almost closed term in normal <strong>for</strong>m. The <strong>size</strong>of a data object ¥ is the natural <strong>size</strong> of its denotation, which, by proposition 2.13,essentially, i.e. up to a constant depending only on , coincides with the syntactical¥length,( ¨ &©$© , and also with the number of free variables, ) ).A function from ;to ;, where def-data¡¥ #¥are data types, is called <strong>non</strong>-<strong>size</strong><strong>increasing</strong>if there is a number such that <strong>for</strong> all data objects result has <strong>size</strong> the sum of the <strong>size</strong>s of the plus . Theorem 2.25. Let #¥be data types and § ¤ % ¤¥of type ¥thebe an almost closed term withnestings of . Then § defines a <strong>polynomial</strong> <strong>time</strong> algorithm <strong>for</strong> a <strong>non</strong>-<strong>size</strong><strong>increasing</strong>function ; fromof ¥ §¦ § degree .¤ to ;with <strong>computation</strong> <strong>time</strong> bounded by a <strong>polynomial</strong>satz-poly-data¤ 8


&¤© ) ©Proof. Bylemma 2.13 defines indeed a¤;function ; from to . The assertion§about the <strong>computation</strong> <strong>time</strong> is proved in § proposition 2.23. That is <strong>non</strong>-<strong>size</strong><strong>increasing</strong>follows from the already mentioned facts that reduction does not increasethe number of free variables of a term, and that the the <strong>size</strong> of a data objectis essentially the number of its free variables.3 Linear <strong>arithmetic</strong>We now set up a linear <strong>arithmetic</strong> tailored <strong>for</strong> the term system introduced in theprevious section.3.1 FormulasWe assume a fixed set of predicate symbols of fixed arity.When § writing , a predicate symbol, we implicitly assume correct lengthand types of is, all restrictions on free variables (when typing terms of the <strong>for</strong>m §¨ or § ¨ ) aredropped. This relaxation of the typing rules is necessary because of unrestrictedsubstitutions into <strong>for</strong>mulas allowed by the -elimination rule (see definition 3.7).For every type we assume special predicate symbols ¨ © and & © , called existenceand equality. We some<strong>time</strong>s abbreviate & ©¦§ ¨ by § & © ¨ or even § & ¨ .The intended interpretation of & © is ordinary extensional equality between objectsof type and ¨© is to be interpreted as the set of all objects of type , that is,all objects do exist (of course). Nevertheless, we will refrain from simply statingthe <strong>for</strong>mula ¨ © as an axiom, because we want a proof of ¨ © ¢" to provide aconstruction of the object denoted by ¢ . We will postulate the fact that ¨ © alwaysholds only in a context where the construction of does not matter. This canbe expressed by the axiom scheme ¨ ©9 92 , where is an arbitrary§ . However we only assume that the terms in § are weakly typed, that<strong>computation</strong>ally irrelevant <strong>for</strong>mula (see definition 3.5).range over predicate symbols different fromIn the following the ¡ £¢lettersthe existence ¨© predicates (but including equality © ).&sec-arithsub-<strong>for</strong>mulasDefinition 3.1 (Formulas). The set of <strong>for</strong>mulas is defined inductively:Remark 3.2. We define falsity § by © © & ¨ ¨, where © © #'& ')&(¡ ¡ %and ¨ ¨ #'& ¡¡ %. Negation ¨ is an abbreviation <strong>for</strong> ©§ and §')&¦§ & ¨/ . ¨The ¥ conjunction is the “weak” one corresponding to the ordinary product¨ is shorthand <strong>for</strong>bem-<strong>for</strong>mula£¤ #%#'& ¡ § ) ¨© ¦§ ) ¦ £ ) :¡ £ ) ¥7£ ) ¦¥ £ ) £, i.e. ¢¥ £ and ¤¥§£ £ will be provable, but 2£ ¤ 6¥7£ ¤ will not.The quantifiers correspond to the in [3] (or the “underlined quantification”in [10]) and mean “quantification without <strong>computation</strong>al content”, i.e. a proof of9


£1 #'& ¥ 0§¥ £ ¥ ¡5£< #'& ¥ ¡ ¥ £ ¥ ¥7£< #'& ¥ 6 ¥ £ ¥ ¥7£< #'& ¥ 8 ¥ £ ¥¥ ( #'&¤( * + #'& + *©©¤£ £¢ ¥¤£ £¢ ¥if* ! &¢(( ! if* &¤(* if* ! &¤( * ! if* &¢( * if* ! &¤( * ! if* &¢( *is of such a <strong>for</strong>m that the realizing term does not depend on . When wewant <strong>computation</strong>al content, the quantifiers have to be relativized to the existence predicate, ¨ i.e. ¨7 ¡ or .Ex falso quodlibet in the § <strong>for</strong>m will not be provable in general: wewill not § / ¨7 have , since there is no closed term of type . This is alsothe reason why disjunction + £ cannot be defined by ¡¨7 ¡ & © © ¥ £ : from we could not conclude e.g. ¦¥ /¨7 .Definition 3.3 (Computational content). For a <strong>for</strong>mula we define the <strong>computation</strong>alcontent ¥ , i.e. the type of its potential realizers, by induction on .def-extr-ty ¥ & ¨ ¨¥ ¨ © ¦§ #'&¢ ¡ § ¥#'&¤( #'& ¥ Due to the presence of the type (¥ types may contain some redundancies. Forexample, 70 ( denotes a singleton in the set model and could hence be simplifiedto ( . Let us call a type clean if it does not contain redundant parts. Hence thebase types ( and + are clean, the types 0 ! , ¡ !, and 76 ! are clean if theircomponents and ! are both clean and different from ( , and the types . and


We set ¥¡ #'&¥ 8 ! #'& * 8 * ! * . #'&¤. * *¥ ) ) ¢¥ ¦ ) ¥¥* ¥ Essentially we are interested in ¥ only. However, in order to keep cumbersomecase distinctions at bay it will be convenient to consider the uncleanedversion ¥ as well.Definition 3.5 (Harrop <strong>for</strong>mulas). We say that a <strong>for</strong>mula has no computa-. Formulas without <strong>computation</strong>al content are also(tional content if ¥ &def-cicalled Harrop <strong>for</strong>mulas, or <strong>computation</strong>ally irrelevant (c.i.), <strong>non</strong>-Harrop <strong>for</strong>mulasare also called <strong>computation</strong>ally relevant (c.r.).So, a <strong>for</strong>mula is c.i. iff it contains no existence ¨9© predicate* & (withand no disjunction in a strictly positive position.3.2 DerivationsProof terms are intended to denote proofs in natural deduction style. They arebuilt up from ordinary terms § , axioms and assumption variables ¢ ¤£ .Each assumption variables has a <strong>for</strong>mula as type (in the sense of the Curry-Howardcorrespondence). For each <strong>for</strong>mula there are infinitely many variables of this type.We ¢ write ¢ #or to indicate that the ¢ variable has type .Definition 3.6 (Raw proof terms).sub-derivdef-raw-proof-terms¦¤ #%#'& ¢) ¦§ ) ¦¤ ¤Proof contexts are sets of assumption variables. We denote proof contexts by§ ©¨ , and write § ©¨<strong>for</strong> the union § ¨, expressing that § and ¨ are disjoint.© ¦ ) ¦For contexts consisting of one element we also write ¢instead of ¢denote the empty proof context.The term system was based on linearity constraints, hence linearity has to bereflected by the <strong>arithmetic</strong> in order to achieve a realizability result. However, linearityitself would be too a strong restriction since one often needs to instantiateuniversal <strong>for</strong>mulas to special terms in order to prove that a certain (c.i.) propertyholds without actually using the variable (in a relevant way). There<strong>for</strong>e we haveto allow ourselves to keep assumptions in the context that must not be used in ac.r. way. To achieve this we split the context into two parts: one to control correctnessand another one to control linearity. This setup also allows (by the rule $ # "# below) to easily reflect the fact that Harrop <strong>for</strong>mulas have no <strong>computation</strong>almeaning and that there<strong>for</strong>e the proof of a Harrop <strong>for</strong>mula cannot use anyassumption in a c.r. way.A similar phenome<strong>non</strong> appears in the area of syntactic control of interference(SCI), cf. Reynolds [12] or Reddy [11]. There, in a function application §¨ the . Let 11


§ ) ¨ 6§ ) ¨ ¢¥ ¡§ ) ¨ ¡) ¨ ¢§) ¨ ¡ ¢§¡ ¦ # £¢¥ #¥ #¡ ¦ # ¥¥£# £¦two phrases § and ¨ should be “independent”, i.e. § should not change something¨ is reading from or writing to, and conversely. One way to guarantee this is torequire that§ and ¨ do not share common free variables. However, this requirementseems to be too stringent: one e.g. could not write 8 . To relax it, Reynoldsidentified a special class of values called “passive”, which never change the state.Free variables denoting passive values can then be shared by § and ¨ .Following Reddy [11] we write our typing judgments in the <strong>for</strong>m § ) ¨ ¡¦ #, where the context is split into two parts § and ¨ , with § considered passive.This is to be read as “ ¦ denotes a proof of in the passive context § and thepotentially active or linear context ¨ ”. The active context controls the variablesfree in the realizing terms.Definition 3.7. The relation § ) ¨ ¡ ¦ #is inductively defined as follows.ha-typed(¢ # ¤£¥¦¥!"# )(¢ ¦ ¥ )( )§ ) ¨¨§ ¡( ¢ )¤ #§ ) ¨ 6 ©¨©§ ¡ ¦¤ # £) ¨ ¡ ¦ #VarCond§) ¨ ¡ © ¦ # ©§( )) ¨ ¡ ¦ # © § weakly typed by §) ¨ ¡ ¦§ # §"4$#( ¢ )§Here VarCond is the usual condition on free variables, i.e. that must not be freein the type of any element of § ¨.We add a rule $ # # "# describing the meaning of the active context: itis only needed to prove <strong>non</strong>-Harrop <strong>for</strong>mulas. Moreover we add a contraction rule,which can be used to contract the passive part of the context.)¢©¨ ¡ ¦ #c.i.§¢ ) ¨ ¡ ¦ # §( $ # # "# )12


& ©&% ==§ )- & ©&%==§ ) £ ¥ ©¨ ¡ ¦ # ¥¥£¡ ¦ # / =¤ ¨ *,+ &.- " #¢( " "# )¢We call these rules structural. The last rule concerns induction.§ ) £ ¥ ©¨ ¡ ¦ £ ¥" ¢# # £§ ) ¨ ¡¤ # ¨7 ¢ § ) ¨ ¡Here ¨ is short <strong>for</strong> ¨7 ¨7 .¤ ¦ # &')(" # ¢" # . ¥ ¡The axioms can be divided into four groups: logical axioms, equality axioms,axioms <strong>for</strong> existence predicates, and axioms specifying the additional predicates¡ £¢1 . We will only give the axioms of the first three groups. They definethe core system. The last group depends on particular applications of the system;examples will be given in section 3.4.Definition 3.8 (Axioms <strong>for</strong> the core system).¤£ ha-axiomsLogical axioms.¤ ¤ £ ¤ ¥ £ (3)¥ 6 (4)£ ¡:£ (5) £ ¤ ¤(6)¡5£ ¥ 6 (7) ¤ ¥ £ ¤ ¦¥ £ ¤(8) ¤ (9)¤ £ £ if " ¥ £ (10) ¡ § (11)§Equality axioms.Transitivity, symmetry and reflexivity of & © . (12)Equations corresponding to the conversion rules 2.9, where in theequation*,+ &- ©05$/ §¨¢ & ¨5$/,§ ¨¢" the term can be arbitrary. (13) ©(14) & © © &6 & © 6 7 & © 7 ¡ 6 7 ¡ © 6 © 7 (15)& © © ¨ ¨ © (16) & ¡ %(17)(18) (19) &Axioms <strong>for</strong> existence predicates.¨ -© & ©-,& & © =¨ ©1% = §¦ ¨ © ¨ = (20)¨ -© ¥ -,& &13


©§ )¡§§) ¨ ©¨ § ) ¨ ¡ &'(" # ¢" #¢¢¢¨ ©= ¦ ¨ © ¨ -© ¥ ¨ = -,& (21)<strong>for</strong> each of the constructors , , , , , (22)(23) ¨ '&( " #¥$ © = ¨ © '& © " # © = ¨ (24) ¨ © <strong>for</strong> every c.i. <strong>for</strong>mula (25)We write ¦ ¥<strong>for</strong> ¦ if there are § and ¨ such that § ) ¨ ¡ ¦ #. Obviously,is uniquely determined by . If we are not interested in the proof term weto mean that there exists a proof term such that¦¦will also write) ¨ ¡§ § ¨ ¡ ¦ #is derivable.)3.3 RemarksRemark 3.9. It is easy to see that the following rules are admissible:sub-remarks§ ) ¨ ¡¡ ( ¡ 0£¢$0! ¥¤ )§§ ) ¨ ¡¡ (¢ "#§¦ "# )§ ) ¨ §Remark 3.10. Our induction rule ( . ¥ ¡primitive recursion, since <strong>for</strong> its premise we must prove *,+ &.- " # from¤£ ) corresponds to iteration rather thanbem-ind and) alone, without having access to the previous induction argument (¨7in the <strong>for</strong>m of ¨ an -resource. By mimicking the method in [7] one can see thata strengthened induction rule corresponding to primitive recursion, in the <strong>for</strong>m§ ) ¨ ¡¨ ¢" ¨ :¥ ¨7 *,+ &.- " #is admissible, by invoking ( ¥ ¡can be proved from the given premise using . ¨from its conclusion. ¥ ¡ ¤£ £ ) with goal <strong>for</strong>mula ¤¥§¨7 . Its premise¨ *,+ &- , and§ ) ¨ ¡¦ # &'(" # ¥ ¨ &'( ¢" # ¥ ¨7 ¢ ¤we clearly &'(" # ¢" # obtain , ¨7 &'( using .Notice that due to the use ¥ of rather ¡ than we can access either the inductionvariable or else the previous result, but are not allowed to do both. It is not possibleto derive a strengthened induction rule ¡ with instead ¥ of .Remark 3.11. We list some further useful facts about the system.14


& © ¨= © & ¡ © © = © & 6 ©¨©©1. ¡$£ ¥


one uses the elimination axioms, (23,24) and induction, as well as the conversionrules (13).7. First one proves the assertion <strong>for</strong> <strong>for</strong>mulas of the <strong>for</strong>m ¨9© ¢" , by inductio<strong>non</strong> . The general case follows by induction on , using axiom scheme (11).3.4 ExamplesThe following examples are intended to demonstrate the flexibility of the system.Some of the system’s (inevitable) limitations are expressed by the underivabilityresults in section 4 (e.g. corollary 4.7).Example 3.12 (Addition). Assume © expresses 8 ©-&<strong>for</strong> naturalsub-examplesbsp-additionnumbers. Our aim is to prove ¨ ¦ © ¨ ¦ © ¨ ¦ ¡¡ © (which will give us, via program extraction (section 4) a <strong>polynomial</strong> <strong>time</strong> algorithm<strong>for</strong> addition). We put#'& © ¨ ¦ © ¨ ¦ ¡¢ © and establish ¨ ¦ by induction. The base case follows from the axiom ¨7 and a<strong>computation</strong>ally irrelevant axiom. The step case would follow from © ¨ © £ © ¨ ¦ ¡¡ ¥£ © We instantiate by £ and use ¨ ¨7¥£ together with the <strong>computation</strong>allyirrelevant axiomNotice that we cannot deduce ¨ ¦ - ¨ ¦ ¡¥ (seecorollary 4.9), because we would lack ¨ ¦ one assumption.Example 3.13 (Recycling of existence). By induction we can provebsp-recycling © ¤ © £ ¥£ ©£ ¨ ¦ & ¥ & ¡ ¨ ¦ In the base case we use the axiom ¨ and prove the left branch of the disjunction,which is an axiom. The step requires ¨ / ¨ ¦ ¨ ¦ ¥£ ¡ £ &which follows from the axiom ¨ / ¨ ¦ ¨ ¦ ¥£ .Notice that since disjunction is <strong>computation</strong>ally relevant, we cannot establish & ¥ &i.e. decidability of equality without an existence assumption (see corollary 4.9).Notice that the more natural statement¨ ¦ & ¥7 &16


¢¡¥© ¥ ¥© ¡:¨ ©¡:¨© © ¥¥follows from the one we’ve shown, but is strictly weaker since it doesn’t allow usto “recycle” the in<strong>for</strong>mation that “exists”.We can establishExample 3.14 (Sorting). Assume that we are given a binary relation¦ © ¨ ¦ © & © ¥7 & © ¡ ¨ ¦ ¡5¨ ¦ © ¨ such that we can proveof aritybsp-sortingFurthermore, we assume a ternary&relationaxiomatized by c.i. axioms such&.- that expresses that if is a sorted list w.r.t. , then so £ is , and the ¨ © © ¨ © © members of are those of together with . From the strengthened induction rule£ ) (cf. remark 3.10) we can derive(¢ ¨7 ¨7 ¡¡ &.- (26)by induction on . Base: & *,+ &.- &')( Take ¨7 (using ). Step: We have© £¢ and the (strengthened) IH¨7We need to show ¨ ¨ ¡¤ &- ¥ ¨ So assume ¨ . Compare and©without destroying them, i.e. such that after ¨7 ¨7 ¡¤ &- *,+ &- ¢ © comparison we still have ¨ © . Case here we need the right hand part ¨7 of the IH, which together with ¨7 © £¢ gives¥©. Take & *,+ &.- *,+ &.- ¢ © ;¨7 *,+ &.- ¢ © us .©¥Case gives such ¨7 ¡¡ &.- that . & *,+ &.- ¢ © Take .From this, we prove that every list can be sorted. £ Letis an ordered permutation of . We want to show. Using the left hand part of the IH <strong>for</strong> our © £ express that +©1. ¨+-, ©&. ¡ £+ © +-,Induction on . In the step case we argue as follows. We ¨7 have and the IH ¨We need to show+-, ©&. ¡ £+ © ¨©&. ¡ £+ © *,+ &.- +-,We have an such ¨7 ¡ £+ © that . Apply (26) to . This gives an such that ¨7 ¡¥ &- . The claim follows from the <strong>computation</strong>allyirrelevant axiom ¨£+ © ¦ &.- £+ © *,+ &- For the base case we need the <strong>computation</strong>ally irrelevant axiom £+ © &'( &'( .17


,§¡ ¥¢ ¨ © ¨ #'& ¦§ & © ¨/¥¢ ¡ ¨ §¡¥¢ #'& !§¤ £¢§¡¥¢ #'& !§¤ £¢§¡¥¢ ¦ £< #'& ¦ ¥¢ ¤ §/¦ ¥¢ £§¡¥¢ ¡ £< #'& ¦§§ ¥¢ ¥ 6 ¦§§ ¥¢ £§¡¥¢ ¥-£< #'& ¨ -©§¡ ¥¢ ¥ -,&§¤ £¢ £§¡¥¥¥ ¦,,¤¥ . ,¥ . ¤## #'& ¤ ## #'& ¦## ¤ ##¨¨ ¦## ,4 Realizability4.1 Definition of modified realizabilityWe now define what it means <strong>for</strong> a term § to realize a <strong>for</strong>mula . The intuition of§ being a program calculating examples <strong>for</strong> existential quantifiers is <strong>for</strong>malized bythe (<strong>computation</strong>ally irrelevant) <strong>for</strong>mula §¡ £¢ .Definition 4.1 ( £¢ ). By induction on we define a <strong>for</strong>mula §¤ £¢ <strong>for</strong> arbitrary¥ ..sec-realsub-mrlinha-def-mr§¤¨/ #'& ¡ §¡ ¥¢ ¦¥-£< #'& !§ & ')&( ¤¥ . ¤, . ¦ ¥¢ ¥. © ©£¢ £ ,Note §¡ £¢ that contains ¨© neither ¡ nor ¥ nor .Proposition 4.2. 1. If contains neither existence predicates nor disjunctions,§¡ £¢ then is provably equivalent to .mr-simple-facts¥ . ¤ © !§ & '& ¤2. §¤ £¢ ¨ is provably equivalent to !§ ¦ ¥¢ .3. §¤ £¢ ¨ ¡: is provably equivalent to 6 ¦§ § £¢ ¦§ "4$# .Proof. Immediate <strong>for</strong>m the definition and the equality axioms.4.2 Extracted termsof type ¥ that is suffi-For each ¢ variable we choose a unique ©¨ variableciently different to all variables used so far.Definition 4.3 (Extracted terms). For a proof ¦ ¥¦## bywe define its extracted termsub-extrlinha-extr-term ¢## #'& ¥© ¢¦© ¦ ¥## #'& ¦###'& ¦## §##18 ¦ ¥


,¢¡¤£ §.¦ ## #'& ¤ ## ¦##,, ¦¥ & © © ¨7 ¨ © ## #'& ' ©¨ ©&% = ¨© ¨ = ## #'& ' ©1% =¨© ¨ = ¨©&% = ## #'& ' ©1% =%¨ © = ¨© © © ¥ ¨ = ¨ ¨ ## #'& ' ©=¤,,¤,¤,,¤ ,, ¨ ©= ## #'& ' ©=¨ ## #'& <strong>for</strong> & %, ¡ ,')&(,'& ,&')(,*,+ &.- © © = ¨ © ¡ © " # © ¨= ¨ ##%,,,,,,,¨.¨.,,¤ We now define extracted terms <strong>for</strong> the axioms. We ## write # ## <strong>for</strong> . If isthe Efq-axiom (11), or the axiom (25), or one of the equality axioms except (16),then we define ## #'& % ¤of type . For the remaining axioms we define¥ ., where <strong>for</strong> any type we let% ©be some closed term% ¤ ¤ £ ¤ :¥-£ ## #'& 6¥ . ¤¥ . ¤ :¥-£ ## #'& ¨ -© ¤¥ . ¤, . :¥-£ £## #'& -,& ¤¥ . ¤, . ¤ £ :¡ £ ## #'& ¡¥ . ¤, . :¡ £ ¦ £ ¤ ¤ ## #'& ¡ ¢¥ . ¤, . ¤ ¤ ¥-£ ## #'& '&( ¤¥ . ¤, . £ ¥-£## #'& '& ¤¥ . ¤, .% ¤ ¥$ £ ¤ ¥ £ ¤ ## #'& 6 § 8 ¢¥ . §, 6© = ¤ ¦ ## #'& ' ¤¥ .¥ . ¤¥ . % ¤ ¦ £ £ ## #'& , . ¨ © © © ¥7¨ = ¨ ¨ $ ¡£¢ #'& © ¨7 ')&( " # ¥$ © = ¨ © '& © " # © = ¨7 ##%¥ . §, 6Depending on applications there may be more axioms. For each such axiom§¦ # ¤one has to chose a term §¦ ##¤¨.#'& 6 § 8 ¢such that §¦ ## £¢¤is provable.As <strong>for</strong> the extracted types, also the extracted terms may contain redundant partswhich can be removed by an obvious cleaning procedure <strong>for</strong> terms. Note that theextracted term of a derivation § ) ¨ ¡ ¦ #is weakly typed (cf. section 3.1) withtype ¥ (see theorem 4.6).Definition 4.4 (Cleaning of terms). For every ©variable such* &¦(that we, ©&.. Relative to this choice we define <strong>for</strong>choose a sufficiently different variable ©every weakly typed term § ©a cleaned term* ¦§ .def-clean-term© = ¤ #'&19* ¦§©%if* &¤(


¡ ¢ ©*=¤,©¢ ¨ ##¡¢* ¦§ if* &¤(,¢,otherwise* #'&© , ©&.* see below* ©§ = #'&©otherwise , ©&. * ¦§* ¦§©&% = ¨© #'&¢* ¦§ if* &¤(* ¦§ * ¨/ otherwise¦§ ¨/ #'& * ¦§$ * ¨ *We still have to* define <strong>for</strong> ©constants such* &¤(that . Obviously* &'( ©4 #'& &'(, ©&. and* *,+ &.- ©4 #'&if* &¦(£&- *,+ ©1. otherwise,For the remaining constants the definition of* is also straight<strong>for</strong>ward, but requiresa somewhat tedious case analysis on whether the corresponding type indicesare c.i. or not. For example, <strong>for</strong> ¡ ¢* ! , we have¤ . .© =¤ , case* &*( &typed and* ¦§ * ¦§ . Hence <strong>for</strong> a weakly typed almost closed term § of typeRemark 4.5. It is easy to see that if§ is weakly typed and§9§ , then§¨ is weaklybem-clean¤ #'& , = . , = .% ,#¥are data types, the terms § and* ¦§ essentially define the same¥function on data types.¥ 0§¥, where 4.3 SoundnessFor a derivation term ¦ we set ¦## #'& * ¦## , and <strong>for</strong> a derivation context § ,§## #'& ¥ ¥ § and §## #'& Theorem 4.6 (Soundness of typing). Assume) ¨ ¡ ¦ #. Then ¦## isweakly typed with type § and ¦## § ©¨ ## . Moreover,¥ . ¥) ¢ ¨ ¨¤ ¡¥ . ) ¢¥ § ¥ ¥ &¤( . sub-soundsoundness-of-typ¤ ¡¥ .Proof. Inspection of the proof rules and the (cleanings of) extracted terms <strong>for</strong> thec.r. axioms.¦## Since by lemma 2.13 we have some knowledge of almost closed, normal termsof the different types, we can as a corollary obtain some underivability results.Corollary 4.7. Let ¢ #'& / ¨ . The following <strong>for</strong>mulas and schemes are underivable:cor-underiv120§


¢¡¢¢¢,¡¢¢¢¡¢¢¢¡¢¢¡¢,¢¢¥¢¢§ if were derivable, then by soundness of typing we would have a closedterm of type , contradicting lemma 2.13 and the fact that every term reduces to anormal <strong>for</strong>m.Case + . If this <strong>for</strong>mula were derivable, then by soundness of typing¢we would have a § closed term of type ¡ +. Let be a variable of type .+Then by lemma 2.13 the normal <strong>for</strong>m of +-0 would be of the <strong>for</strong>m + 5$/ 5$/6 , with§ ¡5 / 5 /6 normal terms . By 5 / 5 /6 lemma 2.13 have to be variables, hence distinct.This is the desired contradiction. £ ¤ - ¥3£ ¤Case . £ Instantiate by and by¤ ¢. Then since the premise ¢ are derivable, we could also deriveimpossible.¢ &and also clearly, which we have just shown to be¢Theorem 4.8 (Soundness). Assume § ) ¨ ¡ ¦ #. Then there is a derivation of¦## £¢ from assumptions ¨ £¢ £ <strong>for</strong> ¢¥ § ¨.soundness £ ¤ :¥ £ ¤Proof. Case §. Recall that ¢ #'& / ¨7 , hence ¥ § +. SoProof. By induction on the definition of § ) ¨ ¡ ¦ #. Only the axioms andinduction are of interest. For the Efq-axioms (11) and the equality axioms except(16) the claim is trivial, since they neither contain existence predicates nor disjunctions,and there<strong>for</strong>e, by proposition 4.2, part 1., their realization is equivalent tothemselves. As <strong>for</strong> the remaining axioms we restrict ourselves to some of the moreinteresting cases. Note that because the <strong>for</strong>mula ¦## £¢ is c.i. we may, usingaxiom (25), assume that all objects involved exist. More precisely, if ¦## ¥¢is of the £ <strong>for</strong>m we may instead ¨7 £ prove .¡ £ £ ¤ ¤Case .£¢ ¡ £ Assume , i.e. that § ¥¢ ¥ 6 § £¢ £ . As indicated above we may assume thatexists. Wemust § £¢ £ ¤ ¤ show . Assume ¥¢ £ ¤ ,i.e. © ¦ ¥¢ ©£¢ £ ©¥¢¤. We must show that ¥¢¤. Using ©<strong>for</strong> some existing © © = . Then¡axiom (23), we may also assume that & & and 6 & ©, so £¢ ¦¥ ©¥¢ £ . Now from -& ¡ © ©the claim follows.and . The <strong>for</strong>mer followsfrom the injectivity of the constructor , and the latter from the disjointnessof the ranges of the constructors and . ¤ ,¥ £ ¤ ¥ £ ¤Case Assume 6 ¥¢ ¤ 4¥ £ . , i.e. ¨ -© 6 £¢ ¤ "¥ -,& 6 ¥¢ £ ¤ . further §£¢ ¥ £< ,¤i.e.¥ . ¤¥ . ¤21 § & ')&( ¤, . - £¢ ¥ © § & '& ¤, . © ©¥¢ £


,¢ ¦## ¥¢ &'(" # &.- $¦## £¢ &')(" # *,+ &.- " # *,+8 ¢ § 6 ¤ §£¢ § § & ( , w.l.o.g., as £¢ . It'& follows and subsequently. ¢ § 6 & 8 ¢ '&( 6 6 © 8 © 6 © ©£¢¤£¢¤ 8 ¢ § 6where is c.i. Assume £¢ ¨ ©- ¨©- , i.e. © & © £¢© 1 £¢ 1% ! ¥¢ We have to show . Because we may assume that exists we canuse axiom (24) to writeSince we may conclude.Case. This is equivalent to , and in turn, byremark 3.11, part 3, equivalent to , which is what we have to show.Case . ¥ ¡¤£ . By IH ¤ ##¦ ¥¢ ¨ ¢" , i.e. ¤ ## & ¢ , and¦##¦ ¥¢ ¨7 ¦ *,+ &- " #i.e. by proposition 4.2¥ . ¤¨ ¥¢ ¦ ¦## £¢ *,+ &- " # (27)We must ¤ ## ¦##, £¢ &')(" # ¢" # show . Thanks to axiom (25) wemay ¨7 ¢ assume . This allows us to use induction ¢ on to prove ¤ ## ¦##, £¢ &'(" # ¢" #Since&'( ¦## ' and' ¥¢ &'(" # &'(" # by proposition 4.2, it sufficesto proveLet be given and assume £¢ &')(" # ¦##, £¢ (28)¥¢ &'(" # (29)We must showi.e.*,+ &- $ ¦## ¥¢ *,+ &- " #¦## ¦##, § £¢ *,+ &- " # This follows from (27) ¦##. with<strong>for</strong> , using (28) and (29).4.4 ApplicationsFrom the soundness theorem 4.8 together with lemma 2.13 we can obtain moreunderivability results, making use of the set-theoretic model (cf. definition 2.2).sub-appl22


§¡ ¥¢ ¨ ¦ ¥£ £ ¨ ¦ ¥£ £ ¡ § &£ £ £¢ & ¥7 &§¡!§ £¢ & ¥ & Corollary 4.9. The following <strong>for</strong>mulas are underivable:underiv2 ¨ ¦ ¥£ £ ¨ ¦ ¨ ¦ ¡¡ & ¥7 & Proof. ¨ ¦ ¥£ £ & #Case . If were derivable, then by thesoundness theorem 4.8 we would have a closed §¦term such §¡ ¥¢ that , i.e.Because of soundness w.r.t. the set-theoretic interpretation, the value of the closedterm in the model is . By lemma 2.13 the normal <strong>for</strong>m of § is a numeral, hence§of the £ ¡ ¥£ 5/6 <strong>for</strong>m . This implies that we would have a closed term of type ,5/contradicting lemma 2.13.+¦ ¨ ¦ ¡ Case . Instantiate this <strong>for</strong>mula with¨. If the result were derivable, then by the soundness theorem we would have £!5 a§ closed term ¢ 0 ¢ of type such that¨ ¦ ¥£!5 ¨ ¦ ¡ ¥£!5 £ 5 £¢ §Instantiate this <strong>for</strong>mula £ withtrue, hence also5 . Then in the set-theoretic model the premise is ¦ ¥¢ ¨ ¦ ¥£ 5 § £¢ ¨ ¦ ¡¡ ¥£ 5 £!5 !§ ¥£ 5 § £¢ ¨ ¦ ¡¡ ¥£ 5 £ 5 There<strong>for</strong>e the closed term § ¥£!5 has value ¡ , which is impossible by the argumentof the previous case.Case & ¥ &. If this <strong>for</strong>mula were derivable, then by the soundnesstheorem it would be realized by a closed term § of type (8 ( , i.e.By 2.13§ lemma reduces to'&( %either')& %or . There<strong>for</strong>e in the set-theoretic modelwe would have &either &or , which is the desired contradiction.Corollary 4.10. Let ¦be an almost closed derivation of& cor-program-extr ¦§ & '& ( % ¡: & ¥ ¦§ & '& % ¡3 ¤ ¨ ¦¨ © ¡: 1 © ¥ #¥data types) where contains neither existence predicates nor disjunctions.Then ¦## defines a <strong>polynomial</strong> <strong>time</strong> algorithm <strong>for</strong> a <strong>non</strong>-<strong>size</strong> <strong>increasing</strong> function( © ¤23


¤¤from ;¤ to ;objects, the term ¦## of ) to a data objecton ) such that ¦satisfying the specification. That is,¤<strong>for</strong> every tuple of datanormalizes in <strong>polynomial</strong> many steps (in the term lengthof the same term length (plus a constant depending only is provable.Proof. Proposition 4.2, theorem 4.6, theorem 2.25 and corollary 4.5.Corollary 4.11. © ¨ © = ¨ © ¡ 1 © Let , as above, be provable(by an almost closed proof). ©&% = ¨ ¡5 © ¨ 1 Then is alsoprovable.cor-acReferences[1] Klaus Aehlig and Helmut Schwichtenberg. A syntactical analysis of <strong>non</strong><strong>size</strong>-<strong>increasing</strong><strong>polynomial</strong> <strong>time</strong> <strong>computation</strong>. In Proceedings of the 15’thIEEE Symposium on Logic in Computer Science (LICS ’00), pages 84 – 91,June 2000.[2] Stephen Bellantoni, Karl-Heinz Niggl, and Helmut Schwichtenberg. Highertype recursion, ramification and <strong>polynomial</strong> <strong>time</strong>. <strong>An</strong>nals of Pure and AppliedLogic, 104:17–30, 2000.[3] Ulrich Berger. Program extraction from normalization proofs. In M. Bezemand J.F. Groote, editors, Typed Lambda Calculi and Applications, volume664 of Lecture Notes in Computer Science, pages 91–106. SpringerVerlag, Berlin, Heidelberg, New York, 1993. www.mathematik.unimuenchen.de/berger/articles/tlca/mr.dvi.Z.[4] Voukko-Helena Caseiro. Equations <strong>for</strong> Defining Poly-<strong>time</strong> Functions. PhDthesis, University of Oslo, 1997. ftp.ifi.uio.no/pub/vuokko/.[5] Kurt G ödel. Über eine bisher noch nicht ben ützte Erweiterung des finitenStandpunkts. Dialectica, 12:280–287, 1958.[6] Martin Hofmann. A type system <strong>for</strong> bounded space and functional in-placeupdate. To appear: Nordic Journal of Programming. <strong>An</strong> extended abstracthas appeared in ‘Programming Languages and Systems’ (Proc. ESOP 2000),G. Smolka, ed., Springer LNCS, 2000.[7] Martin Hofmann. Linear types and <strong>non</strong>-<strong>size</strong>-<strong>increasing</strong> <strong>polynomial</strong> <strong>time</strong> <strong>computation</strong>.In Proceedings 14’th Symposium on Logic in Computer Science(LICS’99), pages 464–473, 1999.[8] Felix Joachimski and Ralph Matthes. Short Proofs of Normalization <strong>for</strong>thesimply-typed -calculus, permutative conversions and G ödel’s . toappear: Archive <strong>for</strong> Mathematical Logic, www.tcs.in<strong>for</strong>matik.unimuenchen.de/matthes/papers/sn.html, 1998.24


[9] Daniel Leivant. Intrinsic reasoning about functional programs I. First ordertheories. To appear in <strong>An</strong>nals of Pure and Applied Logic.[10] Jaco van de Pol. Termination of Higher-order Rewrite Systems. PhD thesis,Utrecht University, 1996.[11] Uday Reddy. Global state considered unnecessary. <strong>An</strong> introduction to objectbased semantics. J. Lisp and Symbolic Computation, 9:7–76, 1996.[12] John C. Reynolds. Syntactic control of interference. In ACM Symp. on Princ.of Programming Lang., pages 39–46. ACM, 1978.25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!