todo el conjunto de números naturales puede representarse mediante una función recursiva que sólo funciona con un único valor unario
Bravo -- esto es exactamente la idea clave que se explota en la mayoría de las formalizaciones estándar de los números naturales (la más famosa de las cuales se llama Aritmética Peano si tiene curiosidad por conocer los detalles). La función recursiva a la que te refieres, que denotó add(1)
suele denominarse función sucesora y por escrito $S$ . Es una función de los números naturales a los números naturales, que toma un número natural $n$ y devuelve $n+1$ .
Para definir los números naturales $\mathbb{N}$ decimos que $0$ es un número natural, y para cualquier número natural $n$ , $Sn$ es un número natural. Esto nos da todos los números naturales: $0$ , $1 = S0$ , $2 = SS0$ , $3 = SSS0$ etc. También podemos decir que $Sn$ es un nuevo número natural, uno que no se ha definido antes (así, por ejemplo, $4 = SSSS0$ no es igual a $2 = SS0$ ).
Algunas lógicas son tan fuertes que sólo esta definición es suficiente para definir y demostrar lo que queramos sobre los números naturales. Parece que te interesa formalizarlo como un programa. En el asistente de prueba Coq podemos definir los números naturales como:
Inductive naturals : Type :=
| O : naturals
| S : naturals -> naturals.
Esto es similar a tu fragmento de código, pero a diferencia del tuyo (que era código inválido) este es código perfectamente válido definiendo los naturales. Sí, realmente es así de simple -- no se necesita nada más. Aún más sorprendente, podemos ir desde aquí para definir la suma, multiplicación, exponenciación, números primos, y cualquier otra cosa que nos gusta, y pruebe (La mayoría de las definiciones serán recursivas y las pruebas se harán por inducción). Una vez que tenemos la función sucesora $S$ todo lo demás viene después.
Siguiendo esto, creo que el conjunto de los números enteros se puede encontrar como unión de la función de los números naturales y una función similar que utilice la resta en lugar de la suma (dando como resultado el conjunto completo de los números negativos).
Sí, esta idea básica funcionará para definir los enteros $\mathbb{Z}$ de $\mathbb{N}$ . Los números enteros podrían definirse mediante $0$ la función sucesora $S$ y una función predecesora $P$ que lleva $n$ a $n-1$ . A diferencia de lo que ocurre con los números naturales, tenemos que definir una igualdad especial (relación de equivalencia) en los números enteros, de modo que $PSn$ y $SPn$ equivalen a $n$ .
Una definición alternativa (quizás más común) es que un número entero es un par ordenado $(a,b)$ donde $a$ y $b$ son números naturales, y esto representa informalmente el número entero $a-b$ . Entonces tenemos que definir lo que significa que dos números enteros sean iguales (una relación de equivalencia), y decimos que $(a,b) = (c,d)$ si $a + d = b + c$ .
Una vez más, cualquiera de las dos definiciones puede formalizarse fácilmente en un lenguaje de programación como Coq .
Yendo más allá, apliqué más pensamiento - tal vez el conjunto de los números reales se puede aplicar a través de funciones de división para el conjunto de todos los números enteros dividido por el conjunto de todos los números enteros (que ya hemos establecido a través de las funciones anteriores).
Introducir la división de esta manera (fracciones) te llevará de $\mathbb{Z}$ a los números racionales $\mathbb{Q}$ . Pero no te dará los números reales $\mathbb{R}$ que es un conjunto MUCHO mayor que $\mathbb{Q}$ . Hay un lote de números reales, tantos que, desde el punto de vista computacional, no podemos escribir la mayoría de ellos. Como herramienta teórica, sin embargo, es útil definir este conjunto gigante, lo que hacemos normalmente utilizando "cortes de Dedekind" o "secuencias de Cauchy". También hay otras formas menos conocidas. Puede leer sobre ello aquí .
Supongo que mi pregunta es la siguiente: por extraño que parezca, ¿existe un único valor unario? (O, posiblemente, un subconjunto muy pequeño de números semilla - quizás 0 y 1 (¿y quizás -1 para el plano complejo?)) ¿Es nuestro sistema numérico sólo un sistema de transformaciones sobre un valor unario?
Sí, la idea es que podamos empezar con $0$ como único valor base, y utilizar la función sucesora $S$ junto con una forma de construir pares ordenados (para la resta y la división) para generar todos los números que necesitamos. De forma más genérica, partimos de uno o varios valores base ( números de semillas ) y uno o varios constructores recursivos ( transforma ) para acumular todos los números posibles.
Podemos desarrollar los números complejos $\mathbb{C}$ de $\mathbb{R}$ utilizando de nuevo pares ordenados donde $(a,b)$ es $a + bi$ .
Sin embargo, debemos tener cuidado de comprender los límites de nuestra construcción. Por ejemplo, para que muchos cálculos con números naturales sean eficientes, es esencial que se representen como cadenas binarias y no como cadenas unarias de números naturales. $S$ s. Por tanto, si nos importa la eficacia, no todas las representaciones son iguales.
9 votos
Si se introduce una división sobre números enteros, sólo se obtienen números racionales, no todos los números reales. La construcción de $\mathbb{R}$ es algo bastante delicado, que normalmente se realiza mediante cortes Dedekind o completando un espacio métrico.
0 votos
@JackD'Aurizio Entiendo tu afirmación - y desde mis clases de matemáticas elementales, lo sé. Sin embargo, no puedo dejar de preguntarme cómo un conjunto de infinito dividido por infinito no puede producir un número infinito de valores que satisfagan el conjunto real....Aprendí esto, y sé que tengo que leer un poco, pero también tengo mucho que pensar.
2 votos
Pero son diferentes "tipos" de infinito. Véase es.wikipedia.org/wiki/Cantor%27s_argumento_diagonal
0 votos
Por ejemplo, entiendo que el conjunto infinito de los números pares es la mitad del conjunto de los números naturales. (Creo que el término para esto es cardinalidad pero puedo estar equivocado.) Entiendo el concepto pero supongo que la fórmula (o función) para determinar números reales vs racionales no es tan directa como la de pares vs naturales....
0 votos
Para decirlo claramente, la cuestión es que los números enteros o racionales pertenecen a un conjunto contable, los números reales no.
0 votos
@JackD'Aurizio Acabo de ver tu comentario. Estoy mostrando mi ignorancia - por favor, tened paciencia conmigo, ¡lo siento!
1 votos
Lo digo a menudo y lo sigo repitiendo porque lo creo: todos estamos aquí para aprender. No hace falta disculparse.
0 votos
Última pregunta antes de pasar esto al chat - los números racionales se construyen mediante una única función que divide un entero entre un entero. Sabemos que las fracciones se pueden reducir, pero los factores primos en divisores o dividendos no. ¿Supongo (ingenuamente) que por eso tenemos "huecos" en el conjunto de todos los números racionales?
0 votos
Puede que sea una idea ingenua, pero se acerca mucho a la realidad matemática: $\sqrt{2}$ es una de esas lagunas, por ejemplo.
0 votos
Vamos a continuar esta discusión en el chat .
0 votos
Es bastante tarde ahora en Italia, así que me uniré al chat mañana. Un último comentario antes de irme: pensad que entre dos números irracionales distintos siempre hay un número racional y viceversa, pero no hay función biyectiva entre números racionales e irracionales. Puede parecer una situación espeluznante, pero lidiar con tales sutilezas (y explotarlas en el momento adecuado) hace que este juego sea realmente, realmente fascinante.
6 votos
Tu primer comentario sobre los números naturales es una primera reflexión de lo que lleva a algo llamado los Postulados de Peano
3 votos
@PhillipHamilton No puedo editar tu mensaje, pero en caso de que alguien más tropiece con mi pregunta - los axiomas de Peano: es.wikipedia.org/wiki/Peano_axioms
3 votos
Utilizas mucho el adjetivo "unario", pero francamente, no puedo decidirme con qué significado de ese término. Puede significar "con un argumento" para una operación, como en "el sucesor es una operación unaria, mientras que la suma y la multiplicación son operaciones binarias", o puede significar lo que se llama vagamente representaciones de "base 1" de los números naturales, como en "la representación binaria de $6$ es $110$ mientras que su representación unaria es $||||||$ ". Aunque esto último ciertamente está relacionado con tu pregunta, estás aplicando unario a los números en sí, y esto no tiene sentido. Las constantes pueden verse como operaciones nulas.
0 votos
@MarcvanLeeuwen Originalmente, estaba pensando en "base 1", pero supongo que estaba tratando de llegar al hecho de que los "números" que utilizamos de forma regular son en realidad sólo colecciones de un único objeto atómico, a falta de un término mejor. Me falta vocabulario para esto (las matemáticas y las palabras no se me dan bien), pero agradeceré cualquier aportación al respecto.
1 votos
Otro ejemplo de la $0,1,\infty$ tricotomía, recuerdo en álgebra lineal hablando con el profesor sobre el número de puntos que las líneas pueden intersecarse, no en todos, una vez o infinitamente muchos lugares.