General Recursive Function: Difference between revisions
→Champions: Add some shorthand macros |
→Champions: More macros, now Champions section is very readable. |
||
| Line 17: | Line 17: | ||
In order to improve readability we define the following macros: | In order to improve readability we define the following macros: | ||
* Plus constant:<math display="block">\begin{array}{lcl} | * Plus constant. For any <math>n \in \N^+</math>:<math display="block">\begin{array}{lcl} | ||
Plus[n] & \in & GRF_1 \\ | Plus[n] & \in & GRF_1 \\ | ||
Plus[1] & := & S \\ | Plus[1] & := & S \\ | ||
| Line 24: | Line 24: | ||
Plus[n](x) & = & x + n \\ | Plus[n](x) & = & x + n \\ | ||
\end{array}</math> | \end{array}</math> | ||
* Constant:<math display="block">\begin{array}{lcl} | * Constant. For any <math>n \in \N^+</math>:<math display="block">\begin{array}{lcl} | ||
K^k[n] & \in & GRF_k \\ | K^k[n] & \in & GRF_k \\ | ||
K^k[n] & := & C(Plus[n], Z^k) \\ | K^k[n] & := & C(Plus[n], Z^k) \\ | ||
|K^k[n]| & = & 2n+1 \\ | |K^k[n]| & = & 2n+1 \\ | ||
K^k[n](x_1, \dots x_k) & = & n \\ | K^k[n](x_1, \dots x_k) & = & n \\ | ||
\end{array}</math> | |||
* Unary function iteration. For any <math>f \in GRF_1</math>:<math display="block">\begin{array}{lcl} | |||
Rep[f,n] & \in & GRF_1 \\ | |||
Rep[f,n] & := & R(K^0[n], C(f, P^2_2)) \\ | |||
|Rep[f,n]| & = & |f| + 2n + 4 \\ | |||
Rep[f,n](x) & = & f^x(n) \\ | |||
\end{array}</math> | |||
* Polygonal numbers. For any <math>n \in \N^+</math>:<math display="block">\begin{array}{lcl} | |||
Poly[n] & \in & GRF_1 \\ | |||
Poly[n] & := & R(Z^0, R(S, C(Plus[n], P^3_2))) \\ | |||
|Poly[n]| & = & 2n+5 \\ | |||
Poly[n](x) & = & \sum_{y=0}^{x-1}(ky+1) = \frac{k}{2} x(x-1) + x \\ | |||
\\ | |||
Tri & := & Poly[1] \\ | |||
|Tri| & = & 7 \\ | |||
Tri(x) & = & \frac{x(x+1)}{2} \\ | |||
Square & := & Poly[2] \\ | |||
|Square| & = & 9 \\ | |||
Square(x) & = & x^2 \\ | |||
\end{array}</math> | \end{array}</math> | ||
| Line 56: | Line 75: | ||
|≥ 10 | |≥ 10 | ||
|Tri(4) | |Tri(4) | ||
|<math>C( | |<math>C(Poly[1], K^0[4])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
| Line 63: | Line 82: | ||
|≥ 16 | |≥ 16 | ||
|Square(4) | |Square(4) | ||
|<math>C( | |<math>C(Poly[2], K^0[4])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
| Line 70: | Line 89: | ||
|≥ 25 | |≥ 25 | ||
|Square(5) | |Square(5) | ||
|<math>C( | |<math>C(Poly[2], K^0[5])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
| Line 77: | Line 96: | ||
|≥ 36 | |≥ 36 | ||
|Square(6) | |Square(6) | ||
|<math>C( | |<math>C(Poly[2], K^0[6])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
| Line 84: | Line 103: | ||
|≥ 231 | |≥ 231 | ||
|<math>Tri^4(2)</math> | |<math>Tri^4(2)</math> | ||
|<math>C( | |<math>C(Rep[Tri,2], K^0[4])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
| Line 91: | Line 110: | ||
|≥ 26796 | |≥ 26796 | ||
|<math>Tri^5(2)</math> | |<math>Tri^5(2)</math> | ||
|<math>C( | |<math>C(Rep[Tri,2], K^0[5])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
| Line 98: | Line 117: | ||
|<math>> 3^{2^{19}}</math> | |<math>> 3^{2^{19}}</math> | ||
|<math>(\lambda k \to Tri^k(2))^3(1) = Tri^{21}(2)</math> | |<math>(\lambda k \to Tri^k(2))^3(1) = Tri^{21}(2)</math> | ||
|<math>C( | |<math>C(Rep[Rep[Tri,2],1], K^0[3])</math> | ||
|Shawn Ligocki 9 Dec 2025 | |Shawn Ligocki 9 Dec 2025 | ||
| | | | ||
|} | |} | ||
Revision as of 21:49, 9 December 2025
General recursive functions (GRFs), also called µ-recursive functions or partial recursive functions, are the collection of partial functions that are computable. This definition is equivalent using any Turing complete system of computation. See Wikipedia:general recursive function for background.
Historically it was defined as the smallest class of partial functions that is closed under composition, recursion, and minimization, and includes zero, successor, and all projections (see formal definitions below). In the rest of this article, this is the formulation that we focus on exclusively. In this way, it can be considered to be a Turing complete model of computation. In fact, it is one of the oldest Turing complete models, first formalized by Kurt Gödel and Jacques Herbrand in 1933, 3 years before λ-calculus and Turing machines.
BBµ(n) is a Busy Beaver function for GRFs:
where means that is a k-ary GRF and is the "structural size" of f (defined below). In other words, it is the largest number computable via a 0-ary function (a constant) with a limited "program" size. It is more akin to the traditional Sigma score for a Turing machine rather than the Step function in the sense that it maximizes over the produced value, not the number of steps needed to reach that value.
Definition
Primitive Recursive Functions
TODO
Minimization
TODO
Champions
In order to improve readability we define the following macros:
- Plus constant. For any :
- Constant. For any :
- Unary function iteration. For any :
- Polygonal numbers. For any :
| n | BBµ(n) | Informal Computation | Champion Program | Champion Found | Holdouts Proven |
|---|---|---|---|---|---|
| 2k+1 | ≥ k | k | Trivial | ||
| 15 | ≥ 7 | 7 | Trivial | ||
| 17 | ≥ 10 | Tri(4) | Shawn Ligocki 9 Dec 2025 | ||
| 19 | ≥ 16 | Square(4) | Shawn Ligocki 9 Dec 2025 | ||
| 21 | ≥ 25 | Square(5) | Shawn Ligocki 9 Dec 2025 | ||
| 23 | ≥ 36 | Square(6) | Shawn Ligocki 9 Dec 2025 | ||
| 25 | ≥ 231 | Shawn Ligocki 9 Dec 2025 | |||
| 27 | ≥ 26796 | Shawn Ligocki 9 Dec 2025 | |||
| 29 | Shawn Ligocki 9 Dec 2025 |