Tras mi pregunta acerca de la definición de la multiplicación en términos de divisibilidad, pueden todos los de la aritmética ser axiomatized con un sencillo de dos-término de relación? Asaf Karagila comentarios sobre mi pregunta de que los tres períodos de la relación Resto es suficiente. Desde entonces he descubierto que los dos términos de la relación es satisfactoria, y este artículo de la Wikipedia está de acuerdo ("la lógica de primer orden es indecidible [...] a condición de que el lenguaje tiene al menos un predicado de arity al menos 2"). ¿Cuál es el predicado binario? ¿Cómo puede aritmética ser axiomatized en términos de la misma? Ya he descubierto la respuesta, por lo que me han etiquetado esto como un rompecabezas. Sin embargo, mi construcción es difícil y me pregunto si hay alguna de las maneras más fáciles.
EDIT: No hay respuestas todavía, así que estoy añadiendo algunos detalles más acerca de mi propia solución. Un predicado binario que creo que es suficiente es: R(2x+1,y) := Divide(x,y), R(2x,y) := Testbit(x,y). Un siguiente paso es la definición de la igualdad como x=y := ∀z:R(z,x)↔R(z,y). Todavía faltan las definiciones de 0, 1, adición y la multiplicación.
EDIT: Como se pide, voy a incluir el resto de mi intento de solución y ampliar la pregunta algo. Es mi solución correcta? Puede ser simplificado en forma significativa? Hay otros predicados binarios que trabajo? Lo que es más precisa y la forma correcta de plantear el problema? Lo siento si eso es demasiado. De todos modos, aquí está mi solución. Iniciar con la definición de la igualdad como:
x=y := ∀z:R(z,x)↔R(z,y)
lo que significa que la igualdad de las cosas tienen el mismo divisores y también el mismo conjunto de bits. A continuación definimos 0 y 1:
x=0 := ∀y:R(x,y)↔R(y,x)
Impar(x) := ∃y:y=0∧R(y,x)
x=1 := Impar(x)∧∀y:Impar(y)∧R(y,x)↔y=0
También con Impar, la divisibilidad puede ser descomprimido:
Divide(x,y) := ∀z:Impar(z)→(R(z,x)→R(z,y))
Ahora podemos definir 2:
PowerOf2(x) := ∃y:Impar(y)∧R(y,x)∧∀z:Impar(z)∧R(z,x)→y=z
Prime(x) := (x=1)∧∀y:Divide(y,x)↔(y=x∨y=1)
x=2 := PowerOf2(x)∧Prime(x)
Y también la multiplicación por 2:
F(x,y,w) := PowerOf2(w)∧Divide a(w,x)∧Divide a(w,y)
x=2*y := (∀z:Impar(z)→(Divide a(z,y)↔Divide a(z,x)))∧(∃w:F(x,y,w)∧∀z:F(x,y,z)→z=w)
Tener la multiplicación por 2 permite Testbit a ser descomprimido:
Testbit(x,y) := ∃z:z=2*s∧R(z,x)
Testbit nos da las potencias de 2:
x=Potencia(2,y) := ∀z:Testbit(z,x)↔z=y
Que, finalmente, los rendimientos de la función sucesor:
y=Sucesor(x) := ∃z∃w:z=Potencia(2,x)∧w=Potencia(2,y)∧w=2*z
Y también menos que:
x<y := (x=y)∧∃z∃w:z=Potencia(2,x)∧w=Potencia(2,y)∧Divide a(z,w)
Ahora además se puede definir:
a+b=c := ∀i:Testbit(i,c)↔(Testbit(i,a)⊕Testbit(i,b)⊕ ∃j:j<i∧Testbit(j,a)∧Testbit(j,b)∧∀k: k<i∧j<k)→(Testbit(k,a)⊕Testbit(k,b)))
Finalmente, con una definición de a+b=c y se Divide(x,y), siga la misma interpretación que se le da en la aceptó respuesta a mi pregunta anterior para definir la multiplicación en términos de divisibilidad y, además, entonces se hace.