## Ensuring termination by typability (2004)

### Cached

### Download Links

- [www.cse.unsw.edu.au]
- [www.pps.jussieu.fr]
- [www.pps.jussieu.fr]
- [www.pps.jussieu.fr]
- [www.cs.cmu.edu]
- [basics.sjtu.edu.cn]
- [www.cs.cmu.edu]
- [www.pps.univ-paris-diderot.fr]
- [www.pps.jussieu.fr]
- [www.cs.cmu.edu]
- [basics.sjtu.edu.cn]
- [www.it.uu.se]
- [www.cs.cmu.edu]
- [www.pps.univ-paris-diderot.fr]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proceedings of IFIP TCS 2004 |

Citations: | 14 - 3 self |

### BibTeX

@INPROCEEDINGS{Deng04ensuringtermination,

author = {Yuxin Deng and Davide Sangiorgi Inria},

title = {Ensuring termination by typability},

booktitle = {In Proceedings of IFIP TCS 2004},

year = {2004},

pages = {619--632},

publisher = {Kluwer}

}

### OpenURL

### Abstract

Abstract. A term terminates if all its reduction sequences are of finite length. We show four type systems that ensure termination of well-typed ss-calculus processes. The systems are obtained by successive refinements of the types of the simply typed ss-calculus. For all (but one of) the type systems we also present upper bounds to the number of steps well-typed processes take to terminate. The termination proofs use techniques from term rewriting systems. We show the usefulness of the type systems on some non-trivial examples: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition, a symbol table implemented as a dynamic chain of cells. 1 Introduction A term terminates if all its reduction sequences are of finite length. As far as programminglanguages are concerned, termination means that computation in programs will eventually stop. In computer science termination has been extensively investigated in term rewritingsystems [7, 5] and *-calculi [9, 4] (where strong normalization is a synonym more commonlyused). Termination has also been discussed in process calculi, notably the

### Citations

749 | Rewrite systems
- Dershowitz, Jouannaud
- 1990
(Show Context)
Citation Context ...ination we choose a measure which decreases after finite steps of reductions. To compare two measures, we exploit lexicographic and multiset orderings, well-known techniques in term rewriting systems =-=[5, 4]-=-. For the core type system, the measure is just a vector recording, for each level, the number of outputs (unguarded by replicated inputs) at channels with that level in the type. For the extended typ... |

588 |
Communicating and Mobile Systems: The π-Calculus
- Milner
- 1999
(Show Context)
Citation Context ...ated in term rewriting systems [5, 3] and λ-calculi [7, 2] (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the π-calculus =-=[12, 17]-=-, a formalism widely used to address issues related to concurrency. Indeed, termination is interesting in concurrency. For instance, if we interrogate a process, we may want to know that an answer is ... |

440 |
The ⇡-calculus: a Theory of Mobile Processes
- Sangiorgi, Walker
- 2001
(Show Context)
Citation Context ...igated in term rewriting systems [5, 3] and�-calculi [7, 2] (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the�-calculus =-=[12, 17]-=-, a formalism widely used to address issues related to concurrency. Indeed, termination is interesting in concurrency. For instance, if we interrogate a process, we may want to know that an answer is ... |

315 |
Functions as Processes
- Milner
- 1992
(Show Context)
Citation Context ...s�Üand a return channelÖ, processÊdoes some computation, and finally the result is delivered atÖ. This style of encoding is a straightforward adaptation of Milner’s encoding of�-terms into�-processes =-=[10]-=-. Furthermore, the resulting processes are well typed inÌ. For instance, the process�in (2) is typable if we give name�the type℄Æ�Ø�℄Æ�Ø.By contrast, the encoding of functions that are not primitive r... |

198 | Proving termination with multiset orderings
- Dershowitz, Manna
- 1975
(Show Context)
Citation Context ...s programming languages are concerned, termination means that computation in programs will eventually stop. In computer science termination has been extensively investigated in term rewriting systems =-=[5, 3]-=- and�-calculi [7, 2] (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the�-calculus [12, 17], a formalism widely used to ad... |

177 | The polyadic π-calculus: A tutorial
- Milner
- 1993
(Show Context)
Citation Context ...f all outputs with subject a are followed by 0. That is, if āv.P appears in a process then P ≡ 0. A convenient way of distinguishing between synchronous and asynchronous names is using Milner’s sorts =-=[11]-=-. Thus we assume two sorts of names, AN and SN, for asynchronous and synchronous names respectively, with the requirement that all names in AN are syntactically used as asynchronous names. We assume t... |

155 | Comparing the expressive power of the synchronous and the asynchronous pi-calculus
- Palamidessi
(Show Context)
Citation Context ...king on asynchronous�-calculus, because synchronous�-calculus È����������È �����Ü�¡¡¡��ÒÜÒ Ò�and���Ò����Æ is sometimes useful – see for instance the example in Section 6.2 – and it is more expressive =-=[14]-=-. However, all the results in this paper are valid for asynchronous�-calculus as well.) We make another syntactic modification to the calculus by adding a construct to represent a sequence of inputs u... |

91 |
A pi-calculus semantics for an object-based design notation
- Jones
- 1993
(Show Context)
Citation Context ...: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition from [13, 17], a symbol table implemented as a dynamic chain of cells from =-=[8, 15]-=-. Roughly, for each type system to prove termination we choose a measure which decreases after finite steps of reductions. To compare two measures, we exploit lexicographic and multiset orderings, wel... |

83 | Termination
- Dershowitz
- 1985
(Show Context)
Citation Context ...s programming languages are concerned, termination means that computation in programs will eventually stop. In computer science termination has been extensively investigated in term rewriting systems =-=[5, 3]-=- and�-calculi [7, 2] (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the�-calculus [12, 17], a formalism widely used to ad... |

65 | 2000): What Is a ‘Good’ Encoding of Guarded Choice
- Nestmann
(Show Context)
Citation Context ...e show the usefulness of the type systems on some non-trivial examples: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition from =-=[13, 17]-=-, a symbol table implemented as a dynamic chain of cells from [8, 15]. Roughly, for each type system to prove termination we choose a measure which decreases after finite steps of reductions. To compa... |

54 |
The Join-Calculus: a Calculus for Distributed Mobile Programming
- Fournet
- 1998
(Show Context)
Citation Context ...ry – it only simplifies the presentation. It is partly justified by the usefulness of input sequences in applications. (It also strongly reminds us of the input pattern construct of the Join-calculus =-=[6]-=-). We call� an input pattern. Note that all but the last name in�are required to be asynchronous. As far as termination is concerned, we believe that the constraint – and therefore the distinction bet... |

30 |
Proofs of strong normalization
- Gandy
- 1980
(Show Context)
Citation Context ...ges are concerned, termination means that computation in programs will eventually stop. In computer science termination has been extensively investigated in term rewriting systems [5, 3] and�-calculi =-=[7, 2]-=- (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the�-calculus [12, 17], a formalism widely used to address issues related... |

26 | An introduction to the pi-calculus - Parrow - 2001 |

22 | Sequentiality and the pi-calculus
- Berger, Honda, et al.
- 2001
(Show Context)
Citation Context ...t-multiset. For instance, suppose a : ♯3Nat, b : ♯2Nat, c : ♯1Nat and P def = ā〈1〉 | ā〈1〉 | ¯b〈2〉 |!a(n). ¯b〈n + 1〉 | b(n).¯c〈n〉, then T ′ ⊢ P and there are three Nat-multisets: MP,3 = [1, 1], MP,2 = =-=[2]-=- and MP,1 = [∞]. Formally, we define MP,i as follows: def M0,i = [ ] def MνaP,i def M !a(x).P,i = [ ] def MP |Q,i def = MP,i def MP+Q,i M a(x).P,i Māv.P,i def = = MP,i = MP,i ⊎ MQ,i = MP,i ⊎ MQ,i ⎧ ⎨ ... |

19 | Termination of processes
- Sangiorgi
- 2006
(Show Context)
Citation Context ...ly because of non-terminating internal activity, and that, therefore, the process will eventually accept interactions with the environment. Languages of terminating processes are proposed in [19] and =-=[16]-=-. In both cases, the proofs of termination make use of logical relations, a well-knowns2 technique from functional languages. The languages of terminating processes so obtained are however rather ‘fun... |

19 |
The typed λ-calculus is not elementary recursive
- Statman
- 1979
(Show Context)
Citation Context ...k ). As a consequence we are not able to encode the simply typed λ-calculus, according to the known result that computing the normal form of a non-trivial λ-term cannot be finished in elementary time =-=[18, 9]-=-. We shall see in the next section an extension of T that makes it possible to encode all primitive recursive functions (some of which are not representable in the simply typed λ-calculus). 4. Allowin... |

17 | Strong Normalisation in the Pi-Calculus
- Yoshida, Berger, et al.
(Show Context)
Citation Context ...live simply because of non-terminating internal activity, and that, therefore, the process will eventually accept interactions with the environment. Languages of terminating processes are proposed in =-=[19]-=- and [16]. In both cases, the proofs of termination make use of logical relations, a well-knowns2 technique from functional languages. The languages of terminating processes so obtained are however ra... |

15 | R.,\Notes on simply typed Lambda Calculus
- Loader
(Show Context)
Citation Context ...eÇÒ�. As a consequence we are not able to encode the simply typed�-calculus, according to the known result that computing the normal form of a non-trivial �-term cannot be finished in elementary time =-=[18, 9]-=-. We shall see in the next section an extension ofÌthat makes it possible to encode all primitive recursive functions (some of which are not representable in the simply typed �-calculus). 4. Allowing ... |

9 | On strong normalization in the intersection type discipline
- Boudol
(Show Context)
Citation Context ...ges are concerned, termination means that computation in programs will eventually stop. In computer science termination has been extensively investigated in term rewriting systems [5, 3] and�-calculi =-=[7, 2]-=- (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the�-calculus [12, 17], a formalism widely used to address issues related... |

6 |
The polyadicπ-calculus: A tutorial
- Milner
- 1993
(Show Context)
Citation Context ...onous if all outputs with subject�are followed by 0. That is, if��Ú�Èappears in a process thenÈ�. A convenient way of distinguishing between synchronous and asynchronous names is using Milner’s sorts =-=[11]-=-. Thus we assume two sorts of names,�ÆandËÆ, for asynchronous and synchronous names respectively, with the requirement that all names in�Æare syntactically used as asynchronous names. We assume that a... |

4 |
Mathematical background
- Bezem
- 2003
(Show Context)
Citation Context ... over two vectors with equal length. We also define an order between two vectors of equal length as �Ñ��Ñ� �¡¡¡�Ñ�iff����withÒ��Ñ�for���andÒ��Ñ�. LetËbe a set and�astrict partial order onË. Following =-=[1]-=-, we write a multisetÅoverËin the whereÜ� Ëfor� formÅ��Ü�����ÜÒ℄, Ë�Ì Î ::=Î�Ä ::=Ä��ÓÓÐ�Æ�Ø types values4��Ò; we useÅ℄Åfor the union ofÅandÅ, and write�ÑÙÐfor the multiset ordering (on multisets over... |

3 | The typed π-calculus at work: A proof of Jones’s parallelisation theorem on concurrent objects. Theory and Practice of Object-Oriented Systems
- Sangiorgi
- 1999
(Show Context)
Citation Context ...: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition from [13, 17], a symbol table implemented as a dynamic chain of cells from =-=[8, 15]-=-. Roughly, for each type system to prove termination we choose a measure which decreases after finite steps of reductions. To compare two measures, we exploit lexicographic and multiset orderings, wel... |

2 |
Communicating and Mobile Systems: the�-Calculus
- Milner
- 1999
(Show Context)
Citation Context ...igated in term rewriting systems [5, 3] and�-calculi [7, 2] (where strong normalization is a synonym more commonly used). Termination has also been discussed in process calculi, notably the�-calculus =-=[12, 17]-=-, a formalism widely used to address issues related to concurrency. Indeed, termination is interesting in concurrency. For instance, if we interrogate a process, we may want to know that an answer is ... |

2 |
Mathematical Foundations of Programming
- Beckman
- 1980
(Show Context)
Citation Context ...thing to the Nat-multiset. For instance, suppose a : ♯3Nat, b : ♯2Nat, c : ♯1Nat and P def = ā〈1〉 | ā〈1〉 | ¯b〈2〉 |!a(n). ¯b〈n + 1〉 | b(n).¯c〈n〉, then T ′ ⊢ P and there are three Nat-multisets: MP,3 = =-=[1, 1]-=-, MP,2 = [2] and MP,1 = [∞]. Formally, we define MP,i as follows: def M0,i = [ ] def MνaP,i def M !a(x).P,i = [ ] def MP |Q,i def = MP,i def MP+Q,i M a(x).P,i Māv.P,i def = = MP,i = MP,i ⊎ MQ,i = MP,i... |

1 |
The typed�-calculus at work: A proof of Jones’s parallelisation theorem on concurrent objects. Theory and Practice of Object-Oriented Systems
- Sangiorgi
- 1999
(Show Context)
Citation Context ...: the encodings of primitive recursive functions, the protocol for encoding separate choice in terms of parallel composition from [13, 17], a symbol table implemented as a dynamic chain of cells from =-=[8, 15]-=-. Roughly, for each type system to prove termination we choose a measure which decreases after finite steps of reductions. To compare two measures, we exploit lexicographic and multiset orderings, wel... |

1 |
The typed�-calculus is not elementary recursive
- Statman
- 1979
(Show Context)
Citation Context ...eÇÒ�. As a consequence we are not able to encode the simply typed�-calculus, according to the known result that computing the normal form of a non-trivial �-term cannot be finished in elementary time =-=[18, 9]-=-. We shall see in the next section an extension ofÌthat makes it possible to encode all primitive recursive functions (some of which are not representable in the simply typed �-calculus). 4. Allowing ... |

1 | Genericity and the pi-calculus - Beckman - 1980 |