| B. Nordstrom. Terminating General Recursion. BIT, 28(3):605-619, October 1988. |
....condition guaranteeing termination. Hence, there is no direct way of formalising this kind of algorithms in type theory. The standard way of handling general recursion in constructive type theory uses a well founded recursion principle derived from the accessibility predicate Acc (see [Acz77, Nor88, BB00] However, the use of this predicate in the type theoretic formalisation of general recursive algorithms often results in unnecessarily long and complicated codes. Moreover, its use adds a considerable amount of code with no computational content, that distracts our attention from the ....
....abstractions, that we nd unsatisfactory at the moment. We also plan to explore the use of impredicative type theory to formalise the method using an explicit type constructor for partial functions. 8.1 Related Work There are few studies on formalising general recursion in type theory. In [Nor88] Nordstr om uses the predicate Acc for that purpose. One can adopt a set theoretic approach and see functions as relations. Specifically, the behaviour of a recursive function can be described by an inductive relation giving its operational semantics (see, for example, Win93] Operational ....
B. Nordstrom. Terminating General Recursion. BIT, 28(3):605{ 619, October 1988.
....on which recursive functions may be dened are not restricted to simple concrete data types, such as term algebras or nite branching trees. Innite branching is also allowed, so that some inductive types are powerful enough to describe the more complicated notions of terminating functions [9]. The intuitive notion is that of well founded orders, for which there exists no innite descending chain. If we describe a function such that recursive calls are performed only on terms that are smaller than the initial argument for some well founded order, then we are sure there cannot be an ....
....from previously known well founded relations. By comparison with Paulson s work, our technique is to obtain reduction rules that are specic to each recursive function. The introduction of well founded recursion using an accessibility principle as used in this paper was described by Nordstr#m in [9]. Inductive denitions and inductive types also appear in proof systems based on simply typed higher order logic, such as HOL [6] or Isabelle [13] Camilleri and Melham provide a package to systematize the denition of inductive relations in the HOL system [8] but this is not powerful enough to ....
[Article contains additional citation context not shown here]
Bengt Nordstr#m. Terminating general recursion. BIT, 28, 1988.
....on objects that satisfy no condition guaranteeing termination. As a consequence, there is no direct way of formalising them in type theory. The standard way of handling general recursion in type theory uses a wellfounded recursion principle derived from the accessibility predicate Acc (see [Acz77,Nor88,BB00] The idea behind the accessibility predicate is that an element a is accessible by a relation if there exists no in nite decreasing sequence starting from a. A set A is said to be well founded with respect to if all its elements are accessible by . Formally, given a set A, a binary ....
....the task of formal veri cation dramatically easier. Most of the examples we presented have been formally checked using the proof assistant ALF (see [AGNvS94,MN94] which supports Dybjer s schema. There are not many studies on formalising general recursion in type theory, as far as we know. In [Nor88] Nordstr om uses the predicate Acc for that purpose. Balaa and Bertot [BB00] use x point equations to obtain the desired equalities for the recursive de nitions, but one still has to mix the actual algorithm with proofs concerning the well foundedness of the recursive calls. In any case, their ....
B. Nordstrom. Terminating General Recursion. BIT, 28(3):605-619, October 1988.
....equations guarantees exhaustive, non overlapping sets of patterns ( Coq92] but termination of these functions is not guaranteed since they may be general recursive. One could restrict the recursive calls to only allow calls on structurally smaller arguments as is dened in [Coq92] Dah92] and [Nor88]. However, to achieve AEexibility, we may not want to impose on too many syntactical restrictions. Termination can be proved (by the user) as suggested in [Nor88] but some kind of termination check ought to be implemented. On the other hand, there are experiments being done in ALF to represent ....
....One could restrict the recursive calls to only allow calls on structurally smaller arguments as is dened in [Coq92] Dah92] and [Nor88] However, to achieve AEexibility, we may not want to impose on too many syntactical restrictions. Termination can be proved (by the user) as suggested in [Nor88], but some kind of termination check ought to be implemented. On the other hand, there are experiments being done in ALF to represent innite objects in type theory (see [Coq94] 179 180 CHAPTER 9. THE ALF PROOF ENGINE [Coqa] Pra] which would not be possible with such restrictions. Thus, some ....
Bengt Nordstr#m. Terminating General Recursion. BIT, 28(3):605619, October 1988.
....recursion over de ned inductive types. But we can allow a general recursion operator in type theory extended with propositions and such that addition does not distroy the property that all well typed programs terminate. We present here the way from primitive recursion to general recursion [19]. For a better understanding we take the naturals as example and choose the general formulation with inference rules and classical functional notation. But the formulation in the theory presented in section 2 is not diOEcult to obtain. 5.1 Primitive Recursion We consider the rule for natural ....
....true 5.3 General recursion and well founded induction Nothing in the course of value induction rule is particular to the type of natural numbers and the reason why the rule works is that this type is well founded. So, we can generalize the rule to arbitrary set A well founded by a relation A [19] and to express that A is well founded by A we use the proposition wellfounded(A; A ) For further details, refer to the part about the set of accessible elements. Recursion rule wellfounded(A; A ) p : A e(x; y) C(x) x : A; y(z) C(z) z A x] rec(e; p) C(p) Where the value of rec(e; p) ....
[Article contains additional citation context not shown here]
B. Nordstr#m. Terminating general recursion. Technical Report 46, Programming Methodology Group, G#teborg University, June 1988.
No context found.
B. Nordstrom. Terminating General Recursion. BIT, 28(3):605-619, October 1988.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC