|
|
Line 112: |
Line 112: |
|
=== Operations === |
|
=== Operations === |
|
|
|
|
− |
:<math>\overline\mathbf\dot K^m_n : \left\lceil m\right\rceil \times \left\lceil n\right\rceil^m \supset\!\to \left\lceil n\right\rceil</math> |
+ |
:<math>\overline\mathbf\dot K^m_n : \left\lceil m\right\rceil \times \left\lceil n\right\rceil^m \to \left\lceil n\right\rceil</math> |
− |
:<math>\overline\mathbf R^m : \left\lceil m\right\rceil \times \left\lceil m+2\right\rceil \supset\!\to \left\lceil m+1\right\rceil</math> |
+ |
:<math>\overline\mathbf R^m : \left\lceil m\right\rceil \times \left\lceil m+2\right\rceil \to \left\lceil m+1\right\rceil</math> |
− |
:<math>\overline\mu^m : \left\lceil m+1\right\rceil \supset\!\to \left\lceil m\right\rceil</math> |
+ |
:<math>\overline\mu^m : \left\lceil m+1\right\rceil \to \left\lceil m\right\rceil</math> |
|
|
|
|
|
Their definitions are straightforward extension of the corresponding total function based definitions. |
|
Their definitions are straightforward extension of the corresponding total function based definitions. |
Revision as of 00:16, 30 April 2006
Introduction
PlanetMath article
Plans towards a programming language
Well-known concepts are taken from [Mon:MatLog], but several new notations (only notations, not concepts) are introduced to reflect all concepts described in [Mon:MatLog], and some simplification are made (by allowing zero-arity generalizations). These are plans to achive formalizations that can allow us in the future to incarnate the main concepts of recursive function theory in a programming language.
Primitive recursive functions
Type system
Base functions
Constant
Question: is the well-known approach superfluous? Can we avoid it and use the more simple and indirect approach?
Are these approaches equivalent? Is the latter (more simple) one as powerful as the former one? Could we define a using the approach?
Let us try:
This looks like working, but raises new questions: what about generalizing operations (here composition) to deal with zero-arity cases in an appropriate way?
E.g.
where
can be regarded as -ary functions throwing all their arguments away and returning .
Does it take a generalization to allow such cases, or can it be inferred?
Successor function
Projection functions
For all :
Operations
Composition
This resembles to the combinator of Combinatory logic (as described in [HasFeyCr:CombLog1, 171]).
If we prefer avoiding the notion of the nested tuple, and use a more homogenous style (somewhat resembling to currying):
Let underbrace not mislead us -- it does not mean any bracing.
remembering us to
Primitive recursion
-
The last equation resembles to the combinator of Combinatory logic (as described in [HasFeyCr:CombLog1, 169]):
General recursive functions
Everything seen above, and the new concepts:
Type system
See the definition of being special [Mon:MathLog, 45]. This property ensures, that minimalization does not lead us out of the world of total functions. Its definition is the rather straightforward formalization of this expectation.
It resembles to the concept of inverse -- more exactly, to the existence part.
Operations
Minimalization
Minimalization does not lead us out of the word of total functions, if we use it only for special functions -- the property of being special is defined exactly for this purpose [Mon:MatLog, 45].
As we can see, minimalization is a concept resembling somehow to the concept of inverse.
Existence of the required minimum value of the set -- a sufficient and satisfactory condition for this is that the set is never empty. And this is equivalent to the statement
Partial recursive functions
Everything seen above, but new constructs are provided, too.
Type system
Question: is there any sense to define
in another way than simply ? Partial constant?
Is
or
- ?
Operations
Their definitions are straightforward extension of the corresponding total function based definitions.
Bibliography
- [HasFeyCr:CombLog1]
- Curry, Haskell B; Feys, Robert; Craig, William: Combinatory Logic. Volume I. North-Holland Publishing Company, Amsterdam, 1958.
- [Mon:MathLog]
- Monk, J. Donald: Mathematical Logic. Springer-Verlag, New York * Heidelberg * Berlin, 1976.