ACM Home Page
Please provide us with feedback. Feedback
Extending the loop language with higher-order procedural variables
Full text PdfPdf (313 KB)
Source
ACM Transactions on Computational Logic (TOCL) archive
Volume 10 ,  Issue 4  (August 2009) table of contents
Article No. 26  
Year of Publication: 2009
ISSN:1529-3785
Authors
Tristan Crolard  Paris East University, Créteil Cedex, France
Emmanuel Polonowski  Paris East University, Créteil Cedex, France
Pierre Valarcher  Paris East University, Créteil Cedex, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 52,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1555746.1555750
What is a DOI?

ABSTRACT

We extend Meyer and Ritchie's Loop language with higher-order procedures and procedural variables and we show that the resulting programming language (called Loopω) is a natural imperative counterpart of Gödel System T. The argument is two-fold:

(1) we define a translation of the Loopω language into System T and we prove that this translation actually provides a lock-step simulation,

(2) using a converse translation, we show that Loopω is expressive enough to encode any term of System T.

Moreover, we define the “iteration rank” of a Loopω program, which corresponds to the classical notion of “recursion rank” in System T, and we show that both translations preserve ranks. Two applications of these results in the area of implicit complexity are described.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Avigad, J. and Feferman, S. 1998. Gödel's functional (“dialectica”) interpretation. In Handbook of Proof Theory, S. R. Buss, Ed. Elsevier Science Publishers, 337--405.
 
3
Beckmann, A. and Weiermann, A. 2000. Characterizing the elementary recursive functions by a fragment of Gödel's T. Archive Math. Logic 39, 475--491.
 
4
 
5
 
6
 
7
 
8
 
9
DOD. 1980. The Programming Language Ada. Reference Manual. Springer.
 
10
Donahue, J. E. 1977. Locations considered unnecessary. Acta Inf. 8, 221--242.
11
12
 
13
 
14
Filliâtre, J.-C. and Marché, C. 2004. Multi-prover verification of C programs. In Proceedings of the Formal Methods and Software Engineering, 6th International Conference on Formal Engineering Methods, (ICFEM'04). Lecture Notes in Computer Science, vol. 3308. Springer-Verlag, 15--29.
 
15
16
 
17
 
18
Gödel, K. 1958. Über eine bisher noch nicht benützteerweiterung des finiten standpunktes. Dialectica 12, 280--287.
 
19
Gödel, K. 1990. Collected Works vol. 2. Oxford University Press, Oxford, UK.
 
20
 
21
 
22
 
23
 
24
 
25
Kreisel, G. 1951. On the interpretation of non-finitist proofs—part I. J. Symb. Log 16, 4, 241--267.
 
26
Landin, P. J. 1964. The mechanical evaluation of expressions. Comput. J. 6, 308--320.
27
 
28
Meyer, A. R. and Ritchie, D. M. 1976. The complexity of loop programs. In Proceedings of the ACM Natural Meeting.
 
29
 
30
 
31
 
32
Peter, R. 1968. Recursive Functions. Academic Press.
 
33
Plotkin, G. 1981. A structural approach to operational semantics. Tech. rep. DAIMI FN-19, Aarhus University.
34
 
35
Reynolds, J. C. 1981. The essence of Algol. In Algorithmic Languages, de Bakker and van Vliet, Eds. IFIP, North-Holland, Amsterdam, 345--372.
 
36
 
37
 
38
Schütte, K. 1967. Proof Theory. Addison Wesley.
 
39
 
40
 
41
Turner, D. A. 2004. Total functional programming. J. Unin. Comput. Sci. 10, 7, 751--768.
42
43

Collaborative Colleagues:
Tristan Crolard: colleagues
Emmanuel Polonowski: colleagues
Pierre Valarcher: colleagues