Primitive recursion in niteness spaces Lionel Vaux? Laboratoire de Mathématiques de l'Université de Savoie UFR SFA, Campus Scientique, 73376 Le Bourget-du-Lac Cedex, France E-mail: [email protected] Abstract. We study iteration and recursion operators in the multiset relational model of linear logic and prove them nitary in the sense of the niteness spaces recently introduced by Ehrhard. This provides a denotational semantics of Gödel's system T and paves the way for a systematic study of a large class of algorithms, following the ideas of Girard's quantitative semantics in a standard algebraic setting. 1 Introduction The category Fin of niteness spaces and nitary relations was introduced by Ehrhard [1], rening the purely relational model of linear logic. A niteness space is a set equipped with a niteness structure, i.e. a particular set of subsets which are said to be nitary; and the model is such that the usual relational denotation of a proof in linear logic is always a nitary subset of its conclusion. By the usual co-Kleisli construction, this also provides a model of the simply typed lambda-calculus: the cartesian closed category . Fin! The main property of niteness spaces is that the intersection of two nitary subsets of dual types is always nite. This feature allows to reformulate Gi- rard's quantitative semantics in a standard algebraic setting, where morphisms interpreting typed λ-terms are analytic functions between the topological vector spaces generated by vectors with nitary supports. This provided the seman- tical foundations of Ehrhard-Regnier's dierential λ-calculus [2] and motivated the general study of a dierential extension of linear logic [3]. It is worth noticing that niteness spaces can accomodate typed λ-calculi only: for instance, the relational semantics of xpoint combinators is never ni- tary. The whole point of the niteness construction is actually to reject innite computations. Indeed, from a logical point of view, computation is cut elim- ination: the niteness structure ensures the intermediate sets involved in the relational interpretation of a cut are all nite. In that sense, the nitary seman- tics is intrinsically typed. Despite this restrictive design, Ehrhard proved that a limited form of recur- sion was available, by dening a nitary tail-recursive iteration operator. The main result of the present paper is that niteness spaces can actually accomo- date the usual notion of primitive recursion in models of the -calculus: λ Fin! ? Supported by French ANR project CHOCO admits a weak natural number object in the sense of [4,5], hence it is a model of the iterator variant of Gödel's system T . We moreover exhibit a recursion operator for this interpretation of the type of natural numbers and prove it is also nitary: niteness spaces model recursion on all functionals of nite type. Our construction interprets the type of natural numbers dierently from that of Ehrhard. The latter relies on a peculiarity of tail-recursive iteration. Write Nat for the type of natural numbers, and let t, u and v be terms of types respectively Nat, X ) X and X. In the iteration step J (S t) u v J t u (u v), no erasing nor duplication involves t, only the successor S is consumed: the tail-recursive iterator uses its integer argument linearly. The situation is very dierent in the case of the standard iterator: in I (S t) u v u (I t u v), the term t is fed into the argument of u, which needs not be linear. In particular, if u is dened as a constant function (a weakening in linear logic terminology), then t is erased in the right hand side. In that case, the denotational semantics of I (S t) u v must not depend on t. This forbids the successor S to be linear, because S t must produce a result to be distinguished from the null constant O, even without looking at t.1 This phenomenon was already noted by Girard in his interpretation of system T in coherence spaces [6]. We adopt the solution he proposed in that setting, and interpret terms of type Nat by so-called lazy natural numbers. Structure of the paper. We rst provide a quick survey of the essential denitions and properties of niteness spaces we shall use, and introduce the categories Fin and . We then make explicit the denotational semantics of typed -calculi Fin! λ in , and present the niteness space of lazy natural numbers together Fin! Nl with some nitary relations useful in later constructions. We prove that is a Fin! model of system T , by showing that lazy natural numbers form a weak natural number object: for all niteness space A, we dene a nitary relation IA of type Nl ) (A)A) )A)A, which obeys the equations of an iterator. We actually consider the stronger version of system T with a recursion operator and show that admits an internal recursor from which is derived. Hence the Fin! RA IA algorithmic expressivity of turns out to be quite rich. The relation is Fin! RA built as the xpoint of a nitary relation StepA, but since the xpoint operator is not itself nitary, we have to show the nitary approximants n (StepA(;))n≥0 enjoy additional properties to ensure RA is itself nitary. 2 Finiteness spaces The construction of niteness spaces follows a well known pattern. It is given by the following notion of orthogonality: a ? a0 i a \ a0 is nite. Then one unrolls familiar denitions, as we do in the following paragraphs. For a more detailled presentation and proofs of the properties, the obvious reference is [1]. Let A be a set. Denote by P (A) the powerset of A and by Pf (A) the set of all nite subsets of A. Let F ⊆ P (A) any set of subsets of A. We dene 1 This moral argument might seem obscure to the reader not familiar with the rela- tional or coherence semantics. It will be made formal later in the paper. ? 0 0 the pre-dual of F in A as F A = fa ⊆ A; 8a 2 F; a \ a 2 Pf (A)g. In general we will omit the subscript in the pre-dual notation and just write F?. For all ? ?? F ⊆ P (A), we have the following immediate properties: Pf (A) ⊆ F ; F ⊆ F ; if G ⊆ F, F? ⊆ G?. By the last two, we get F? = F???. A niteness structure on A is then a set F of subsets of A such that F?? = F. A niteness space is a dependant pair A = (jAj ; F (A)) where jAj is the underlying set (the web of A) and F (A) is a niteness structure on jAj. We then ? ? ? ? write A for the dual niteness space: A = jAj and F A = F (A) . The elements of F (A) are called the nitary subsets of A. ? Example 1. For all set A, (A; Pf (A)) is a niteness space and (A; Pf (A)) = (A; P (A)). In particular, each nite set A is the web of exactly one niteness ? space: (A; Pf (A)) = (A; P (A)). We introduce the following two: 0 = 0 = (;; f;g) and 1 = 1? = (f;g ; f;; f;gg). We also introduce the niteness space of natural numbers N by: jN j = N and a 2 F (N ) i a is nite. We write O = f0g 2 F (N ). Notice that F is a niteness structure i it is of the form G?. It follows that any niteness structure F is downwards closed for inclusion, and closed under nite unions and arbitrary intersections. Notice however that F is not closed under directed unions in general: for all k 2 N, write k# = fj; j ≤ kg 2 F (N ); then 0 as soon as 0, but S . k# ⊆ k # k ≤ k k≥0 k# = N 62 F (N ) Multiplicatives. For all niteness spaces A and B, we dene A ⊗ B by jA ⊗ Bj = jAj × jBj and F (A ⊗ B) = fa × b; a 2 F (A) ; b 2 F (B)g??. It can be shown that , where and F (A ⊗ B) = fc ⊆ jAj × jBj ; cjl 2 F (A) ; cjr 2 F (B)g cjl cjr are the obvious projections. Let f ⊆ A×B be a relation from A to B, we write f ? = f(β; α); (α; β) 2 fg. For all a ⊆ A, we set f · a = fβ 2 B; 9α 2 a; (α; β) 2 fg. If moreover g ⊆ B × C, we dene g ◦ f = f(α; γ) 2 A × C; 9β 2 B; (α; β) 2 f ^ (β; γ) 2 gg. Then, ?? setting A ( B = A ⊗ B , F (A ( B) ⊆ jAj × jBj is characterized as follows: ? ? ? f 2 F (A ( B) i 8a 2 F (A), f · a 2 F (B) and 8b 2 F B , f · b 2 F A i 8a 2 F (A), f · a 2 F (B) and 8β 2 jBj, f ? · fβg 2 F A? i 8α 2 jAj, f · fαg 2 F (B) and 8b 2 F B?, f ? · b 2 F A? The elements of F (A ( B) are called nitary relations from A to B. By the pre- vious characterization, the identity relation idA = f(α; α); α 2 jAjg is nitary, and the composition of two nitary relations is also nitary. One can thus dene the category Fin of niteness spaces and nitary relations: the objects of Fin are all niteness spaces, and Fin(A; B) = F (A ( B). Equipped with the tensor product ⊗, Fin is symmetric monoidal, with unit 1; it is monoidal closed by the ? denition of (; it is ∗-autonomous by the obvious isomorphism between A and A ( 1.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages15 Page
-
File Size-