¿Cuál es el significado de la lógica de segundo orden?

Prepárate, la respuesta es larga.

Muchos de ellos, dependiendo de su semántica.

Comenzaremos con el lenguaje de segundo orden. Para construirlo, tomamos un lenguaje de primer orden y agregamos variables predicadas y funcionales que se llamarán variables de segundo orden escritas en negrita (tenga en cuenta que el lenguaje de primer orden contiene solo predicados y constantes funcionales) con la posibilidad de cuantificarlas.

Ahora necesitaremos semántica para esas variables. Tenemos básicamente dos opciones:

  1. Permita que cada variable funcional y predicada se extienda sobre todas las operaciones (resp. Predicados) en el universo ( semántica completa );
  2. o asigne a cada variable de segundo orden un dominio específico ( semántica de Henkin ).

Como era de esperar, estas semánticas diferentes conducen a cosas diferentes.

Henkin

Comenzaremos con la semántica de Henkin, ya que es mucho más simple (en cierto modo). De hecho, si uno tiene una lógica clásica con la semántica de Henkin, se puede demostrar que su poder expresivo es exactamente el mismo que el llamado cálculo de primer orden de muchos tipos, que tiene el mismo poder expresivo que el cálculo estándar de primer orden. La semántica de Henkin se puede usar cuando uno estudia, por ejemplo, aritmética de segundo orden.

Además, muchos teoremas importantes (como el teorema de Löwenheim – Skolem, el teorema de compacidad y el teorema de integridad de Gödel) son válidos para esta semántica.

Sin embargo, LST tiene una consecuencia un poco desagradable, es decir, no permite discernir entre cardinalidades de modelos de teorías formales, ya que dice que para un lenguaje de primer orden definido de manera estándar (es decir, lenguaje sin símbolos especiales como [matemáticas] =, +, \ cdot [/ math] y así sucesivamente) si una teoría escrita allí tiene un modelo de alguna cardinalidad, tiene un modelo para cada número cardinal [en realidad, esto no es una consecuencia de LST, es una consecuencia de la consistencia del predicado cálculo y el hecho de que una teoría en tales condiciones es un cálculo o su fragmento]. Esto implica que no se puede construir una teoría en un lenguaje que se mantenga solo para, por ejemplo, conjuntos infinitos. Además (y esto es más importante para los lógicos), si un lenguaje tiene el signo [math] = [/ math] definido de manera estándar, entonces, una vez que tiene un modelo infinito, también tiene un modelo infinitamente contable y, por lo tanto, es imposible de construir, por ejemplo, una teoría de [solo] grupos continuos.

Lleno

La semántica completa, por otro lado, prohíbe todos esos teoremas. Lo más importante, prohíbe el teorema de integridad y es esencialmente incompletable. Esto se debe a que es tan expresivo que se puede construir una aritmética con multiplicación totalmente definida sin agregar ningún símbolo al lenguaje estándar (lo cual es imposible en la lógica de primer orden):

  1. [matemáticas] \ forall \ alpha \ forall \ beta (\ alpha, \ beta \ en IV \ Rightarrow \ alpha = \ beta \ equiv_ {Df.} \ forall \ mathbf {P} (\ mathbf {P} (\ alpha) \ equiv \ mathbf {P} (\ beta)) [/ math]
  2. Luego definimos cero como una propiedad que no se cumple para ningún objeto, una como una propiedad que se cumple precisamente para un objeto y así sucesivamente. Los denotamos respetuosamente [math] 0 (\ mathbf {P}), 1 (\ mathbf {P}) [/ math] y así sucesivamente. En otras palabras, definimos los números como propiedades de algunos predicados de primer orden.
  3. Luego definimos el predicado de suma: [math] \ mathbf {P} \ oplus \ mathbf {Q} \ equiv_ {Df.} \ Exist \ mathbf {R} \ forall x (\ mathbf {R} (x) = (\ mathbf {P} (x) \ vee \ mathbf {Q} (x))) [/ math] y predicado de multiplicación: [math] \ mathbf {P} \ otimes \ mathbf {Q} \ equiv_ {Df.} \ Exist \ mathbf {R} \ forall x \ forall y (\ mathbf {R} (x, y) = (\ mathbf {P} (x) \ wedge \ mathbf {Q} (y))) [/ math].
  4. Ahora podemos definir sus operaciones respetuosas:
    1. [matemáticas] \ forall \ mathbf {F} \ forall \ mathbf {G} ((\ neg \ exist x (\ mathbf {F} (x) \ wedge \ mathbf {G} (x)) \ wedge m (\ mathbf {F}) \ wedge n (\ mathbf {G})) \ supset m + n (\ mathbf {F} \ oplus \ mathbf {G})); [/ math]
    2. [matemáticas] \ forall \ mathbf {F} \ forall \ mathbf {G} (m (\ mathbf {F}) \ wedge n (\ mathbf {G}) \ supset m \ otimes n (\ mathbf {F} \ otimes \ mathbf {G})). [/ math]
  5. Ahora necesitamos un predicado especial que indique equipollencia para que nuestro predicado numérico sea abstracto. Lo llamaremos [math] = _ M [/ math] y lo definiremos de la siguiente manera:

Lea ‘s como [math] \ wedge [/ math]. [Era una fórmula demasiado larga para volver a escribirla aquí.]

  1. Luego definimos el número [math] \ mathbf {F} [/ math] de la siguiente manera:

Como puede ver, la semántica completa es enormemente poderosa. Además, nos permite distinguir entre diferentes cardinalidades y, por lo tanto, ni el LST ni el teorema de compacidad son válidos para las teorías de segundo orden.

Otra cosa es la paradoja de Skolem que se puede interpretar de la siguiente manera:

Suponga que hay objetos [math] \ aleph_0 [/ math] en un modelo dado y, por lo tanto, [math] 2 ^ {\ aleph_0} [/ math] propiedades del mismo. Sin embargo, tratamos de describirlos con un lenguaje que contenga solo muchas expresiones.

es realmente llamativo

Suponga que hay objetos [math] \ aleph_0 [/ math] en un modelo dado y, por lo tanto, [math] 2 ^ {\ aleph_0} [/ math] propiedades del mismo. Por lo tanto, hay propiedades [matemáticas] 2 ^ {2 ^ {\ aleph_0}} [/ matemáticas] de segundo orden. Y, sin embargo, intentamos describirlos con un lenguaje que contenga solo muchas expresiones.

Espero que ayude.

Te sugiero que leas el artículo de George Boolos sobre la lógica de segundo orden .

Lógica, Lógica y Lógica.