Autor Tema: Comentarios a Lógica de primer orden

0 Usuarios y 1 Visitante están viendo este tema.

04 Marzo, 2013, 03:23 pm
Leído 25937 veces

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Este hilo está destinado a plantear y discutir los comentarios que puedan surgir sobre el artículo Lógica de primer orden, de la revista del foro.

04 Marzo, 2013, 07:07 pm
Respuesta #1

pierrot

  • pabloN
  • Moderador Global
  • Mensajes: 3,395
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
¡Qué bueno que haya un hilo de referencia sobre lógica de primer orden!
$_="loe  hnachaPkr erttes,urJ";$j=0;for($i=0;s/(.)(.{$j})$//;$i++){$_=$2.$_,$j+=1-$i%2,print$1}print

16 Marzo, 2013, 07:24 pm
Respuesta #2

Lycan

  • Junior
  • Mensajes: 73
  • Karma: +0/-0
  • Sexo: Masculino

16 Marzo, 2013, 07:39 pm
Respuesta #3

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
¡Qué bueno que haya un hilo de referencia sobre lógica de primer orden!

Muy interesante el hilo.

Me alegro que os interese. Si cualquiera ve algo que no está suficientemente claro, o tiene cualquier clase de duda conceptual que considera se podría tratar en el hilo, sólo tiene que plantearla aquí.

17 Marzo, 2013, 02:06 am
Respuesta #4

gdl

  • Nuevo Usuario
  • Mensajes: 13
  • Karma: +0/-0
Muy buenas, Carlos. He leído el artículo rápidamente y, seguramente será por mi formación en informática, lo encuentro algo distinto a lo que esperaría de la lógica de primer orden. Estoy seguro que hablamos de lo mismo, pero desde distintas perspectivas. Voy a intentar explicar mi punto de vista porque quizás te sea de utilidad y ambos podamos aprender.

Cuando hable de "nosotros" me refiero a cómo lo veíamos en nuestras clases de informática. Yo, la verdad, no soy nadie especialmente dedicado a la lógica.

Para empezar, nosotros hacíamos una gran distinción entre sintaxis y semántica. Más que nada porque luego teníamos distintas semánticas. En tu artículo lo veo todo muy mezclado (defines modelo antes de fórmula) y creo que quedaría mejor si dedicases o bien otro artículo o bien una sección inicial a la sintaxis. Luego, completamente separada, la semántica.

También veo que hablas de lenguaje formal cuando te refieres específicamente al lenguaje formal de la lógica de primer orden. Frases como "pero exigiremos que todo lenguaje formal tenga al menos un relator diádico que representaremos por \( = \)" creo que estarían mejor redactadas como "pero exigiremos que el lenguaje formal de la lógica de primer orden tenga al menos un relator diádico que representaremos por \( = \)". Mucho mejor aún si le dieras un nombre a tu lenguaje como \( L_1 \).

Además, veo que repites la idea de "un término es si hay una secuencia de cadenas..." y "una fórmula es si hay una secuencia de cadenas..." Los matemáticos buscáis la abstracción. Algo general que sirva para múltiples casos. ¿Por qué no lo has hecho aquí? Bueno. Voy a dar mi opinión y luego ya me criticas.

Por cierto, como nota al margen, nosotros separábamos la lógica de primer orden de la lógica de primer orden con igualdad. Esta última introducía ciertas complicaciones y se necesitaban otras técnicas de resolución (ver por ejemplo la regla de paramodulación).

A lo que voy. Estoy recordando sin consultar apuntes o libros algo puede "bailar" pero los conceptos son muy simiples. Como yo lo haría (como a mí me enseñaron) es algo tal que así.





Lenguajes formales.

Lo primero que hacíamos es definir un lenguaje formal y no específicamente el lenguaje formal de la lógica de primer orden. Esto lo hacíamos de la siguiente manera.

Tomábamos un conjunto \( \Sigma \) que llamábamos alfabeto. El alfabeto se compone de símbolos. Por ejemplo: \( \Sigma=\left\{a,b,c\right\} \). No trataremos ni con los alfabetos ni con los símbolos directamente. El alfabeto debe ser finito (aunque en algunos sitios recuerdo haber visto que puede ser numerable).

Del alfabeto se obtenía el conjunto de sus secuencias \( \Sigma^* \). Este operador es la estrella de Kleene (creo que en matemáticas es el monoide libremente generado). El elemento neutro (la secuencia vacía) la notábamos con \( \epsilon \). A las secuencias también las llamábamos cadenas o palabras.

Definimos un lenguaje como un subconjunto de este conjunto de secuencias \( L\subseteq\Sigma^* \).

Introducíamos los conjuntos unitarios y los notamos con el símbolo correspondiente. Es decir \( a \) es realmente el conjunto \( \left\{a\right\}\subseteq\Sigma^* \).

Introducimos operaciones sobre los lenguajes. En concreto:
- la concatenación (usando la operación del monoide) \( L_1L_2=\left\{w_1w_2\mid w_1 \in L_1, w_2\in L_2\right\} \). También usamos \( \epsilon \) para el conjunto \( \left\{\epsilon\right\} \).
- la unión (simple unión de conjuntos pero representada ahora por el símbolo \( \mid \) de forma que \( L_1\mid L_2=L_1\cup L_2 \))
- la potenciación basada en la concatenación \( L^0=\left\{\epsilon\right\} \) y \( L^{n+1}=L^nL \)
- la clausura de Kleene. No es más que la unión (notada como suma) de todas las potencias \( L^*=\sum_{n=0}^\infty{L^n} \)

Un lenguaje inductivamente generado por una ecuación basada en las anteriores operaciones es el menor lenguaje que cumple tal ecuación. Por ejemplo, \( t = a \mid tt  \) significa que el lenguaje \( t \) cumple que es el lenguaje \( a \) unión la concatenación de dos de sus elementos. Inductivamente aquí entraría \( aa \), \( aaa \) y así. Es importante aquí, aunque no recuerde el detalle de todo esto, que el lenguaje inductivamente generado tiene estructura en el sentido de que podemos realizar demostraciones por inducción sobre él.

Hasta aquí lenguajes formales (bastante restringidos ya que son de cierto tipo muy concreto, pero habría que definir gramáticas para poderlos caracterizar totalmente).

Sólo con esto hay una gran cantidad de teoría que se puede desarrollar. Que me venga a la mente: álgebra de términos, relaciones de subsunción o sistemas de reescritura. Seguro que más.




Sintaxis de la lógica de primer orden.

Ahora voy a la sintaxis del lenguaje que vamos a usar. La sintaxis de la lógica de primer orden (sin igualdad explícita) se definiría como:

Alfabeto: \( \Sigma=K \cup V \cup C \cup F \cup P \)
Con \( K \) símbolos de puntuación y conectivas \( ¬ \rightarrow \vee \wedge \leftrightarrow \top \bot \forall \exists ( ) , \)
Con \( V \) símbolos de variable (infinito numerable).
Con \( C \) símbolos de constante (numerable, posiblemente vacío).
Con \( F=F_1 \cup F_2 \cup \cdots \) símbolos de función (numerable, posiblemente vacío). (Tú los llamas functores)
Con \( P=P_1 \cup P_2 \cup \cdots \) símbolos de predicado (numerable, no vacío).  (Tú los llamas relatores e introduces en \( P_2 \) el igual)
Todos estos conjuntos de símbolos disjuntos entre sí.

Nota: en algunos textos he visto todas los símbolos de función (funtores) mezclados y luego una aplicación de aridad le da a cada uno de ellos un natural que es el número de argumentos que debe tomar. Idem para los símbolos de predicado (relatores).

El conjunto de términos \( T \) es el lenguaje inductivamente generado por la ecuación  \(  T = V \mid C \mid F_1(T) \mid F_2(T,T) \mid \cdots  \)
El conjunto de átomos \( A \) se define como \(  A = P_1(T) \mid P_2(T,T) \mid P_3(T,T,T) \mid \cdots  \).
El lenguaje de la lógica de primer orden es el lenguaje inductivamente generado por la ecuación \( L= \bot \mid \top \mid A \mid ¬L \mid (L\vee L) \mid (L\wedge L) \mid (L\rightarrow L) \mid (L\leftrightarrow L) \mid \forall V L \mid \exists V L \)







Y si no me he equivocado, esto basta.

Hasta aquí nada de semántica. Todo son símbolos puestos ordenadamente, pero sin significado. Ahora, según la semántica que queramos dotarle a la lógica, podremos introducir una función de interpretación (semántica denotacional), unas reglas de inferencia (semántica operacional) o introducir un isomorfismo con alguna otra estructura matemática (esta es la que más me gusta, espero que podamos hablar de ella más adelante).

Otra cosa: perdóname mi "ligereza" a la hora de introducir los conceptos. Comprendo que a un matemático le chirríe mucho mi falta de detalle y la completa ausencia de demostraciones en mis afirmaciones. Por ejemplo, mi lenguaje inductivamente generado seguramente que se corresponda al mecanismo de una sucesión de cadenas de signos que mencionas en tu definición de fórmula.

Sólo espero haber dejado claro mi punto de vista de separar la sintaxis de la semántica por un lado y de introducir unas herramientas para definir los lenguajes formales (independientemente de si vamos a usarlos para la lógica de primer orden o para otra cosa). Y que esa separación no es puntual en cada definición, sino estructural en el desarrollo del texto: primero lenguajes formales en general, luego sintaxis del lenguaje de la lógica de primer orden y finalmente las semánticas.

También me ha parecido que introduces una complejidad innecesaria al definir las conectivas formalmente en forma prefija \( \rightarrow \beta \gamma \) pero luego muestras en forma infija \( \beta \rightarrow \gamma \). ¿No crees que es mejor introducirlas de forma infija dejando los paréntesis? En todo caso decir la prioridad que tienen y omitir los paréntesis superfluos. En cualquier caso, esto es un detalle menor.

Bueno. Me voy a la cama que es tarde. Espero no haber dicho muchas tonterías.

17 Marzo, 2013, 03:52 am
Respuesta #5

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Muy buenas, Carlos.

Hola, gdl. Bienvenido al foro en general y a este hilo en particular.

He leído el artículo rápidamente y, seguramente será por mi formación en informática, lo encuentro algo distinto a lo que esperaría de la lógica de primer orden.

Ésa era justamente mi intención, escribir algo distinto, porque para escribir lo mismo que ya está escrito en los libros, para eso ya están los libros. Naturalmente, hacer algo distinto sólo por no hacer lo mismo sería una frivolidad por mi parte. Mi intención de hacer algo distinto está motivada a su vez porque tengo la sensación (generada en gran parte por consultas sobre lógica que he visto hacer en este foro) que quienes estudian lógica siguiendo los estándares que se ven en los libros acaban con una concepción de la lógica que, a mi juicio (siempre discutible) está bastante deformada, y mi intención era enfatizar los aspectos que los libros no enfatizan por su forma de exposición.

Estoy seguro que hablamos de lo mismo, pero desde distintas perspectivas. Voy a intentar explicar mi punto de vista porque quizás te sea de utilidad y ambos podamos aprender.

Te aclaro yo también la perspectiva desde la que estoy diseñando el hilo: mi intención es explicar la lógica como formalización del razonamiento matemático y exclusivamente con la finalidad de servir de fundamento a la matemática formal. Evidentemente, con la lógica se pueden hacer muchas más cosas que fundamentar las matemáticas, pero mi interés es exclusivamente explicar qué es y por qué es como es la lógica que sirve de fundamento a la matemática formal.

Cuando hable de "nosotros" me refiero a cómo lo veíamos en nuestras clases de informática. Yo, la verdad, no soy nadie especialmente dedicado a la lógica.

Yo tampoco. Como digo, la lógica "en sí misma" tampoco me ha interesado nunca. Me interesa como fundamento de la matemática y como herramienta auxiliar en el estudio de la teoría de conjuntos. La lógica "en sí misma" o "en abstracto", siempre me ha parecido bastante insulsa, pero eso es, por supuesto, un juicio personal y subjetivo que sólo pretende explicar que, de hecho, nunca he visto nada interesante en ella.

Para empezar, nosotros hacíamos una gran distinción entre sintaxis y semántica.

Sí, la razón por la que la lógica matemática sirve para algo es precisamente porque permite prescindir completamente de la semántica, y la forma más clara de ponerlo de manifiesto es describir la sintaxis sin mencionar para nada la semántica. Así lo hago en mi libro de lógica, pero precisamente en este hilo quería enfatizar lo que se pierde de vista al proceder de ese modo: aunque la sintaxis sea al final independiente de la semántica, es fundamental comprender que está completamente motivada por la semántica. Una de las "deformaciones" a las que, siempre a mi juicio, induce la presentación usual de la lógica (primero sintaxis sin referencia alguna a la semántica y luego semántica) es que uno se queda con la sensación de que todas las definiciones sintácticas son arbitrarias, que uno define el modus ponens como lo define, pero que nada hubiera impedido definirlo como que de \( \alpha\rightarrow \beta \) y \( \beta \) se deduce \( \alpha \), por ejemplo.

Lo que pretendo mostrar en el hilo que estoy escribiendo es que todas las definiciones sintácticas están motivadas por el significado pretendido de los lenguajes formales, que aunque podamos definir un relator como un signo que simplemente tiene la etiqueta de relator, lo cierto es que un relator es un signo que pretende ser interpretado como una relación y que no es necesario ocultar o posponer eso para dejar claro que no es necesario hablar de relaciones para definir los lenguajes formales.

Más que nada porque luego teníamos distintas semánticas.

No sé muy bien a qué te refieres con esto. ¿Te refieres a que un mismo lenguaje formal admite distintos modelos o es algo más?

En tu artículo lo veo todo muy mezclado (defines modelo antes de fórmula) y creo que quedaría mejor si dedicases o bien otro artículo o bien una sección inicial a la sintaxis. Luego, completamente separada, la semántica.

Si quieres eso, sólo tienes que leer mi libro de lógica, pero no era mi intención copiar o resumir mi libro de lógica, lo que planteas era justo lo contrario de lo que quería hacer. En realidad no era mi intención exactamente "mezclar" la sintaxis con la semántica, sino presentarlas paralelamente, o más precisamente, con la semántica siempre un paso por delante de la sintaxis, cuidando de dejar claro que al final la sintaxis no se apoya en la semántica, pero incidiendo sobre todo en que toda definición sintáctica está motivada por un concepto semántico. Defino modelo antes que fórmula porque para entender qué es realmente una fórmula no basta asumir que es una cadena de signos que satisface ciertos principios sintácticos de construcción, sino que la idea de fondo es que una fórmula es una cadena de signos susceptible de tener un significado en un modelo. Las ideas de ese tipo son las que se difuminan con la exposición estándar que propones y son las que yo pretendo enfatizar.

Al no hacerlo así se hace de forma subconsciente e incontrolada lo que es mejor, siempre a mi juicio, hacer de forma consciente y controlada: aunque no se hable para nada de semántica al exponer la sintaxis, lo cierto es que todo aquel que ve una fórmula de acuerdo con la definición sintáctica correspondiente, se da cuenta de que puede "leerla" como una afirmación, aunque oficialmente se le asegura que no es más que una cadena de signos, pero cualquier reflexión sobre esto queda prohibida por la prohibición de mencionar la semántica. En las cuestiones que han aparecido hasta ahora esto no es especialmente grave, pero creo que en cuanto se entra en el concepto de deducción, el obstinarse en no motivarlo semánticamente introduce muchos malentendidos.

También veo que hablas de lenguaje formal cuando te refieres específicamente al lenguaje formal de la lógica de primer orden.

Cierto, pero eso es como cuando uno dice "número" refiriéndose a "número real" porque no va a tratar con números complejos. El hilo se titula Lógica de primer orden, y hay que entender que cuando digo "lenguaje formal", quiero decir "lenguaje de primer orden" y, más concretamente, un lenguaje formal del tipo que he definido, sin más pretensiones de generalidad.

Frases como "pero exigiremos que todo lenguaje formal tenga al menos un relator diádico que representaremos por \( = \)" creo que estarían mejor redactadas como "pero exigiremos que el lenguaje formal de la lógica de primer orden tenga al menos un relator diádico que representaremos por \( = \)". Mucho mejor aún si le dieras un nombre a tu lenguaje como \( L_1 \).

No. Todo lo que has dicho hasta aquí es totalmente coherente y simplemente responde a un punto de vista distinto del que yo quiero seguir, pero en esto último hay un pequeño error conceptual. No puede hablar de "el lenguaje formal de la lógica de primer orden" ni mucho menos darle un nombre, porque no es un único lenguaje formal, sino que estoy tratando con infinitos lenguajes posibles, según las constantes, relatores o funtores que posean. No es uno solo.

Además, veo que repites la idea de "un término es si hay una secuencia de cadenas..." y "una fórmula es si hay una secuencia de cadenas..." Los matemáticos buscáis la abstracción. Algo general que sirva para múltiples casos. ¿Por qué no lo has hecho aquí?

Aquí no sé muy bien a qué te refieres. ¿Estás objetando que la definición que doy de término o fórmula no es suficientemente general o suficientemente rigurosa? Pregunto simplemente porque no sé lo que quieres decir.

Bueno. Voy a dar mi opinión y luego ya me criticas.

Por cierto, como nota al margen, nosotros separábamos la lógica de primer orden de la lógica de primer orden con igualdad. Esta última introducía ciertas complicaciones y se necesitaban otras técnicas de resolución (ver por ejemplo la regla de paramodulación).

Sí, distinguir entre lógica con o sin igualdad es totalmente estándar, pero yo pregunto ¿para qué sirve la lógica de primer orden sin igualdad? Podrás decirme que la distinción sirve para ver cuáles son los requisitos lógicos específicos para tratar con la igualdad, pero no estoy interesado en diseccionar la lógica de ese modo. Si los únicos lenguajes formales que voy a usar tienen igualdad, no veo el interés de estudiar primero lenguajes sin igualdad. Es como si antes de estudiar grupos se considerara conveniente estudiar semigrupos a pesar de que nunca vas a trabajar con un semigrupo que no sea un grupo. En ese contexto, yo trabajaría directamente con grupos, y no me importaría si algunas de las cosas que digo valieran también para semigrupos que no fueran grupos.

A lo que voy. Estoy recordando sin consultar apuntes o libros algo puede "bailar" pero los conceptos son muy simiples. Como yo lo haría (como a mí me enseñaron) es algo tal que así.

Lenguajes formales.

Lo primero que hacíamos es definir un lenguaje formal y no específicamente el lenguaje formal de la lógica de primer orden. Esto lo hacíamos de la siguiente manera.

Tomábamos un conjunto \( \Sigma \) que llamábamos alfabeto. El alfabeto se compone de símbolos. Por ejemplo: \( \Sigma=\left\{a,b,c\right\} \). No trataremos ni con los alfabetos ni con los símbolos directamente. El alfabeto debe ser finito (aunque en algunos sitios recuerdo haber visto que puede ser numerable).

Del alfabeto se obtenía el conjunto de sus secuencias \( \Sigma^* \). Este operador es la estrella de Kleene (creo que en matemáticas es el monoide libremente generado). El elemento neutro (la secuencia vacía) la notábamos con \( \epsilon \). A las secuencias también las llamábamos cadenas o palabras.

Definimos un lenguaje como un subconjunto de este conjunto de secuencias \( L\subseteq\Sigma^* \).

Introducíamos los conjuntos unitarios y los notamos con el símbolo correspondiente. Es decir \( a \) es realmente el conjunto \( \left\{a\right\}\subseteq\Sigma^* \).

Introducimos operaciones sobre los lenguajes. En concreto:
- la concatenación (usando la operación del monoide) \( L_1L_2=\left\{w_1w_2\mid w_1 \in L_1, w_2\in L_2\right\} \). También usamos \( \epsilon \) para el conjunto \( \left\{\epsilon\right\} \).
- la unión (simple unión de conjuntos pero representada ahora por el símbolo \( \mid \) de forma que \( L_1\mid L_2=L_1\cup L_2 \))
- la potenciación basada en la concatenación \( L^0=\left\{\epsilon\right\} \) y \( L^{n+1}=L^nL \)
- la clausura de Kleene. No es más que la unión (notada como suma) de todas las potencias \( L^*=\sum_{n=0}^\infty{L^n} \)

Un lenguaje inductivamente generado por una ecuación basada en las anteriores operaciones es el menor lenguaje que cumple tal ecuación. Por ejemplo, \( t = a \mid tt  \) significa que el lenguaje \( t \) cumple que es el lenguaje \( a \) unión la concatenación de dos de sus elementos. Inductivamente aquí entraría \( aa \), \( aaa \) y así. Es importante aquí, aunque no recuerde el detalle de todo esto, que el lenguaje inductivamente generado tiene estructura en el sentido de que podemos realizar demostraciones por inducción sobre él.

Hasta aquí lenguajes formales (bastante restringidos ya que son de cierto tipo muy concreto, pero habría que definir gramáticas para poderlos caracterizar totalmente).

Sólo con esto hay una gran cantidad de teoría que se puede desarrollar. Que me venga a la mente: álgebra de términos, relaciones de subsunción o sistemas de reescritura. Seguro que más.

Sí, esto que planteas es bastante estándar y propio de los libros de lógica, y aquí entramos en una mera cuestión de "gustos", y es que debo decirte que eso me parece "horripilante" (y no es una crítica hacia ti, naturalmente, que estás defendiendo la ortodoxia). ¿Realmente aporta a algo a alguien ese planteamiento abstracto que propones? Yo he visto a gente en este foro pregunta dudas sobre ejercicios en ese contexto, y he procurado resolverlas, pero en el fondo pienso ¿y a qué clase de profesores se les ocurrirá hacer perder el tiempo a esta gente con problemas tan tontos en lugar de ir directamente a lo que interesa, a lo que aporta algo? Insisto en que son apreciaciones subjetivas, pero mi impresión es que estar dándole vueltas a lenguajes formados por as bes y ces, es una pérdida de tiempo, cuando puedes ir directamente a los lenguajes formales que interesan. En todo caso sería al revés: sólo cuando alguien ha asimilado las ideas importantes sobre lenguajes formales "de verdad", de los que pueden usarse para formalizar razonamientos, uno puede interesarse en versiones abstractas de esos lenguajes. Es como si a alguien que no sabe nada de grupos, anillos y espacios vectoriales empiezas a hablarle de categorías. Es más sensato demostrarle a uno el teorema de isomorfía de grupos, y el de anillos, y el de espacios vectoriales y, a lo sumo, en un futuro, hacerle ver que todos son casos particulares de un teorema sobre categorías abelianas, si es que uno llega a estudiar algo en el que el punto de vista de las categorías abelianas le aporta realmente algo.

De hecho, si algo me deja insatisfecho de la forma en que presento la lógica es el no poder ser un poco menos abstracto de lo que estoy siendo. Me gustaría poder (o saber) presentar las cosas de una forma mucho más elemental, que no requiriera abstracciones innecesarias, pues lo que pretendo es explicar algo muy concreto y muy intuitivo, algo que no requiere tratar con lenguajes sin significado, y aun así cualquier intento de precisar lo que es una fórmula o un modelo puede "echar para atrás" a más de uno, a pesar de que la idea de fondo la tiene que entender todo el mundo.

Sintaxis de la lógica de primer orden.

Ahora voy a la sintaxis del lenguaje que vamos a usar. La sintaxis de la lógica de primer orden (sin igualdad explícita) se definiría como:

Alfabeto: \( \Sigma=K \cup V \cup C \cup F \cup P \)
Con \( K \) símbolos de puntuación y conectivas \( ¬ \rightarrow \vee \wedge \leftrightarrow \top \bot \forall \exists ( ) , \)
Con \( V \) símbolos de variable (infinito numerable).
Con \( C \) símbolos de constante (numerable, posiblemente vacío).
Con \( F=F_1 \cup F_2 \cup \cdots \) símbolos de función (numerable, posiblemente vacío). (Tú los llamas functores)
Con \( P=P_1 \cup P_2 \cup \cdots \) símbolos de predicado (numerable, no vacío).  (Tú los llamas relatores e introduces en \( P_2 \) el igual)
Todos estos conjuntos de símbolos disjuntos entre sí.

Nota: en algunos textos he visto todas los símbolos de función (funtores) mezclados y luego una aplicación de aridad le da a cada uno de ellos un natural que es el número de argumentos que debe tomar. Idem para los símbolos de predicado (relatores).

El conjunto de términos \( T \) es el lenguaje inductivamente generado por la ecuación  \(  T = V \mid C \mid F_1(T) \mid F_2(T,T) \mid \cdots  \)
El conjunto de átomos \( A \) se define como \(  A = P_1(T) \mid P_2(T,T) \mid P_3(T,T,T) \mid \cdots  \).
El lenguaje de la lógica de primer orden es el lenguaje inductivamente generado por la ecuación \( L= \bot \mid \top \mid A \mid ¬L \mid (L\vee L) \mid (L\wedge L) \mid (L\rightarrow L) \mid (L\leftrightarrow L) \mid \forall V L \mid \exists V L \)

Y si no me he equivocado, esto basta.

Sí, conozco esta forma de hacer las cosas, y siempre he tratado de evitarla a toda costa. Hay un aspecto en todo esto del que no sé si eres consciente. No sé si cuando escribes todo lo que escribes estás pensando en ello como afirmaciones formales en una teoría de conjuntos que te permite hablar de uniones, intersecciones, conjuntos numerables, definiciones inductivas, etc. Si es así, tenemos un problema serio, porque una de las utilidades de la lógica de primer orden es construir la teoría de conjuntos que (tal vez, si acierto al interpretar cómo concibes lo que dices) es necesaria para que puedas desarrollar la lógica "a tu manera (estándar)".

Al margen de esa distinción (tú pareces hablar de conjuntos, yo tengo la necesidad de hablar de signos "de verdad" que pueden escribirse en un papel o meterse en un ordenador, sin apoyarme en ninguna teoría de conjuntos) insisto en que para que alguien entienda qué es una fórmula o un término no necesita entender todo el aparato algebraico que estás montando, como para entender el análisis en \( \mathbb R^n \) no es necesario saber geometría diferencial, y que de hecho es mejor saber análisis en \( \mathbb R^n \) antes de entrar en la geometría diferencial.

Hasta aquí nada de semántica. Todo son símbolos puestos ordenadamente, pero sin significado.

Eso es justo lo que quiero evitar. No hay nada de semántica, pero todo lo que dices tiene una razón de ser porque es "ajustable" a una semántica que has omitido deliberadamente. Lo que yo intento es poner de manifiesto desde el primer momento la existencia de esa semántica que explica realmente lo que estás haciendo. Cuidando de dejar claro que al final cada concepto sintáctico no depende de esa semántica, pero explicando minuciosamente su relación con ella.

Ahora, según la semántica que queramos dotarle a la lógica, podremos introducir una función de interpretación (semántica denotacional), unas reglas de inferencia (semántica operacional) o introducir un isomorfismo con alguna otra estructura matemática (esta es la que más me gusta, espero que podamos hablar de ella más adelante).

Ah, esto responde a algo que te preguntaba más arriba. Me confunde que llames semántica operacional a unas reglas de inferencia. Las reglas de inferencia también tienen su vertiente puramente sintáctica y su interpretación semántica, y ése es también uno de los puntos en los que quiero incidir al comparar ambas partes. Ahora que hablas ya claramente de isomorfismos con estructuras matemáticas ya no hay duda de que concibes todo lo que dices como una parte de la teoría de conjuntos, con lo que tendrás que admitir que tu planteamiento no sirve para fundamentar la teoría de conjuntos, que es casi la única razón por la que me interesa la lógica (aunque no tengo intención de llegar tan lejos en mi artículo).

Otra cosa: perdóname mi "ligereza" a la hora de introducir los conceptos. Comprendo que a un matemático le chirríe mucho mi falta de detalle y la completa ausencia de demostraciones en mis afirmaciones.

Hombre, si tuvieras que demostrar aquí todo lo que has dicho tendrías que escribir todo un libro y entonces te sugeriría que dejaras de escribir aquí y te abriría tu propio artículo en la revista del foro.  ;D

Por ejemplo, mi lenguaje inductivamente generado seguramente que se corresponda al mecanismo de una sucesión de cadenas de signos que mencionas en tu definición de fórmula.

Sí, claro que se corresponde, pero sigo sin entender cuál es la objeción que pones a mi definición de fórmula (que no es mía, también es bastante estándar): una fórmula es una cadena de signos tal que existe una sucesión de cadenas tales que cada cual es una fórmula atómica (concepto definible previamente) o bien se genera a partir de las anteriores mediante ciertas reglas. ¿Cuál es el problema? En el fondo es también una definición inductiva, pero al mismo tiempo es totalmente constructiva, es decir, no depende de un teorema de recursión no evidente por sí mismo y que requiere una demostración previa.

Sólo espero haber dejado claro mi punto de vista de separar la sintaxis de la semántica por un lado y de introducir unas herramientas para definir los lenguajes formales (independientemente de si vamos a usarlos para la lógica de primer orden o para otra cosa).

Sí, está claro. Lo que no veo es la ventaja de hacerlo así. La única ventaja de separar la sintaxis de la semántica es dejar claro que al final ningún concepto sintáctico depende de la semántica, pero creo que eso puede quedar claro sin necesidad de llevar a ciegas al lector hasta que finalmente decides abrirle los ojos y revelarle el sentido que tiene todo lo dicho hasta entonces. Y las herramientas para definir los lenguajes formales, mi opinión (siempre subjetiva) es que son cañones para matar moscas. No veo la ventaja de introducir una teoría abstracta para luego definir unos lenguajes concretos, de modo que lo único que consigues es oscurecer la definición. Además, esto resulta inviable si las herramientas en cuestión requieren teoría de conjuntos y no quieres caer en un círculo vicioso (la teoría de conjuntos se define a partir de un lenguaje formal, unos axiomas y unas reglas de inferencia que no puedes permitirte en lujo de definir en términos de la teoría de conjuntos).

Y que esa separación no es puntual en cada definición, sino estructural en el desarrollo del texto: primero lenguajes formales en general, luego sintaxis del lenguaje de la lógica de primer orden y finalmente las semánticas.

Sí, entiendo perfectamente lo que propones, pero no me gusta nada nada ese planteamiento. De hecho, creo que no has explicado para nada cuáles son según tú las ventajas de hacerlo así? Yo he tratado de explicarte las ventajas de no hacerlo así, aunque tal vez no haya podido concretar todo lo que me hubiera gustado porque mi artículo aún no está muy avanzado, y todavía no puedo ponerte ejemplos auténticamente relevantes del interés que le veo a este enfoque. Éstos aparecerán realmente cuando entre en la definición de las deducciones formales.

También me ha parecido que introduces una complejidad innecesaria al definir las conectivas formalmente en forma prefija \( \rightarrow \beta \gamma \) pero luego muestras en forma infija \( \beta \rightarrow \gamma \). ¿No crees que es mejor introducirlas de forma infija dejando los paréntesis? En todo caso decir la prioridad que tienen y omitir los paréntesis superfluos. En cualquier caso, esto es un detalle menor.

¡Hombre! Yo creo que la auténtica complejidad innecesaria es todo el aparato algebraico que propones para definir unos míseros lenguajes formales ;D.  A mí me parece una simplificación el no tener que preocuparse para nada de los paréntesis a efectos teóricos, y que éstos queden relegados a meros auxiliares taquigráficos, pero, por supuesto, es cuestión de gustos.

Bueno. Me voy a la cama que es tarde.

Dichoso tú que no vives en Valencia y no tienes una verbena justo delante de tu casa.  ::)

Espero no haber dicho muchas tonterías.

En absoluto. Estás defendiendo la más pura ortodoxia sobre el asunto. Pero creo que lo que resultaría realmente enriquecedor es que argumentaras cuáles son a tu juicio las ventajas del planteamiento ortodoxo. En realidad no he pretendido criticar dicho planteamiento, sino que mi opinión es más bien que el planteamiento ortodoxo es un planteamiento técnico, que no responde a los intereses de quien meramente quiera conocer bien la lógica matemática. Volviendo a un ejemplo que te he puesto antes. Yo he estudiado teoría de categorías, y la he estudiado cuando he visto que era útil para tratar ciertos aspectos de la geometría algebraica y la geometría diferencial, y la recomendaré cuando se trate de tratar esos aspectos, pero me parecería un despropósito empezar por teoría de categorías para explicarle a alguien la teoría de grupos o de anillos.

Igualmente, no dudo de que el planteamiento que propones será el más adecuado para estudiar ciertas cuestiones técnicas en las que la lógica formal abstracta sea una herramienta a considerar, pero jamás me he encontrado en un contexto en el que ese punto de vista me haya sido de utilidad frente al estudio directo de los lenguajes formales necesarios en teoría de conjuntos (para fundamentarla y para abordar pruebas de consistencia). Por eso jamás lo recomendaría. Mi punto de vista a la hora de estudiar cualquier teoría matemática siempre ha sido el de no usar herramientas que no demuestren que aportan alguna ventaja frente a técnicas más elementales. Y siempre me ha ido bien así.

17 Marzo, 2013, 05:12 am
Respuesta #6

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,292
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
Hola.

No veo la necesidad de introducir "funtores".

En tu post #1, podría considerarse un "funtor" como un "relator" con una componente adicional \( x_{n+1} \).
El relator sería "verdadero" en el caso de que la variable adicional fuese igual a \( f(x_1,...,x_ n) \), y sería "falso" en caso contrario.

________________

Al asignarle a las constantes, variables y funtores unos objetos del universo U, parece claro cómo funciona esto de la "valuación". (O por lo menos he encontrado el modo de creérmelo).

Luego en el Spoiler del post #3 has "evaluado" los conectores lógicos de modo que siempre te den
V ó F.
¿Estás considerando ahí otro tipo de "valuación"? Dijiste ahí que los conectores interesa que tengan siempre un mismo significado. Veo algo difusa la exposición en esos párrafos. No entiendo, bah.

17 Marzo, 2013, 05:25 am
Respuesta #7

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,292
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
Sobre la definición de "satisfacción", en el punto 4), no me queda claro lo que significa que "para todo objeto del universo se cumple que...".

O sea, el "para todo" ahí me deja algo angustiado. No me molesta un "para todo" en el lado sintáctico,
pero en el lado semántico, no sé qué sentido darle.

____________________

¿Y qué tipo de colecciones de objetos puede ser U?

17 Marzo, 2013, 02:45 pm
Respuesta #8

gdl

  • Nuevo Usuario
  • Mensajes: 13
  • Karma: +0/-0
Ésa era justamente mi intención, escribir algo distinto, porque para escribir lo mismo que ya está escrito en los libros, para eso ya están los libros. Naturalmente, hacer algo distinto sólo por no hacer lo mismo sería una frivolidad por mi parte. Mi intención de hacer algo distinto está motivada a su vez porque tengo la sensación (generada en gran parte por consultas sobre lógica que he visto hacer en este foro) que quienes estudian lógica siguiendo los estándares que se ven en los libros acaban con una concepción de la lógica que, a mi juicio (siempre discutible) está bastante deformada, y mi intención era enfatizar los aspectos que los libros no enfatizan por su forma de exposición.

Completamente de acuerdo contigo en este punto. Sin embargo, por favor, distingamos claramente el aspecto docente del aspecto, digamos, filosófico o de perspectiva con el que se aborda el tema. Que tengan dudas sobre la lógica puede significar que el libro que usen no sea de la calidad suficiente, no que el punto de vista abordado sea malo (o el profesor que les enseñe no lo haga bien, pero mejor no sigo por aquí).

Por lo que he podido leerte, creo que tu juicio es de bastante peso, me gustaría saber los aspectos que has percibido como erróneos siguiendo el procedimiento habitual. Probablemente yo mismo sea uno de esos "deformados". Jejeje.

Te aclaro yo también la perspectiva desde la que estoy diseñando el hilo: mi intención es explicar la lógica como formalización del razonamiento matemático y exclusivamente con la finalidad de servir de fundamento a la matemática formal. Evidentemente, con la lógica se pueden hacer muchas más cosas que fundamentar las matemáticas, pero mi interés es exclusivamente explicar qué es y por qué es como es la lógica que sirve de fundamento a la matemática formal.
...
Yo tampoco. Como digo, la lógica "en sí misma" tampoco me ha interesado nunca. Me interesa como fundamento de la matemática y como herramienta auxiliar en el estudio de la teoría de conjuntos. La lógica "en sí misma" o "en abstracto", siempre me ha parecido bastante insulsa, pero eso es, por supuesto, un juicio personal y subjetivo que sólo pretende explicar que, de hecho, nunca he visto nada interesante en ella.

Es una aproximación muy correcta. Realmente la lógica es insulsa y hasta tediosa. No obstante, como herramienta que es y que usamos, hay que tenerla "engrasada". Por eso alabo tu dedicación al tema.


Sí, la razón por la que la lógica matemática sirve para algo es precisamente porque permite prescindir completamente de la semántica, y la forma más clara de ponerlo de manifiesto es describir la sintaxis sin mencionar para nada la semántica. Así lo hago en mi libro de lógica, pero precisamente en este hilo quería enfatizar lo que se pierde de vista al proceder de ese modo: aunque la sintaxis sea al final independiente de la semántica, es fundamental comprender que está completamente motivada por la semántica. Una de las "deformaciones" a las que, siempre a mi juicio, induce la presentación usual de la lógica (primero sintaxis sin referencia alguna a la semántica y luego semántica) es que uno se queda con la sensación de que todas las definiciones sintácticas son arbitrarias, que uno define el modus ponens como lo define, pero que nada hubiera impedido definirlo como que de \( \alpha\rightarrow \beta \) y \( \beta \) se deduce \( \alpha \), por ejemplo.
...
Lo que pretendo mostrar en el hilo que estoy escribiendo es que todas las definiciones sintácticas están motivadas por el significado pretendido de los lenguajes formales, que aunque podamos definir un relator como un signo que simplemente tiene la etiqueta de relator, lo cierto es que un relator es un signo que pretende ser interpretado como una relación y que no es necesario ocultar o posponer eso para dejar claro que no es necesario hablar de relaciones para definir los lenguajes formales.

En esto que dices llego a dos ideas que al final son la misma.

La primera es que la sintaxis SÍ es arbitraria. De hecho puedes definir algunas sintaxis muy, muy raras. Ponerlo todo en notación prefija, postfija o, como información que es, en una secuencia de unos y ceros. Ahora bien, ¿por qué elegimos una en concreto? Realmente por una evolución histórica. De hecho, las fórmulas lógicas estándar se pueden leer como frases del lenguaje natural.

\( \forall x (hombre(x) \rightarrow mortal(x)) \)
Para todo x se cumple que si x es hombre entonces x es mortal.

Desde ese punto de vista la sintaxis elegida es, simplemente, una abreviatura del lenguaje natural. Del estudio de estas abreviaturas se llega a los lenguajes formales y la sintaxis de la lógica es uno de esos lenguajes formales.

La segunda idea es que SÍ es posible definir el modus ponens de otra forma. Obtienes otra lógica. Quizás útil. Quizás inconsistente. Quizás trivial. Simplemente es otra lógica, con otra semántica. De nuevo estamos en lo mismo, ¿por qué elegimos de todas las definiciones posibles las que elegimos? Aquí habría que mencionar que estudiando las frases del lenguaje natural vemos que, cuando nos restringimos a la lógica de primer orden, podemos asignarles un valor de verdad y que ese valor depende de las partes constituyentes de la frase. Vamos. Que tenemos una lógica veritativo funcional. ¿Cómo mantener ese valor de verdad en el lenguaje abreviado? ¿Cómo calcularlo a partir de las partes constituyentes de la fórmula abreviada? Ahí está la explicación de hacer esas definiciones y no otras.

Estas dos ideas son realmente la misma: tenemos una paleta de posibilidades y elegimos la que más nos interesa para llegar a tal objetivo. De la forma en la que está abordado el artículo, según entiendo, se desecha la paleta porque vamos directo al objetivo. En ese proceso de ocultación de los caminos laterales, no estoy muy seguro si estamos ganando o perdiendo comprensión. Vamos como un burro con anteojeras.

Si quieres eso, sólo tienes que leer mi libro de lógica, pero no era mi intención copiar o resumir mi libro de lógica, lo que planteas era justo lo contrario de lo que quería hacer. En realidad no era mi intención exactamente "mezclar" la sintaxis con la semántica, sino presentarlas paralelamente, o más precisamente, con la semántica siempre un paso por delante de la sintaxis, cuidando de dejar claro que al final la sintaxis no se apoya en la semántica, pero incidiendo sobre todo en que toda definición sintáctica está motivada por un concepto semántico. Defino modelo antes que fórmula porque para entender qué es realmente una fórmula no basta asumir que es una cadena de signos que satisface ciertos principios sintácticos de construcción, sino que la idea de fondo es que una fórmula es una cadena de signos susceptible de tener un significado en un modelo. Las ideas de ese tipo son las que se difuminan con la exposición estándar que propones y son las que yo pretendo enfatizar.

Ojeé tu libro de lógica hace años. No sé si lo has actualizado. Realmente recuerdo poco de él.

Sobre la introducción de semántica antes que sintaxis, creo que es dual (chiste matemático malo) a introducir la sintaxis antes que la semántica. En el enfoque que has tomado al final debes decir que la sintaxis no se apoya en la semántica. En la exposición estándar debes decir que la sintaxis no es arbitraria y se busca para que se le pueda dotar de semántica luego.

Al no hacerlo así se hace de forma subconsciente e incontrolada lo que es mejor, siempre a mi juicio, hacer de forma consciente y controlada: aunque no se hable para nada de semántica al exponer la sintaxis, lo cierto es que todo aquel que ve una fórmula de acuerdo con la definición sintáctica correspondiente, se da cuenta de que puede "leerla" como una afirmación, aunque oficialmente se le asegura que no es más que una cadena de signos, pero cualquier reflexión sobre esto queda prohibida por la prohibición de mencionar la semántica. En las cuestiones que han aparecido hasta ahora esto no es especialmente grave, pero creo que en cuanto se entra en el concepto de deducción, el obstinarse en no motivarlo semánticamente introduce muchos malentendidos.

Eso es completamente cierto. Tendemos a darle semántica inconscientemente a la sintaxis y luego hay sorpresas cuando la semántica no se ajusta a nuestra intuición. Y, ahora es cuando me vas a matar, creo que eso es bueno. Por una sencilla razón: hace al estudiante desconfiar de su intuición. El caso paradigmático es la implicación material cuando "falso implica verdadero" es verdadero.

Cierto, pero eso es como cuando uno dice "número" refiriéndose a "número real" porque no va a tratar con números complejos. El hilo se titula Lógica de primer orden, y hay que entender que cuando digo "lenguaje formal", quiero decir "lenguaje de primer orden" y, más concretamente, un lenguaje formal del tipo que he definido, sin más pretensiones de generalidad.
...
No. Todo lo que has dicho hasta aquí es totalmente coherente y simplemente responde a un punto de vista distinto del que yo quiero seguir, pero en esto último hay un pequeño error conceptual. No puede hablar de "el lenguaje formal de la lógica de primer orden" ni mucho menos darle un nombre, porque no es un único lenguaje formal, sino que estoy tratando con infinitos lenguajes posibles, según las constantes, relatores o funtores que posean. No es uno solo.

Tienes toda la razón del mundo. Escribir de memoria tiene estas cosas.

Sí, distinguir entre lógica con o sin igualdad es totalmente estándar, pero yo pregunto ¿para qué sirve la lógica de primer orden sin igualdad? Podrás decirme que la distinción sirve para ver cuáles son los requisitos lógicos específicos para tratar con la igualdad, pero no estoy interesado en diseccionar la lógica de ese modo. Si los únicos lenguajes formales que voy a usar tienen igualdad, no veo el interés de estudiar primero lenguajes sin igualdad. Es como si antes de estudiar grupos se considerara conveniente estudiar semigrupos a pesar de que nunca vas a trabajar con un semigrupo que no sea un grupo. En ese contexto, yo trabajaría directamente con grupos, y no me importaría si algunas de las cosas que digo valieran también para semigrupos que no fueran grupos.

Ten piedad con el lector. Este lector luego, en otro contexto, se encuentra con un semigrupo y recordará algo de los grupos pero... ¿esto que leí también valía para los semigrupos o sólo era para los grupos? Hace poco empecé a leer un libro sobre análisis funcional y empezaron con los espacios métricos. El autor empezó con muchos teoremas sobre estos espacios que realmente sólo requerían que la topología fuera Hausdorff (ya sabes, cosas de límite de secuencias único y demás). Al final no sabía si cada teorema realmente necesitaba que el espacio fuera métrico o Hausdorff. Tuve que dejar el libro porque me estaba liando conocimientos que ya tenía. ¿Qué trabajo le habría costado definir un espacio de Hausdorff y decir que los espacios métricos son Hausdorff con su topología asociada?

Cada cosa debe estar en su estructura, aunque tampoco sin pasarse. ¿Cuándo es una estructura suficientemente importante para dejarla? Ahí, la verdad, está la opinión de cada uno. Si la definición es simple, creo que es mejor dejarlo. Si el lector está interesado en, no sé, semigrupos, ya explorará y descubrirá las relaciones de Green y esas cosas. En el caso que nos concierne, ¿es suficientemente importante hablar de los lenguajes formales aparte? La verdad, yo creo que sí. ¿Es suficientemente importante hablar de la lógica sin igualdad? Ahí ya tengo mis dudas dados los objetivos que te has planteado con el artículo.


Sí, esto que planteas es bastante estándar y propio de los libros de lógica, y aquí entramos en una mera cuestión de "gustos", y es que debo decirte que eso me parece "horripilante" (y no es una crítica hacia ti, naturalmente, que estás defendiendo la ortodoxia). ¿Realmente aporta a algo a alguien ese planteamiento abstracto que propones? Yo he visto a gente en este foro pregunta dudas sobre ejercicios en ese contexto, y he procurado resolverlas, pero en el fondo pienso ¿y a qué clase de profesores se les ocurrirá hacer perder el tiempo a esta gente con problemas tan tontos en lugar de ir directamente a lo que interesa, a lo que aporta algo? Insisto en que son apreciaciones subjetivas, pero mi impresión es que estar dándole vueltas a lenguajes formados por as bes y ces, es una pérdida de tiempo, cuando puedes ir directamente a los lenguajes formales que interesan. En todo caso sería al revés: sólo cuando alguien ha asimilado las ideas importantes sobre lenguajes formales "de verdad", de los que pueden usarse para formalizar razonamientos, uno puede interesarse en versiones abstractas de esos lenguajes. Es como si a alguien que no sabe nada de grupos, anillos y espacios vectoriales empiezas a hablarle de categorías. Es más sensato demostrarle a uno el teorema de isomorfía de grupos, y el de anillos, y el de espacios vectoriales y, a lo sumo, en un futuro, hacerle ver que todos son casos particulares de un teorema sobre categorías abelianas, si es que uno llega a estudiar algo en el que el punto de vista de las categorías abelianas le aporta realmente algo.

Personalmente creo que aporta mucho el enfoque abstracto. Más en este caso en el que son unas pocas líneas de definición y llegamos a resultados bastante interesantes.

Sobre los profesores que ponen problemas tontos, desconozco si es por torpeza propia o del alumnado. Si es en el primer caso, no tienen perdón. En el segundo, en fin. De cualquier modo, convendrás conmigo que la sintaxis de la lógica de primer orden puede resultar compleja a alguien que no esté muy curtido en matemáticas. Es habitual empezar con cosas simples y avanzar hacia las complejas.

Nota al margen: creo que las categorías son de las cosas más bellas que hay en matemáticas. El grado de abstracción y la dificultad de su comprensión son (desde mi punto de vista) recompensadas por los frutos que da. Por otra parte, es cierto que son un tema arduo y yo mismo estoy deseando encontrar un libro menos abstracto sobre el tema.

De hecho, si algo me deja insatisfecho de la forma en que presento la lógica es el no poder ser un poco menos abstracto de lo que estoy siendo. Me gustaría poder (o saber) presentar las cosas de una forma mucho más elemental, que no requiriera abstracciones innecesarias, pues lo que pretendo es explicar algo muy concreto y muy intuitivo, algo que no requiere tratar con lenguajes sin significado, y aun así cualquier intento de precisar lo que es una fórmula o un modelo puede "echar para atrás" a más de uno, a pesar de que la idea de fondo la tiene que entender todo el mundo.

Esto es contrario a mi punto de vista, pero sigue el camino de "no hay paleta" y somos "burros con anteojeras" por un camino ya pensado. Tiempo habrá de quitar las anteojeras y enseñar la paleta. Habla de frases del lenguaje natural. Trata la sintaxis como una abreviatura de las frases. Descubre cómo razonamos con el lenguaje natural e imita ese razonamiento con las reglas de inferencia sobre las abreviaturas.

Sí, conozco esta forma de hacer las cosas, y siempre he tratado de evitarla a toda costa. Hay un aspecto en todo esto del que no sé si eres consciente. No sé si cuando escribes todo lo que escribes estás pensando en ello como afirmaciones formales en una teoría de conjuntos que te permite hablar de uniones, intersecciones, conjuntos numerables, definiciones inductivas, etc. Si es así, tenemos un problema serio, porque una de las utilidades de la lógica de primer orden es construir la teoría de conjuntos que (tal vez, si acierto al interpretar cómo concibes lo que dices) es necesaria para que puedas desarrollar la lógica "a tu manera (estándar)".

Al margen de esa distinción (tú pareces hablar de conjuntos, yo tengo la necesidad de hablar de signos "de verdad" que pueden escribirse en un papel o meterse en un ordenador, sin apoyarme en ninguna teoría de conjuntos) insisto en que para que alguien entienda qué es una fórmula o un término no necesita entender todo el aparato algebraico que estás montando, como para entender el análisis en \( \mathbb R^n \) no es necesario saber geometría diferencial, y que de hecho es mejor saber análisis en \( \mathbb R^n \) antes de entrar en la geometría diferencial.

Sí. Yo hablo de conjuntos. Otra cosa es que, por ignorancia, no haya puesto condiciones más relajadas. Supongo que en la sintaxis podría hablar de "una colección no vacía bien definida de símbolos cualesquiera" signifique lo que quiera que eso signifique, ya que estamos hablando en un lenguaje natural y no en un lenguaje formal.

En la semántica, si queremos que sea denotacional, debemos relacionar cada fórmula con un objeto matemático (que casi siempre será un conjunto). Si queremos semántica operacional, sólo necesitamos transformar las fórmulas sintácticamente. Otra cosa es que esas transformaciones sean correctas y completas.

Eso es justo lo que quiero evitar. No hay nada de semántica, pero todo lo que dices tiene una razón de ser porque es "ajustable" a una semántica que has omitido deliberadamente. Lo que yo intento es poner de manifiesto desde el primer momento la existencia de esa semántica que explica realmente lo que estás haciendo. Cuidando de dejar claro que al final cada concepto sintáctico no depende de esa semántica, pero explicando minuciosamente su relación con ella.

Ya hemos hablado de esto. La dualidad de explicar antes sintaxis o semántica.

Ah, esto responde a algo que te preguntaba más arriba. Me confunde que llames semántica operacional a unas reglas de inferencia. Las reglas de inferencia también tienen su vertiente puramente sintáctica y su interpretación semántica, y ése es también uno de los puntos en los que quiero incidir al comparar ambas partes. Ahora que hablas ya claramente de isomorfismos con estructuras matemáticas ya no hay duda de que concibes todo lo que dices como una parte de la teoría de conjuntos, con lo que tendrás que admitir que tu planteamiento no sirve para fundamentar la teoría de conjuntos, que es casi la única razón por la que me interesa la lógica (aunque no tengo intención de llegar tan lejos en mi artículo).

No creo que sea estándar llamar "operacional" a las reglas de inferencia, pero desde un punto de vista computacional son precisamente eso: transformaciones sintácticas. Ojo que las reglas de inferencia podrían ser la única semántica necesaria para la lógica de primer orden. Sin embargo, es más común dotarla de una semántica denotacional (dándole un valor a cada fórmula) y luego comprobar que ambas aproximaciones son equivalentes mediante demostraciones formales de corrección y completitud.

Mi planteamiento no sirve para fundamentar la teoría de conjuntos a menos que (y esta es mi opinión nada experta)

1) Trates los lenguajes formales como formas de escribir símbolos sobre papel o pantalla. Creo que es posible hacerlo sin mencionar ningún concepto matemático y sólo usando los símbolos de manera informal, pero estricta.
2) Uses las reglas de inferencia como semántica. Olvídate de que \( \overline N \) sea Napoleón. \( \overline N \) son símbolos en papel. No hay interpretación de los símbolos. La semántica es cómo trabajes con esos símbolos.

En este caso sólo estaríamos hablando de cómo escribir las cosas de manera formal. No hay conceptos matemáticos. Sólo una normativa muy concreta de cómo escribir sobre el papel. El que esta normativa se corresponda a un tipo de pensamiento lógico es algo que veo difícil de demostrar, pero fácil de justificar.


Sí, claro que se corresponde, pero sigo sin entender cuál es la objeción que pones a mi definición de fórmula (que no es mía, también es bastante estándar): una fórmula es una cadena de signos tal que existe una sucesión de cadenas tales que cada cual es una fórmula atómica (concepto definible previamente) o bien se genera a partir de las anteriores mediante ciertas reglas. ¿Cuál es el problema? En el fondo es también una definición inductiva, pero al mismo tiempo es totalmente constructiva, es decir, no depende de un teorema de recursión no evidente por sí mismo y que requiere una demostración previa.

En este caso no estoy tan enfocado en la definición concreta de lenguaje definido inductivamente (que si mediante una construcción o usando un teorema de recursión) como en repetir una construcción similar en dos definiciones (la de término y fórmula). Creo, aunque esto ya es opinión personal, que sería más provechoso sacar de estas dos definiciones la idea de lenguaje definido inductivamente y usarla luego en cada una de esas definiciones.

Al final terminas con tres definiciones en vez de dos, pero haces ver al lector que estás usando el mismo mecanismo en ambas. Es más, puedes razonar sobre este mecanismo (por ejemplo, para realizar demostraciones por inducción estructural).

Sí, está claro. Lo que no veo es la ventaja de hacerlo así. La única ventaja de separar la sintaxis de la semántica es dejar claro que al final ningún concepto sintáctico depende de la semántica, pero creo que eso puede quedar claro sin necesidad de llevar a ciegas al lector hasta que finalmente decides abrirle los ojos y revelarle el sentido que tiene todo lo dicho hasta entonces. Y las herramientas para definir los lenguajes formales, mi opinión (siempre subjetiva) es que son cañones para matar moscas. No veo la ventaja de introducir una teoría abstracta para luego definir unos lenguajes concretos, de modo que lo único que consigues es oscurecer la definición. Además, esto resulta inviable si las herramientas en cuestión requieren teoría de conjuntos y no quieres caer en un círculo vicioso (la teoría de conjuntos se define a partir de un lenguaje formal, unos axiomas y unas reglas de inferencia que no puedes permitirte en lujo de definir en términos de la teoría de conjuntos).
...
Sí, entiendo perfectamente lo que propones, pero no me gusta nada nada ese planteamiento. De hecho, creo que no has explicado para nada cuáles son según tú las ventajas de hacerlo así? Yo he tratado de explicarte las ventajas de no hacerlo así, aunque tal vez no haya podido concretar todo lo que me hubiera gustado porque mi artículo aún no está muy avanzado, y todavía no puedo ponerte ejemplos auténticamente relevantes del interés que le veo a este enfoque. Éstos aparecerán realmente cuando entre en la definición de las deducciones formales.
...
En absoluto. Estás defendiendo la más pura ortodoxia sobre el asunto. Pero creo que lo que resultaría realmente enriquecedor es que argumentaras cuáles son a tu juicio las ventajas del planteamiento ortodoxo. En realidad no he pretendido criticar dicho planteamiento, sino que mi opinión es más bien que el planteamiento ortodoxo es un planteamiento técnico, que no responde a los intereses de quien meramente quiera conocer bien la lógica matemática. Volviendo a un ejemplo que te he puesto antes. Yo he estudiado teoría de categorías, y la he estudiado cuando he visto que era útil para tratar ciertos aspectos de la geometría algebraica y la geometría diferencial, y la recomendaré cuando se trate de tratar esos aspectos, pero me parecería un despropósito empezar por teoría de categorías para explicarle a alguien la teoría de grupos o de anillos.

Igualmente, no dudo de que el planteamiento que propones será el más adecuado para estudiar ciertas cuestiones técnicas en las que la lógica formal abstracta sea una herramienta a considerar, pero jamás me he encontrado en un contexto en el que ese punto de vista me haya sido de utilidad frente al estudio directo de los lenguajes formales necesarios en teoría de conjuntos (para fundamentarla y para abordar pruebas de consistencia). Por eso jamás lo recomendaría. Mi punto de vista a la hora de estudiar cualquier teoría matemática siempre ha sido el de no usar herramientas que no demuestren que aportan alguna ventaja frente a técnicas más elementales. Y siempre me ha ido bien así.

Separar la sintaxis de la semántica no implica que tengas que ocultarle la intencionalidad que hay detrás. Yo lo veo más como un asunto de organización. Dejando a un lado la necesidad de la teoría de conjuntos para las definiciones que he propuesto, algunas de las ventajas que me vienen a la mente son:

1) Definición. Basta con darle un nombre a las cosas para que podamos usarlas y estudiarla con mayor comodidad. Si estás usando un lenguaje formal, define lenguajes formales. Si estás usando una sintaxis, define la sintaxis. Dale nombre.

2) Reutilización. Los lenguajes formales que puedes definir no son únicamente los de la lógica de primer órden. Igualmente, una misma sintaxis puede tener varias semánticas. Por ejemplo, puedes usar una lógica intuicionista en vez de la lógica clásica con la misma sintaxis.

3) Guía. Una vez que le damos la pista al lector del nombre de una de las estructuras que usamos, el lector podrá investigar. Podrá buscar qué es una semántica operacional, o un lenguaje definido inductivamente, etc.

4) Referencia. Igualmente, al organizar el discurso y separarlo en partes, al hablar de un tema sólo hacemos referencia a la parte que corresponde. Que alguien no entienda qué es un término puede significar realmente que no entiende lo que es un lenguaje definido inductivamente.

5) Concreción. Hemos tardado un poco más en definir lo que es un lenguaje formal, pero luego definimos la sintaxis con mucha más brevedad. A menor brevedad, menos margen para ambigüedades, lapsus, errores de comprensión o de cualquier otro tipo.

¡Hombre! Yo creo que la auténtica complejidad innecesaria es todo el aparato algebraico que propones para definir unos míseros lenguajes formales ;D.  A mí me parece una simplificación el no tener que preocuparse para nada de los paréntesis a efectos teóricos, y que éstos queden relegados a meros auxiliares taquigráficos, pero, por supuesto, es cuestión de gustos.

Ciertamente es un asunto menor.





Todo lo que estamos hablando es un tema muy interesante. Me gustaría poder dedicarle algo de tiempo a definir lenguajes formales sin hacer referencia a otra cosa que símbolos escritos sobre el papel y frases como "escribir delante" o "escribir detrás". Luego, las reglas de inferencia de la misma manera. Vamos. Tener un sistema formal descrito sin usar objetos matemáticos.

17 Marzo, 2013, 02:46 pm
Respuesta #9

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
No veo la necesidad de introducir "funtores".

En tu post #1, podría considerarse un "funtor" como un "relator" con una componente adicional \( x_{n+1} \).
El relator sería "verdadero" en el caso de que la variable adicional fuese igual a \( f(x_1,...,x_ n) \), y sería "falso" en caso contrario.

Lo que dices es cierto. Es posible desarrollar la lógica de primer orden con o sin funtores sin perder capacidad expresiva en el segundo caso. Un argumento más a tu favor es que, si lo que pretendemos es fundamentar la teoría de conjuntos, el lenguaje de la teoría de conjuntos no tiene funtores. No obstante, lo estándar es estudiar lenguajes con funtores. En estos casos, si los dos caminos llevan a la meta, la única razón para elegir uno u otro es juzgar cuál es más "simple" o "elegante" o "cómodo", etc., pero todo son criterios subjetivos. Te voy a decir por qué me parece buena idea considerar funtores, pero quede claro que son criterios subjetivos y nadie puede discutirte que si nos empeñamos en borrarlos del mapa podemos hacerlo sin perder nada esencial.

Considera esta fórmula:

\( \forall xyx(x+(y+z)=(x+y)+z) \)

Si la queremos escribir sin funtores, habría que empezar por transformarla así:

\( \forall xyzuv(u=y+z\land v=x+y\rightarrow x+u=v+z) \),

y ahora podemos reemplazar el funtor \( + \) por un relator triádico \( S \), de modo que queda

\( \forall xyzuvw(S(y,z,u)\land S(x,y,v)\rightarrow (S(x,u,w)\leftrightarrow S(v,z,w))) \)

Coincidirás conmigo en que, aunque pone lo mismo, es mucho menos claro. Podrías decir que lo mismo sucede si reemplazamos los conectores \( \lor,\land,\leftrightarrow \) por sus definiciones, que una fórmula muy clara se puede convertir en un galimatías. Equivalentemente, podríamos plantearnos considerar a los funtores, no como signos de un lenguaje formal, sino como abreviaturas taquigráficas, similares a los paréntesis, el conjuntor, etc.

No digo que no sea viable, pero personalmente no me gusta esa opción, porque todas las abreviaturas taquigráficas que vengo empleando son triviales, en el sentido de que uno las ve y sabe qué tiene que hacer para suprimirlas, aunque suprimirlas todas pudiera ser tedioso y laborioso. En cambio, considerar que \( x+y \) es una abreviatura es conceptualmente más complejo. Lo cierto es que \( x+y \) no sería una abreviatura de nada, sino que habría que considerar que toda fórmula en la que aparece \( x+y \) es una abreviatura de otra en la que no aparecería \( x+y \), pero sin que \( x+y \) en sí mismo fuera nada "oficialmente". Personalmente, prefiero incluir funtores y no considerar esta situación.

Por otro lado, en teoría de conjuntos trabajas con expresiones de la forma \( x\cup y \), \( \mathcal Px \), etc. ¿cómo hay que entender estos signos? La solución que yo prefiero es considerarlos como descripciones (he preferido posponer en mi hilo toda referencia al descriptor, pero me ocuparé de ello más adelante), pero si uno prefiere evitar descriptores entonces debe considerarlos como nuevos signos definidos, es decir, como funtores de los que se demuestra que son eliminables en cierto sentido muy preciso. Si uno renuncia a los descriptores y a los funtores, esos signos quedan en un status un tanto fantasmagórico para mi gusto, aunque no deja de ser cierto que si uno quiere ir por ahí, puede hacerlo.

Al asignarle a las constantes, variables y funtores unos objetos del universo U, parece claro cómo funciona esto de la "valuación". (O por lo menos he encontrado el modo de creérmelo).

Luego en el Spoiler del post #3 has "evaluado" los conectores lógicos de modo que siempre te den
V ó F.
¿Estás considerando ahí otro tipo de "valuación"? Dijiste ahí que los conectores interesa que tengan siempre un mismo significado. Veo algo difusa la exposición en esos párrafos. No entiendo, bah.

No tengo muy clara cuál es tu duda. Si lo tuviera, trataría de modificar el texto para aclararlo, pero no sé muy bien qué debo aclarar.

Lo que digo allí es que, en principio, podríamos haber completado la definición de modelo diciendo que a cada conector diádico, como \( \leftrightarrow \) o \( \land \) o \( \lor \) (si decidiéramos incluirlos como signos primitivos del lenguaje) les asigna una tabla de verdad, es decir, una función que a cada par de valore verdadero/falso les asigna un valor de verdadero/falso. De este modo, podríamos considerar un modelo en el que el conector \( \rightarrow \) se interpreta con tal o cual tabla de verdad, y entonces para asignar un valor de verdad a cada fórmula que los contuviera habría que usar la tabla de verdad que el modelo le asigna al conector.

Sin embargo, no hacemos nada parecido. En la definición de modelo no asignamos una tabla de verdad a \( \rightarrow \) porque no pretendemos que tenga una tabla distinta en cada modelo, sino que en todos va a ser interpretado con la misma tabla de verdad. Por ello, la tabla de verdad que interpreta cada conector no aparece en la definición de cada modelo, sino en la definición de satisfacción en un modelo.

Si sigue sin estar claro, dilo y lo hablamos. En cualquier caso, cuando tenga claro cuál era tu duda trataré de aclararla en el hilo.

Sobre la definición de "satisfacción", en el punto 4), no me queda claro lo que significa que "para todo objeto del universo se cumple que...".

O sea, el "para todo" ahí me deja algo angustiado. No me molesta un "para todo" en el lado sintáctico,
pero en el lado semántico, no sé qué sentido darle.
____________________

¿Y qué tipo de colecciones de objetos puede ser U?

Las dos preguntas que haces están muy estrechamente conectadas. Ante todo, una observación que no responde honestamente a tu pregunta, pero que creo que conviene poner de manifiesto:

Todo cuanto digo en el hilo se puede entender de dos maneras, como afirmaciones metamatemáticas que no dependen de ninguna teoría formal previa, o bien como afirmaciones en ZF. Con mínimas adaptaciones (todas las cuales las puedes encontrar en mi hilo de teoría de modelos), todo cuanto digo puede entenderse como que estoy hablando de ciertas estructuras conjuntistas: los signos de un lenguaje formal son conjuntos, las cadenas de signos son sucesiones de signos en el sentido conjuntista definidas de forma aceptable en ZF, etc. Si lo entiendes así, tú mismo tendrás respuestas obvias a tus dos preguntas. "Para todo" significa lo que siempre significa "para todo" en ZF y U puede ser cualquier conjunto de los que se tratan en ZF. Digo esto porque, aun en el supuesto de que te resistas a aceptar que lo que digo es metamatemáticamente aceptable, siempre puedes concebirlo como definiciones y teoremas en ZF (cuya formalización no ofrece ningún problema no trivial) y algo es algo. Es verdad que viéndolo así no sales del círculo vicioso de necesitar ZF para definir ZF, pero si aceptas que ZF está ahí, entonces tienes que aceptar que todo lo que digo tiene sentido en ZF.

Ahora bien, si ésa fuera mi respuesta me estaría saliendo por la tangente. Tus preguntas tienen perfecto sentido y no son triviales cuando consideramos lo que digo en el hilo como afirmaciones independientes de cualquier lenguaje formal. Y de hecho es así como hay que entenderlas si queremos que todo eso sirva realmente para definir ZF.

Entrando ya en ello, como digo, tus preguntas son en realidad la misma. ¿Qué tipo de colecciones de objetos puede ser U? La respuesta es precisamente cualquiera que esté bien definida hasta el punto de que podamos asegurar que tiene sentido decir "para todo objeto de U" y "existe un objeto de U tal que..." Así, la respuesta a tu segunda pregunta responde a la primera. No te puedo decir a priori qué significa "para todo objeto de U", sino que la garantía de que esto tiene sentido tiene que estar en que U sea realmente una colección de objetos bien definida.

La lógica no puede definir qué significa "para todo". La lógica consiste en que si "para todo" significa algo en un determinado contexto (y entonces puedes construir un modelo de un lenguaje formal realmente bien definido) entonces la lógica te dirá cómo se comporta esa noción de "para todo", pero el sentido del "para todo" lo tienes que aportar tú, no te lo puede dar la lógica.

En este sentido, lo que estamos haciendo es lo siguiente: damos unas definiciones puramente sintácticas que incluyen reglas que especifican cómo deben usarse los signos \( \forall \) y \( \exists \), y probamos que, en la medida en que los signos de nuestro lenguaje admitan una interpretación como afirmaciones sobre unos objetos bien definidos hasta el punto de que las afirmaciones del tipo "para todo" y "existe" tengan un sentido objetivo y unívoco, entonces la interpretación de los signos \( \forall \) y \( \exists \) es precisamente ese "para todo" y "existe" a los que suponemos un significado preciso.

A su vez, el hecho de que no necesitemos la semántica para manipular sintácticamente las expresiones formales, se traduce en que podemos dar unos axiomas para la teoría de conjuntos y decir: si existen unos objetos bien definidos (de modo que tenga sentido hablar de la totalidad de ellos, es decir, de hacer afirmaciones del tipo "para todo" y "existe") que cumplan estos axiomas, entonces los teoremas de la teoría de conjuntos hablan de ellos y cuando demostramos un teorema que empieza por \( \forall x \), entonces lo que viene después vale para todos esos objetos. Ahora bien, si sucede que no tienes conocimiento de unos objetos concretos que cumplan esos axiomas, es decir, si no eres capaz de atribuir un significado específico a una afirmación del tipo "para todo conjunto...", no te preocupes, puedes trabajar con los axiomas de ZFC sin que tu incapacidad para interpretar sus signos te perjudique en nada. Lo cual es una gran ventaja porque yo me reconozco incapaz de interpretar los signos del lenguaje de ZF. No conozco unos objetos a los que pueda llamar "los conjuntos" y que cumplan los axiomas de ZF.

A la vista de esto, uno podría pensar que hablar de modelos de un lenguaje formal es una pérdida de tiempo, ya que cuando nos enfrentamos al lenguaje formal (y los axiomas) que realmente interesa (el de una teoría de conjuntos), no conocemos realmente ningún modelo, por lo que toda la teoría que hemos desarrollado es vacía cuando trata de aplicarse al caso que realmente interesa, pero no es exactamente así. La lógica nos enseña que si la teoría de conjuntos es consistente, entonces tiene un modelo, es decir, podemos razonar que existen unos objetos bien definidos (en los que "para todo conjunto" tiene un sentido muy concreto) y que verifican los axiomas de la teoría de conjuntos. Lo malo es que la prueba (aunque es constructiva) no es efectiva, y no nos permite "calcular" explícitamente las relaciones de ese modelo, pero eso no quita para que tengamos una prueba constructiva de que hay modelos, por lo que nuestros axiomas (si son consistentes) tienen un significado posible, aunque éste pueda distar mucho que lo que se imaginaría uno ingenuamente (el modelo que obtenemos es numerable, cuando uno esperaría ingenuamente que fuera no numerable, etc.)

17 Marzo, 2013, 04:42 pm
Respuesta #10

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Sin embargo, por favor, distingamos claramente el aspecto docente del aspecto, digamos, filosófico o de perspectiva con el que se aborda el tema. Que tengan dudas sobre la lógica puede significar que el libro que usen no sea de la calidad suficiente, no que el punto de vista abordado sea malo (o el profesor que les enseñe no lo haga bien, pero mejor no sigo por aquí).

Esto es un aspecto muy sutil y me cuesta expresarme sin miedo a que se malinterprete lo que digo. Desde luego, cuando hablaba de "acabar con concepciones deformadas" no me refería casos que pueden darse debido a tener un mal profesor o a negligencias propias al no interpretar adecuadamente un libro. Me refería a que libros que pueden considerarse completamente ortodoxos, escritos por matemáticos de primera línea que conocen muy bien la materia pueden inducir a concepciones erróneas a buenos alumnos a los que no se les puede acusar de torpeza simplemente porque el enfoque ortodoxo fomenta (siempre a mi juicio) que incluso los buenos y atentos lectores que queden con algunas ideas inapropiadas, y son esos aspectos los que quiero enfatizar en mi artículo. Con ello no quiero criticar, ni mucho menos censurar, los libros estándar ni a sus autores. Probablemente, los propios autores no tienen esas ideas inapropiadas de las que hablo, sino que tienen la situación muy clara. Aunque no sea exactamente lo mismo, es como cuando un matemático logra demostrar un resultado no trivial, pero cuando publica la prueba, lo hace de una forma totalmente ortodoxa e impecable, pero la presentación final no muestra las ideas que le han permitido llegar al resultado, sino que "involuntariamente" ha ocultado esas ideas al buscar la forma más sucinta y elegante y "clara" en un sentido superficial de la palabra, de presentar la prueba. En muchas ocasiones, la forma más "clara e impecable" de presentar un resultado o una teoría, oculta al mismo tiempo información relevante para entenderla cabalmente.

Por lo que he podido leerte, creo que tu juicio es de bastante peso, me gustaría saber los aspectos que has percibido como erróneos siguiendo el procedimiento habitual. Probablemente yo mismo sea uno de esos "deformados". Jejeje.

Me resultaría complicado entrar en eso aquí fuera de contexto. Creo que será más práctico que vaya prosiguiendo mi artículo y que discutamos sobre ello cuando vayan surgiendo las cosas. (De todos modos, creo que a lo largo de esta respuesta aparecerán algunos ejemplos concretos.) Por otra parte, tampoco quiero dar la impresión de estar diciendo que todos los lógicos del mundo conciben mal la lógica menos yo, y que trato de revelar la verdad al universo. No. Estoy convencido de que no voy a decir nada en mi artículo que no tenga perfectamente claro todo profesional de la lógica. Lo único que digo es que algunas de esas cosas quedan inevitablemente disimuladas con las exposiciones usuales.

Realmente la lógica es insulsa y hasta tediosa. No obstante, como herramienta que es y que usamos, hay que tenerla "engrasada".

Ahí está la clave en el "y que usamos". Es que la lógica que usamos no me parece insulsa y tediosa. Al contrario, su estudio me parece fascinante. Pero ¿usamos realmente lenguajes con gramáticas arbitrarias, necesitamos para algo modelos de teorías extrañas, o lógicas distintas de la que realmente usamos, etc.? Es el estudio de esos objetos "de interés exclusivo de los lógicos" lo que me parece tedioso y aburrido (siendo esto algo completamente subjetivo). Es como si alguien tiene un perro y quiere aprender cosas sobre los perros y tú le dices que debe aprender antes cosas sobre seres vivos en general, y sobre animales en general, y sobre vertebrados en general, y sobre mamíferos en general y sobre caninos en general, para no parecer un burro con anteojeras que sólo conoce los perros.

¿Qué me aporta a mí saber qué se puede decir sobre lenguajes en general si lo único que necesito es manejar lenguajes de primer orden en particular? Hay muchas ocasiones en matemáticas en las que una visión general aporta luz sobre un caso particular, pero ¿es éste uno de esos casos? Yo creo que no. Yo creo que en este contexto el caso general sólo aporta información absolutamente inútil para el caso particular de interés.

En esto que dices llego a dos ideas que al final son la misma.

La primera es que la sintaxis SÍ es arbitraria. De hecho puedes definir algunas sintaxis muy, muy raras. Ponerlo todo en notación prefija, postfija o, como información que es, en una secuencia de unos y ceros. Ahora bien, ¿por qué elegimos una en concreto? Realmente por una evolución histórica. De hecho, las fórmulas lógicas estándar se pueden leer como frases del lenguaje natural.

\( \forall x (hombre(x) \rightarrow mortal(x)) \)
Para todo x se cumple que si x es hombre entonces x es mortal.

Desde ese punto de vista la sintaxis elegida es, simplemente, una abreviatura del lenguaje natural. Del estudio de estas abreviaturas se llega a los lenguajes formales y la sintaxis de la lógica es uno de esos lenguajes formales.

Bien, pues he aquí un ejemplo de lo que entiendo por una concepción errónea de la lógica. La sintaxis NO es arbitraria. Obviamente, si por arbitraria quieres decir que hay muchas alternativas raras, esto es cierto, pero digo que no es arbitraria porque NO es cierto que si se elige la que se elige frente a las demás no es de forma arbitraria, por capricho, o ni siquiera por una cuestión histórica. Y precisamente el presentar una teoría general de lenguajes formales con sintaxis arbitrarias fomenta la concepción (errónea a mi juicio) de que la lógica de primer orden es una de tantas lógicas posibles elegida caprichosamente o por cuestiones culturales.

Mi planteamiento es diferente: los seres humanos tenemos capacidad de razonar. Y no hay distintas formas de razonar (en el sentido de que unas lleven a unas conclusiones y otras lleven a otras). Si no razonas bien sobre cuestiones vitales, simplemente te mueres. Luego, si hablamos de cosas secundarias, como si existe o no existe Dios, ahí ya cada cual puede razonar como quiera, que no pasa nada (a no ser que te convenzas de que Dios ama a los suicidas y te suicides, entonces razonar mal y llegar a conclusiones infundadas también puede matarte). Cuando uno razona, necesita premisas sobre las que basar los razonamientos, y la elección equívoca de premisas (por ejemplo, asumir que tal político es digno de confianza cuando en realidad no lo es) puede llevarte a error, pero la lógica (la lógica de verdad, no la lógica generalizada de los lógicos, en la que cualquier cosa rara puede ser un lenguaje digno de estudio) consiste en determinar qué consecuencias de unas premisas dadas podemos asegurar que serán verdaderas si tenemos la seguridad de que las premisas son verdaderas.

Esto es la lógica (o esto es a lo único a lo que pretendo referirme cuando hablo de lógica, sin perjuicio de que otros puedan extender el concepto). Y esto tiene una utilidad para las matemáticas: si llegamos a determinar cuáles son exactamente las consecuencias que pueden extraerse de unas premisas dadas sabiendo que no pasaremos nunca de premisas verdaderas a conclusiones falsas, entonces, ante la falta de criterio para encontrar unas premisas (axiomas) para la teoría de conjuntos que podamos asegurar que son verdaderas en algún sentido, nos queda la opción de tomar unos axiomas de los que podamos decir "nos gustaría que estos axiomas fueran verdaderos en algún sentido" y luego aplicar las técnicas de deducción que hemos garantizado que nos llevan siempre de premisas verdaderas a conclusiones verdaderas (así como que permiten extraer toda conclusión legítima de unas premisas verdaderas), con lo que sabemos que los teoremas de la teoría de conjuntos son todas las afirmaciones que son verdaderas en el mismo sentido en que pueda decirse que los axiomas son verdaderos y precisamente porque sean verdaderos (si es que existe algún sentido en que esto suceda). Además la lógica nos garantiza que existe tal sentido bajo el supuesto de que los axiomas sean consistentes.

Esto es la lógica en principio, y en lo que acabo de decir no hay nada de histórico o cultural. Estoy hablando de la razón pura y de cómo caracterizarla en términos operativos. Otra cosa es que para realizar este programa, se empleen ciertas técnicas, consistentes en definir lenguajes formales susceptibles de formalizar las afirmaciones posibles de las que pretendemos extraer consecuencias lógicas, y que esas técnicas sean susceptibles de ser generalizadas para estudiar otros lenguajes formales que nada tienen que ver con nuestro propósito de formalizar la razón (la capacidad de extraer consecuencias necesariamente verdaderas de premisas verdaderas). ¿Es razonable seguir llamando "lógica" a este uso generalizado de las técnicas que en principio son útiles para desarrollar el programa de formalizar el razonamiento? No digo que no, pero si lo hacemos, debemos evitar caer en los juegos de palabras: si un libro de lógica presenta la lógica como el estudio de cualquier cosa que se pueda llamar "lenguaje formal" está ocultando a sus lectores que dentro de esa arbitrariedad hay una parte especial que no es arbitraria, sino que es la adecuada para formalizar el razonamiento lógico "de verdad".

Me parece "tramposo" tomar una exposición cuyo objeto (legítimo) es realizar el programa de formalizar el razonamiento en el sentido que acabo de indicar, generalizarla, y después decir: "tu forma de exponer no es adecuada porque no es suficientemente general ni es la adecuada para que se aprecie esa generalidad". La pregunta es ¿Qué objeto tiene esa generalidad? ¿Qué se gana con ella? Si la respuesta (legítima) es "es que hay gente a la que le gusta generalizar estas cosas y se llaman lógicos y se han adueñado de la palabra "lógica" para referirse a este contexto general", yo respondo que me parece totalmente legítimo que alguien estudie cualquier teoría matemática que se le ocurra, pero no es legítimo decir que una exposición pensada para cubrir de la forma más clara posible un programa concreto se considere inadecuada porque no sea adecuada para presentar una versión generalizada cuyo interés no parece ir más allá del hecho de que algunos (legítimamente) lo consideran interesante.

La segunda idea es que SÍ es posible definir el modus ponens de otra forma. Obtienes otra lógica. Quizás útil. Quizás inconsistente. Quizás trivial. Simplemente es otra lógica, con otra semántica. De nuevo estamos en lo mismo, ¿por qué elegimos de todas las definiciones posibles las que elegimos?

Pues eso son ejemplos de preguntas que tendrá claro alguien a quien le hayan presentado la lógica como el proyecto de formalizar el razonamiento, entendido este como la extracción de conclusiones necesariamente verdaderas a partir de premisas que sabemos o suponemos verdaderas, y que no sabrá responder alguien a quien le hayan dicho que la lógica es el estudio de una serie de lenguajes arbitrarios y reglas de inferencia arbitrarias.

No es "simplemente otra lógica". Eso es lo que considero una deformación de lo que hay de fondo en la lógica. Obviamente, no niego que alguien puede definir lógicas arbitrarias y entonces tiene razón al decir que una lógica es una lógica y otra lógica es "simplemente otra lógica". Eso es lógico  :D  Pero también digo que alguien que vea todas las lógicas como iguales está perdiendo de vista que hay una lógica (o varias alternativas equivalentes) que formaliza (acompañada de una semántica) unos conceptos de "verdad" y "razonamiento" que no son arbitrarios, sino los únicos aplicables a la realidad (no puedes decir que la Tierra redonda con una lógica o una semántica y es plana con otra, salvo que simplemente juegues con las palabras de forma trivial) ni puedes decir que si todos españoles son europeos y yo soy español, entonces yo seré o no europeo según la lógica que emplee. Esta la lógica y todo lo que se le parece pero no es la lógica. Y aquí no me refiero a la lógica formal, sino a la lógica que puede ser formalizada. Y los conceptos de lenguaje de primero orden, reglas de inferencia, modelo etc. son los que tienen que ser para formalizar esa lógica. Yo todo lo demás es algo que se le parece, pero que es otra cosa. Será un objeto digno de estudio para los matemáticos, pero si uno no se da cuenta de que es otra cosa y que hay una diferencia esencial y objetiva entre la teoría general y la particular, de modo que la particular no es "simplemente una más", se está perdiendo algo gordo, a mi juicio.

Aquí habría que mencionar que estudiando las frases del lenguaje natural vemos que, cuando nos restringimos a la lógica de primer orden, podemos asignarles un valor de verdad y que ese valor depende de las partes constituyentes de la frase. Vamos. Que tenemos una lógica veritativo funcional. ¿Cómo mantener ese valor de verdad en el lenguaje abreviado? ¿Cómo calcularlo a partir de las partes constituyentes de la fórmula abreviada? Ahí está la explicación de hacer esas definiciones y no otras.

Exactamente, y ahí está la explicación de por qué los lenguajes formales que yo estoy introduciendo son los que realmente valen para su fin, y que todos los demás son artificios matemáticos que cualquiera es libre de estudiar por placer si es que le gusta, pero si te viene alguien y te dice, me gustaría que me enseñes lógica (en el sentido de cómo se formaliza el razonamiento) tendrás que explicarle por qué le conviene estudiar lo que realmente le interesa entre infinitas variantes de interés dudoso. Si alguien me pregunta eso, yo no sabría qué responderle, así que le hablaría directamente de lenguajes de primer orden porque no consideraría que con ello le estaría poniendo anteojeras, sino que si hiciera lo contrario le estaría engañando al explicarle cosas que, ni son lo que le interesa, ni le van a ayudar a entender mejor lo que le interesa. Salvo que tú me puedas dar alguna utilidad en seguir el otro enfoque generalista. A mí no se me ocurre ninguna.

Estas dos ideas son realmente la misma: tenemos una paleta de posibilidades y elegimos la que más nos interesa para llegar a tal objetivo. De la forma en la que está abordado el artículo, según entiendo, se desecha la paleta porque vamos directo al objetivo. En ese proceso de ocultación de los caminos laterales, no estoy muy seguro si estamos ganando o perdiendo comprensión. Vamos como un burro con anteojeras.

Creo que ese razonamiento es capcioso. Es como si alguien quiere aprender geometría y consideras que, por enseñarle geometría y no álgebra y análisis, le estás poniendo anteojeras. Para que eso sea razonable habría que justificar que le estás ocultando cosas que le sería útil conocer. Cualquier cosa se puede estudiar siempre desde un punto de vista más general, pero el punto adecuado no es el más general, sino el grado de generalidad necesario para entender plenamente lo que se estudia. Y mi tesis es que estudiar lenguajes en general no aporta nada, absolutamente nada significativo que mejore la comprensión del caso particular que aquí nos interesa. Si no estás de acuerdo, te invito a que me argumentes lo contrario.

Yo soy consciente de que, por ejemplo, conocer las propiedades de un espacio topológico y distinguirlas de las que dependen de una métrica es útil para entender los espacios métricos, de modo que, aunque a uno sólo le interesen los espacios métricos y nunca vaya a trabajar con un espacio que no sea métrico, le será útil conocer espacios topológicos, aunque sólo sea para comprender el significado de que dos métricas sean equivalentes, y lo que se conserva cuando cambiamos una métrica por otra equivalente (se conserva la convergencia, pero no la propiedad de Cauchy de una sucesión, etc.) Soy consciente de que existen muchos casos en los que la generalidad ayuda, en los que si tuviera que explicarle algo a alguien, me doy cuenta de que no trabajar con un grado de generalidad mayor que el que a priori podría juzgarse necesario sería un inconveniente serio, pero no veo que eso suceda en el caso que nos ocupa.

Ojeé tu libro de lógica hace años. No sé si lo has actualizado. Realmente recuerdo poco de él.

Creo que tus conocimientos de lógica son más que suficientes como para que no necesites mi libro para nada. Sólo quería decirte que yo también sé separar la sintaxis de la semántica.

Sobre la introducción de semántica antes que sintaxis, creo que es dual (chiste matemático malo) a introducir la sintaxis antes que la semántica.

Es que no se trata de introducir la semática antes, es decir, dedicar un capítulo a la semántica y luego otro a la sintaxis, sino de introducirlas a la vez (de modo que presentas la parte semántica de cada concepto antes que su parte sintáctica, pero después que la parte sintáctica del concepto anterior.

En el enfoque que has tomado al final debes decir que la sintaxis no se apoya en la semántica. En la exposición estándar debes decir que la sintaxis no es arbitraria y se busca para que se le pueda dotar de semántica luego.

No lo veo dual. En el segundo caso dices que la sintaxis no es arbitraria, pero el que te escucha tiene que aceptar a ciegas varias convenciones sin que le proporciones su justificación hasta mucho después. En el primer caso cada cosa se justifica en el mismo momento en que se introduce. En cierto sentido ha sido justificada antes de ser introducida. Por ejemplo, en el último hilo que acabo de publicar he justificado por qué el concepto de sustitución se ha de definir como lo definiré en el próximo hilo. Lo contrario sería dar una definición con una serie de arbitrariedades cuya justificación se le puede escapar a muchos lectores acostumbrados a asentir cada vez que se les da una definición "pseudoarbitraria".

Una de las malinterpretaciones que me llaman la atención es la que se da cuando veo a alguien preguntar "¿si tengo \( \alpha\rightarrow \beta \) y \( \lnot \beta \) puedo deducir \( \lnot \alpha \)? ¿Y si es así por qué?

Quien pregunta esto, probablemente (no tiene por qué ser así) no tiene claro que "puedo deducir" tiene dos sentidos distintos, el sintáctico y el semántico. Si lo tuviera claro, debería tener claro al menos que semánticamente la respuesta es trivialmente afirmativa: si las dos premisas son verdaderas en un modelo la conclusión lo será necesariamente, por lo que la deducción es semánticamente válida. Otra cosa es que cuando se define un cálculo deductivo se hace con la intención de que toda conclusión semánticamente válida sea formalmente válida, es decir, que pueda demostrarse mediante unos axiomas y reglas de inferencia prefijadas.

Quienes han aprendido la lógica sin semántica tienden a ver la lógica como una aplicación de reglas arbitrarias, de modo que si una pregunta como la anterior no se ajusta a ninguno de los casos que conocen, están en blanco, ni se les pasa por la cabeza observar que el mero hecho de que sea semánticamente correcta les garantiza que tiene que ser sintácticamente correcta (si no les han engañado y les han presentado un cálculo deductivo completo). Uno de los puntos que quiero enfatizar en mi artículo es que una deducción lógica correcta es una deducción semánticamente correcta, y que lo que aporta la lógica es que dicha corrección semántica se puede describir sintácticamente. Pero esa idea difícilmente se le queda a quien se le presenta la lógica como una arbitrariedad sintáctica y luego se les demuestra el teorema de completitud. Éste queda como un resultado teórico que muchos no relacionan con que la respuesta a la pregunta anterior es obvia. (Otra cosa sería que la pregunta fuera cómo se puede deducir \( \lnot \beta \) en un cálculo deductivo concreto, cuya respuesta podría no ser trivial en absoluto).

Presentar primero la semántica me va a poner en condiciones (espero) de que al presentar un cálculo deductivo, no sea aceptado con un amén, sino que se comprenda desde el principio de que una definición de cálculo deductivo es algo de lo que debemos desconfiar. Cuando a uno le presentan primero la sintaxis, se acostumbra a confiar: amén, amén, amén, amén... y un día descubre que no ha hecho mal en decir amén a todo lo que le han dicho, sino que resulta que todo tenía su justificación. Yo pretendo enfatizar lo contrario: daremos unos axiomas y unas reglas de inferencia, pero, ¿por qué deberíamos aceptar esos axiomas y esas reglas? Y suponiendo que debamos aceptarlos, ¿por qué sólo esos y no más? Estas preguntas críticas no se las plantea quien está acostumbrado a que le suelten una convención arbitraria tras otra (aunque sea bajo promesa de justificarlas en un futuro), ese enfoque mata el sentido crítico del que estudia y lo lleva a aceptar que así tiene que ser (es decir, a decir amén). Lo que yo pretendo es, nada más dar los axiomas lógicos que vamos a usar, justificar que no son arbitrarios, que son aceptables porque son afirmaciones verdaderas en todo modelo, y que las reglas de inferencia no son arbitrarias, sino que son aceptables porque, cuando sabemos interpretar nuestro lenguaje, nos llevan siempre de premisas verdaderas a conclusiones verdaderas. Ocultar esto es deformar la teoría, siempre a mi juicio. Y, aun hecho esto, el lector deberá ser consciente de que sería ingenuo decir amén al cálculo deductivo, pues falta todavía ver si no sería posible añadir más axiomas y más reglas de inferencia para hacerlo más potente aún. Demostrar que no es un resultado profundo, que sólo puede apreciar plenamente quien comprende desde el principio que había una pregunta que responder.

Me sale un mensaje de que este mensaje es demasiado largo, así que corto y sigo en otro.

17 Marzo, 2013, 06:52 pm
Respuesta #11

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Eso es completamente cierto. Tendemos a darle semántica inconscientemente a la sintaxis y luego hay sorpresas cuando la semántica no se ajusta a nuestra intuición. Y, ahora es cuando me vas a matar, creo que eso es bueno. Por una sencilla razón: hace al estudiante desconfiar de su intuición. El caso paradigmático es la implicación material cuando "falso implica verdadero" es verdadero.

Discrepo completamente, aunque a la vez soy consciente de que discrepo por un problema de lenguaje. Me refiero a que usas la palabra "intuición" en un sentido que es el más extendido, pero que en estos contextos es capcioso. Decir que "la semántica no se ajusta a nuestra intuición" sólo tiene un significado posible, y es que quien no conoce a fondo una teoría puede equivocarse al manejarla. Esto es innegable. Pero decir que "es bueno desconfiar de la intuición" se presta a interpretarse en otro sentido que a mi juicio es totalmente falso. Quien desconfía de la intuición se equivoca, porque la intuición nunca puede engañarnos (ahora eres tú el que me va a matar).

En estos asuntos es necesario precisar al máximo los conceptos, y los matemáticos usan el concepto de "intuición" como un cajón de sastre en el que cabe todo lo bueno y todo lo malo. Nuestro conocimiento tiene tres bases: la intuición, el entendimiento y la razón, y no debemos confundirlos. La intuición es una capacidad de representación. Una intuición es representarse tres puntitos, al lado otros dos puntitos y observar que en total estoy imaginándome cinco puntitos. Esa intuición me legitima a afirmar que \( 2+3=5 \), y puedo estar absolutamente convencido de que esto es así porque la intuición nunca engaña.

Otra cosa es que cualquiera puede equivocarse. Si yo tomo un libro perfectamente escrito, pero entiendo mal lo que pone y llego a una conclusión falsa, de modo que no puede atribuirse el equívoco al autor, sino a mi torpeza lectora, no puedo concluir "el libro me ha engañado", "hay que desconfiar de este libro", sino, sencillamente, "yo me he equivocado". Igualmente, cuando alguien dice "me he equivocado por hacer caso de mi intuición" eso es imposible. Si, por ejemplo, te has equivocado al contar puntitos intuitivos, te has equivocado al contar, no es que hayas tenido una intuición (una representación mental de puntitos) en la que había dos puntitos por una parte, tres por otra, y en total había cuatro. Si has llegado a esa conclusión es porque te has equivocado al contar, exactamente igual que puedes equivocarte al leer o redactar una demostración formal o al usar una calculadora. En cualquiera de los casos, es absurdo concluir que hay que desconfiar de la intuición, de las demostraciones formales o de las calculadoras (dentro de lo que cabe esperar de ellas, claro. Me refiero a que si en una calculadora pulsas \( 2+3 \) puedes estar seguro de que no te dirá \( 4 \) y si te sale un \( 4 \) es que has pulsado alguna tecla que no debías. El error es tuyo, no de la calculadora.)

Como digo, la intuición es una facultad de representación espacial y temporal, y de ella obtenemos conocimiento matemático fiable en la medida en que hablemos realmente de lo que podemos intuir (no podemos decir que intuimos un espacio topológico raro porque nos representemos unos círculos en un papel que pretendan representar abiertos y cerrados en ese espacio, eso no es una intuición de un espacio raro, sino sólo de unos círculos que no tienen ninguna relación directa con el espacio raro) y en la medida en que tenemos una capacidad de reconocer qué podemos y qué no podemos intuir. (Por ejemplo, sabemos que no podemos intuir cuatro rectas perpendiculares dos a dos.)

Otra cosa muy distinta es la razón, que no es una capacidad de representación, sino una capacidad de describir conceptualmente realidades (o ficciones) y establecer relaciones lógicas entre ellas. El razonamiento lógico es una de las facetas de nuestra capacidad de razonar. No la única, pero la única que nos interesa aquí. Así, que "falso implica verdadero " es verdadero no es nada ni intuitivo ni antiintutivo. No hay ninguna representación intuitiva de lo verdadero, lo falso o las implicaciones. Es un hecho cierto porque así nos lo asegura nuestra capacidad de razonar, no nuestra intuición. Si a alguien le sorprende, no hará bien en desconfiar ni de la intuición (que aquí no tiene nada que ver) ni de la razón. Deberá desconfiar de su uso de la razón, pero no para dejar de fiarse de él, sino para corregirlo y poder seguir fiándose de él. Es como si me equivoco al hacer una suma y concluyo que debo desconfiar de las sumas.

Con estas precisiones hechas, y en el sentido que estoy dando a las palabras "intuición" y "razón", es un absoluto sinsentido decir que "la semántica puede no ajustarse a la intuición" (no digo que dijeras un sinsentido, puesto que tú empleabas las palabras en otro sentido). Cuando en mi artículo hablo del lenguaje de la aritmética y considero su modelo natural, dicho modelo es un modelo intuitivo. Su universo es el conjunto de los números naturales, un conjunto que conocemos exclusivamente a través de nuestra intuición, pues puede probarse que un sistema de primer orden no puede caracterizarlo y un sistema de segundo ordeno no nos da nada. Y es impensable que la semántica no se ajuste a la intuición, pues en último extremo la semántica es intuición. Los axiomas de Peano son verdaderos porque son intuitivamente verdaderos. Si alguien dice, esto es verdadero pero mi intuición me dice que es falso, se está equivocando, no es cierto que su intuición le diga que es falso, como si alguien interpreta mal un libro donde no dice lo que uno cree leer.

Otra parte de la semántica no tiene nada que ver con la intuición (es la parte en la que asignamos un valor de verdad, no a una relación o función definida intuitivamente, como la suma de números naturales) sino a una fórmula compleja en la que aparecen conectores lógicos. Ahí la intuición no tiene nada que ver, y es la razón la que determina si algo es verdadero o falso, a partir de deducciones lógicas (informales, es decir, rigurosas, pero no formalizadas, no digo "informal" en el sentido de "sin rigor" que a veces le dan los matemáticos) y no puede ocurrir que la semántica contradiga a la razón porque la semántica se construye para formalizar la razón.

Aclarado esto, no veo qué queda de sustancia en tu argumento de que es mejor presentar primero la sintaxis y luego la semántica para que el alumno se pueda formar concepciones erróneas y luego se sorprenda al darse cuenta. Si se forma concepciones erróneas es porque no se le ha explicado cómo se debe interpretar todo lo que maneja y eso le lleva a usar incorrectamente su intuición y su razón de forma improvisada en todo lo que se deja en el aire. No falla su intuición y no falla su razón. Falla su entendimiento, que es el que debería asociar lo que se le dice con las intuiciones pertinentes y con los razonamientos pertinentes. En el fondo es un fallo de lenguaje. El alumno oye palabras y no acaba de interpretarlas completamente o correctamente por falta de información precisa (toda la parte semántica que vendrá luego) o de ejemplos convenientes (porque la semántica es temporalmente tabú). No le veo la ventaja.

Ten piedad con el lector. Este lector luego, en otro contexto, se encuentra con un semigrupo y recordará algo de los grupos pero... ¿esto que leí también valía para los semigrupos o sólo era para los grupos? Hace poco empecé a leer un libro sobre análisis funcional y empezaron con los espacios métricos. El autor empezó con muchos teoremas sobre estos espacios que realmente sólo requerían que la topología fuera Hausdorff (ya sabes, cosas de límite de secuencias único y demás). Al final no sabía si cada teorema realmente necesitaba que el espacio fuera métrico o Hausdorff. Tuve que dejar el libro porque me estaba liando conocimientos que ya tenía. ¿Qué trabajo le habría costado definir un espacio de Hausdorff y decir que los espacios métricos son Hausdorff con su topología asociada?

Estoy totalmente de acuerdo con tu filosofía al respecto, pero no considero que sea aplicable al caso que nos ocupa. Yo he estudiado muchas matemáticas muy variadas, y jamás he tenido necesidad de usar el concepto de semigrupo. Sé ponerte ejemplos de contextos en los que aparece, por ejemplo al hablar de semigrupos de operadores al estudiar sistemas dinámicos, etc. Pero el uso que se hace ahí del concepto de semigrupo es trivial, y no cuesta nada tomar perfecta conciencia de qué vale para esos semigrupos sin colar de contrabando cosas que sólo valen para grupos. Por eso me parece una aberración que si hay que explicarle a uno teoría de grupos se le maree hablándole primero de semigrupos, por si algún día dentro de mil años, se topa con un semigrupo y así le evitamos que pierda diez minutos centrándose en ese contexto. Incluso te diré que me parece más sensato empezar hablando de anillos, y de cuerpos, y que sólo después se hace interesante el estudio de los grupos, cuando ya tiene uno bastantes ejemplos a mano que justifiquen el estudio de tal estructura. Además, para estudiar grupos hay que tratar con números primos, y para tratar con números primos tienes que hablar de anillos. Es verdad que podrías considerar primos en \( \mathbb Z \), pero me parece más inoperante explicar lo que son primos en \( \mathbb Z \) como caso particular, luego estudiar grupos, luego anillos, y luego la teoría de la divisibilidad en dominios íntegros arbitrarios, que empezar por anillos y divisibilidad en general, particularizar a \( \mathbb Z \) y luego estudiar grupos. Nadie echa de menos los grupos al estudiar los anillos, pero sí que es conveniente tener una teoría sólida sobre la divisibilidad para estudiar los grupos.

El otro caso que citas es completamente distinto. Estoy totalmente de acuerdo en que es absurdo explicar espacios métricos para luego pasar a espacios topológicos (a no ser que, por razones didácticas, se imparta un curso de espacios métricos y luego otro que parta de cero sobre espacios topológicos, pero si no se está dispuesto a pasar dos veces por lo mismo, los espacios topológicos deben ir primero). Y la razón es que sin duda te vas a encontrar con muchos espacios topológicos que no sean métricos o, como te decía antes, aun en el supuesto de que sólo te interesen los espacios métricos, sólo conociendo los espacios topológicos puedes comprender realmente el efecto de cambiar una métrica por otra equivalente. Quien no conoce los espacios topológicos no puede entender bien el concepto de métrica equivalente que necesitará aunque sólo le interesen los espacios métricos. Esto es cierto, pero niego la menor, niego que esto sea aplicable al caso que nos ocupa. No veo absolutamente ninguna ventaja en estudiar la lógica general para entender correctamente la lógica en el sentido particular de formalización del razonamiento.

Cada cosa debe estar en su estructura, aunque tampoco sin pasarse. ¿Cuándo es una estructura suficientemente importante para dejarla? Ahí, la verdad, está la opinión de cada uno. Si la definición es simple, creo que es mejor dejarlo. Si el lector está interesado en, no sé, semigrupos, ya explorará y descubrirá las relaciones de Green y esas cosas. En el caso que nos concierne, ¿es suficientemente importante hablar de los lenguajes formales aparte? La verdad, yo creo que sí.

Pues eso es lo que debes argumentar. A mí, no sólo no se me ocurre ningún argumento (no digo que haya más en un sentido que en otro, digo que no se me ocurre ni uno sólo a favor de esa postura) sino que, más aún, ni siquiera imagino cuáles pueden ser los argumentos que tengas tú, es decir, ni siquiera puedo decir, sé que otros tienen argumentos a favor, pero no me convencen. Es que no alcanzo a imaginar esos argumentos.

¿Es suficientemente importante hablar de la lógica sin igualdad? Ahí ya tengo mis dudas dados los objetivos que te has planteado con el artículo.

Pero, incluso al margen de los objetivos que me he planteado, ¿puedes ponerme un ejemplo concreto de alguna situación en tu vida en la que hayas tenido ocasión de aprovechar que en su día estudiaste lógica sin igualdad? No digo que no sea posible, pero me gustaría conocer un caso concreto para formarme una idea de qué puede llevar a algunos a considerar que es útil estudiar lógicas sin igualdad (aparte del mero interés técnico de ver qué vale con y qué vale sin igualdad).

Personalmente creo que aporta mucho el enfoque abstracto. Más en este caso en el que son unas pocas líneas de definición y llegamos a resultados bastante interesantes.

¿Por ejemplo? No sé a qué resultados bastante interesantes te referirás, pero para que te concediera que es mejor el enfoque abstracto tendrían que ser resultados que, conociéndolos, uno estuviera en condiciones de entender mejor el caso que interesa. Por ejemplo, quien no conozca espacios topológicos no puede acabar de digerir el concepto de métricas equivalentes. ¿Hay algo parecido en nuestro contexto?

Sobre los profesores que ponen problemas tontos, desconozco si es por torpeza propia o del alumnado. Si es en el primer caso, no tienen perdón. En el segundo, en fin. De cualquier modo, convendrás conmigo que la sintaxis de la lógica de primer orden puede resultar compleja a alguien que no esté muy curtido en matemáticas. Es habitual empezar con cosas simples y avanzar hacia las complejas.

No, si, por "tontos" quería decir "tontamente abstractos". Me refiero a cosas como "encontrar una definición recursiva de un lenguaje cuyas palabras son éstas". Yo me planteo: si los únicos lenguajes que al final van a interesar son unos concretos cuyas fórmulas vienen ya definidas directamente con unas definiciones recursivas, ¿qué aporta a un estudiante de lógica encontrar definiciones recursivas raras de lenguajes raros (donde raros no significa complicados, sino simplemente tontos)?

Otro ejemplo que no es lo mismo: una vez alguien pidió ayuda en el foro para demostrar que si tenemos un cálculo deductivo cuyas reglas de inferencia son modus ponens y generalización, es posible eliminar la regla de generalización y añadir cierta familia de infinitos axiomas de modo que los teoremas sean los mismos. Nunca se me había ocurrido pensar eso. Lo vi, las indicaciones que daban eran suficientes para probarlo, no hay problema, es una curiosidad, tiene su gracia, pero ¿qué aporta eso? ¿Qué aporta saber que lo que puede hacerse de forma natural con dos reglas de inferencia puede hacerse también de forma artificial con una de ellas? Si la vida humana fuera infinita, habría tiempo para todo, pero teniendo en cuenta que el tiempo de un estudiante es limitado, ¿no es mejor enseñarle cosas de provecho, que no hay pocas, en lugar de entretenerlo con curiosidades? Pues considero que la posibilidad de generalizar la lógica no es más que una mera curiosidad. Hay teorías generales que aportan una visión más profunda y rica de los casos particulares que engloban, de modo que quien estudia el caso general enriquece su visión del caso particular. Pero no veo el menor indicio de que éste sea el caso.

Nota al margen: creo que las categorías son de las cosas más bellas que hay en matemáticas. El grado de abstracción y la dificultad de su comprensión son (desde mi punto de vista) recompensadas por los frutos que da. Por otra parte, es cierto que son un tema arduo y yo mismo estoy deseando encontrar un libro menos abstracto sobre el tema.

Yo estudié teoría de categorías en cuarto curso de carrera. No le vi utilidad alguna y no me interesó lo más mínimo. Desde entonces estudié muchas matemáticas sin que la teoría de categorías me hiciera falta alguna, hasta que llegué a la topología algebraica y me encontré con que las definiciones y poco más de la teoría de categorías resultaban útiles, y naturalmente no les hice ascos, las puse en mi libro de topología algebraica porque eran adecuadas, pero eso sí, sólo un par de páginas con los conceptos básicos y poco más. Luego fui a estudiar geometría algebraica y ahí llegué a resultados que requerían resultados más profundos que sólo podían expresarse correctamente en términos de categorías, y no les hice ningún asco. Estudié lo necesario porque era conveniente. Y por eso te digo que la teoría de categorías es muy útil, muy interesante, muy ingeniosa y muy hermosa, pero para las situaciones en las que realmente prueba su utilidad. Pero sigo pensando en que en todos los contextos en los que yo no echaba de menos las categorías (por ejemplo, para estudiar teoría de grupos, o de módulos) las categorías no aportan nada, pues esa belleza y utilidad que te reconozco, sólo se fundamentan en su aplicación en contextos que no va a apreciar quien no se enfrente a ellos.

Esto es contrario a mi punto de vista, pero sigue el camino de "no hay paleta" y somos "burros con anteojeras" por un camino ya pensado.

Es que creo que la paleta es una falsa paleta. Es como si vas a elegir un traje y el dependiente te lleva directamente a la sección de caballero, y no te enseña trajes para señora. ¿Es ponerte anteojeras no enseñarte lo que es evidente que no te va a servir para nada?

Y tampoco es cierto que el camino ya esté pensado. Eso pasa cuando te dan la sintaxis sin semántica. Tienes que aceptar que las definiciones son las que son porque están pensadas para que luego todo salga bien. Con el enfoque que propongo no hay nada que aceptar. En cada momento se justifica por qué se hace cada cosa como se hace. Con el enfoque que propongo se ve el por qué de cada cosa.

Tiempo habrá de quitar las anteojeras y enseñar la paleta. Habla de frases del lenguaje natural. Trata la sintaxis como una abreviatura de las frases. Descubre cómo razonamos con el lenguaje natural e imita ese razonamiento con las reglas de inferencia sobre las abreviaturas.

Es que yo creo que esa receta que estás esbozando es la lógica. A lo sumo rectifico: la sintaxis no es una abreviatura de las frases, es una formalización de las frases, e igualmente el razonamiento formal no es una imitación del razonamiento, sino una formalización del mismo. Cuando imitas, puedes preguntarte por qué imitas esto y no aquello. Aquí no hay más que un modelo a imitar, por lo que lo que haces no es imitar, sino plasmar, capturar, formalizar.

La paleta que quieres enseñar no es una auténtica paleta (para eso los demás colores de la paleta deberían estar en pie de igualdad con el "elegido") sino que es el conjunto de todo lo que no sirve. Es como la sesión de tomas falsas de una película. ¿Qué esperas ver en el cine, las tomas falsas mezcladas con las buenas, o sólo las buenas?, sin perjuicio de que luego tengas curiosidad por conocer las tomas falsas.

Sí. Yo hablo de conjuntos. Otra cosa es que, por ignorancia, no haya puesto condiciones más relajadas. Supongo que en la sintaxis podría hablar de "una colección no vacía bien definida de símbolos cualesquiera" signifique lo que quiera que eso signifique, ya que estamos hablando en un lenguaje natural y no en un lenguaje formal.

En la semántica, si queremos que sea denotacional, debemos relacionar cada fórmula con un objeto matemático (que casi siempre será un conjunto). Si queremos semántica operacional, sólo necesitamos transformar las fórmulas sintácticamente. Otra cosa es que esas transformaciones sean correctas y completas.

Sobre esto habría mucho que matizar. No sé si te entiendo bien. Pareces hablar de los objetos matemáticos como si fueran algo que está ahí, dado, de modo que puedes decir con toda naturalidad "interpetamos este lenguaje tomando como universo el conjunto de los números reales". No creo que algo así tenga sentido si no es en el contexto de una teoría formal previa que nos permita hablar de números reales. O te malinterpreto, o hablas de esto con demasiada ligereza.

Ya hemos hablado de esto. La dualidad de explicar antes sintaxis o semántica.

Insisto en que lo que pretendo no es ni lo uno ni lo otro, sino explicarlas simultáneamente. No es lo mismo.

...Me confunde que llames semántica operacional a unas reglas de inferencia...

No creo que sea estándar llamar "operacional" a las reglas de inferencia,

No, si lo que me confundía no es que dijeras "operacional", sino que dijeras "semántica". Una regla como el modus ponens (de \( \alpha\rightarrow \beta \) y \( \alpha \) se deduce \( \beta \)) no tiene nada de semántico. La versión semántica sería "si \( \alpha\rightarrow \beta \) y \( \alpha \) son verdaderas en un modelo, entonces \( \beta \) también lo es".

pero desde un punto de vista computacional son precisamente eso: transformaciones sintácticas. Ojo que las reglas de inferencia podrían ser la única semántica necesaria para la lógica de primer orden. Sin embargo, es más común dotarla de una semántica denotacional (dándole un valor a cada fórmula) y luego comprobar que ambas aproximaciones son equivalentes mediante demostraciones formales de corrección y completitud.

Pues por eso, son transformaciones sintácticas, no semánticas. Pero luego vuelves a calificarlas de semántica. No logro ver coherencia en lo que dices.

Mi planteamiento no sirve para fundamentar la teoría de conjuntos a menos que (y esta es mi opinión nada experta)

1) Trates los lenguajes formales como formas de escribir símbolos sobre papel o pantalla. Creo que es posible hacerlo sin mencionar ningún concepto matemático y sólo usando los símbolos de manera informal, pero estricta.
2) Uses las reglas de inferencia como semántica. Olvídate de que \( \overline N \) sea Napoleón. \( \overline N \) son símbolos en papel. No hay interpretación de los símbolos. La semántica es cómo trabajes con esos símbolos.

En este caso sólo estaríamos hablando de cómo escribir las cosas de manera formal. No hay conceptos matemáticos. Sólo una normativa muy concreta de cómo escribir sobre el papel. El que esta normativa se corresponda a un tipo de pensamiento lógico es algo que veo difícil de demostrar, pero fácil de justificar.

¿Ves? En esto que dices veo los efectos de alguien que se ha acostumbrado a admitir la sintaxis acríticamente como algo arbitrario, como una elección arbitraria en una paleta y que, en consecuencia, ha asimilado ese conformismo y se conforma con cualquier cosa.

Efectivamente, yo puedo decir: tomamos estos signos, definimos las fórmulas con estas reglas, elegimos estos axiomas y estas reglas de inferencia, definimos así una demostración y ya temos ZFC. Pero si eso te basta, entonces no has aprendido nada de lo que la lógica "de verdad" te puede enseñar. No has aprendido que lo que te contentas con presentar como una serie de reglas arbitrarias que te bastan para poder hacer matemáticas con precisión no son unas reglas arbitrarias, sino que tienen una justificación que las distinguen de cualesquiera otras de la paleta (dejando de lado versiones distintas, pero equivalentes). No has aprendido que si tomamos los axiomas lógicos y las reglas de inferencia que tomamos es porque podemos demostrar que esos axiomas son verdaderos en cualquier modelo concebible, y que esas reglas de inferencia nos llevan siempre de afirmaciones verdaderas a afirmaciones verdaderas y, más aún, podemos demostrar que sería inútil añadir más reglas o más axiomas, pues sucede que cualquier afirmación que deba ser verdadera por el hecho de ser verdaderos nuestros axiomas es demostrable según nuestra definición a partir de nuestros axiomas y nuestras reglas de inferencia.

Y para poder demostrar todo esto, para poder recibir esta enseñanza que la lógica pone a nuestra disposición, lo primero que tienes que aprender es que tu planteamiento es totalmente erróneo, que no puedes permitirte el lujo de tratar sólo con signos, prescindir de la semántica y sólo estudiar la semántica luego, cuando tengas la teoría de conjuntos a tu disposición, porque sucede que todo esto que te digo puede demostrarse, pero puede demostrarse estudiando la semántica del lenguaje formal que necesitas para definir la teoría de conjuntos, y asegurándote de que puedes hacerlo sin apoyarte en ninguna teoría de conjuntos, lo cual, aunque posible, no es trivial en absoluto, pues requiere meditar bastante sobre hasta dónde puede llegar nuestro conocimiento descansando únicamente en la razon (no formalizada) y en la intuición (como fuente de premisas para la razón), sin apoyarse en ninguna teoría axiomática.

En este caso no estoy tan enfocado en la definición concreta de lenguaje definido inductivamente (que si mediante una construcción o usando un teorema de recursión) como en repetir una construcción similar en dos definiciones (la de término y fórmula). Creo, aunque esto ya es opinión personal, que sería más provechoso sacar de estas dos definiciones la idea de lenguaje definido inductivamente y usarla luego en cada una de esas definiciones.

Al final terminas con tres definiciones en vez de dos, pero haces ver al lector que estás usando el mismo mecanismo en ambas. Es más, puedes razonar sobre este mecanismo (por ejemplo, para realizar demostraciones por inducción estructural).

Ciertamente, es ya una opinión personal, en la cual disiento. Es evidente que las dos definiciones corresponden al mismo esquema. No necesitas dar una definición general para ponerlo de manifiesto. Yo estoy haciendo inducciones estructurales y voy a hacer muchas más. Cuando introduzca los descriptores mostraré que es posible hacer inducciones que afecten simultáneamente a términos y fórmulas. La cuestión es ¿las entenderá mejor alguien que primero las estudie en un contexto abstracto cuando sólo va a concretar ese contexto abstracto en dos contextos concretos? Yo creo que no. No las entenderá ni mejor ni peor. La única diferencia es haberse pasado un rato estudiando un contexto abstracto a ciegas, o habérselo ahorrado.

Separar la sintaxis de la semántica no implica que tengas que ocultarle la intencionalidad que hay detrás.

Cuanto menos implica hacerlo de forma vaga e imprecisa, porque la forma rigurosa y precisa de hacerlo es explicando la semántica que hay detrás y, aunque en teoría eso pudiera ser cierto, en la práctica dudo que lo sea. Porque el efecto es acostumbrarse a decir amén a cualquier definición que se presente y a contentarse con ello. Como te decía antes, creo que tú misma eres víctima de ese conformismo.

Yo lo veo más como un asunto de organización.

No veo por qué simultanear la semántica con la sintaxis deba ser considerado "desorganizado". Otra cosa es que el artículo que estoy escribiendo lo escribo a vuelapluma, sin un plan preestablecido. Es posible que las cosas queden algo más confusas de lo que me quedarían si pudiera meditar más la organización y la estructura del texto, pero no creo que esmerar la organización sea incompatible con presentar simultáneamente semántica y sintaxis.

Dejando a un lado la necesidad de la teoría de conjuntos para las definiciones que he propuesto, algunas de las ventajas que me vienen a la mente son:

1) Definición. Basta con darle un nombre a las cosas para que podamos usarlas y estudiarla con mayor comodidad. Si estás usando un lenguaje formal, define lenguajes formales. Si estás usando una sintaxis, define la sintaxis. Dale nombre.

No entiendo a qué te refieres. Yo he definido los lenguajes formales (de primer orden que voy a usar). En cuanto a definir "sintaxis", confundes definir con definir un concepto más abstracto. Si estoy trabajando con \( \mathbb R^n \), estoy trabajando con un espacio vectorial, pero no necesito definir espacio vectorial mientras los únicos ejemplos que voy a manejar sean los espacios \( \mathbb R^n \), con sus operaciones de espacio vectorial. Incluso podría definir el concepto de subespacio vectorial de \( \mathbb R^n \) sin dar la definición axiomática de espacio vectorial. Y no creo que fuera útil definir el concepto abstracto de espacio vectorial si al final los únicos ejemplos que voy a manejar son los espacios \( \mathbb R^n \). La razón que justifica el concepto de espacio vectorial es que en muchos contextos es útil trabajar con distintos espacios vectoriales que no son sólo \( \mathbb R^n \) ni sólo cualquier otra familia concreta. Si yo sólo voy a trabajar con una sintaxis, no necesito definir "sintáxis", sólo necesito definir la sintaxis que voy a manejar. Lo contrario, inducir una generalidad innecesaria no tiene ninguna ventaja que yo conozca.

2) Reutilización. Los lenguajes formales que puedes definir no son únicamente los de la lógica de primer órden.

Ya, pero yo en toda mi vida no he usado nunca ningún lenguaje formal que no sea de la lógica de primer orden. Bueno, miento, sí que he tenido ocasión de usar variantes que no se corresponden con esa definición: algún lenguaje de segundo orden, lenguajes con fórmulas infinitamente largas, lenguajes con cuantificadores, conjuntores o disyuntores que agrupan infinitas fórmulas, etc. Pero, dicho sea de paso, estos lenguajes no caben siquiera en el esquema general que tú propones, en el que los signos deben formar conjuntos finitos o numerables. No creo que un conjuntor infinito (que requiere incorporar ordinales a la sintaxis) quepa dentro de tu esquema general. ¿Significa eso que antes de explicar lógica a alguien que quiere aprender lógica debo enseñarle antes teoría de ordinales para poder enseñarle una paleta más amplia que la que tú imaginas en la que los ordinales puedan aparecer en la definición de fórmulas infinitas? Creo que hasta a ti te parecerá una aberración.

Por otra parte, cuando he tenido que tratar con esos lenguajes formales, en contextos muy concretos, no he tenido ninguna dificultad en adaptar lo que sabía del caso particular al caso general. En cambio, creo que marear a un principiante con lenguajes con conjunciones infinitas, determinadas por ordinales para luego particularizar al caso finito es mucho menos sensato que explicarle el caso finito y cuando vaya a necesitar casos más generales dejar que estudie lo que realmente necesitará, y no pretender prepararlo para todo en la vida desde el primer día.

En cualquier caso, rectificando mi afirmación falsa de antes: de todos los lenguajes formales que he tenido que tratar y que no caben en el esquema que presento en mi artículo, casi ninguno cabe en tu esquema general. Eso es lo malo de generalizar, que es como tratar de decir el número más grande. Nunca sabes si te encontrarás otro número mayor.

Igualmente, una misma sintaxis puede tener varias semánticas. Por ejemplo, puedes usar una lógica intuicionista en vez de la lógica clásica con la misma sintaxis.

Cierto, pero yo no estoy diciendo nada que excluya ir más allá de donde yo voy. Yo estoy presentando una sintaxis y la acompaño de una semántica que la justifique. ¿En qué impide eso a alguien que me lea aprender después que, aparte de la semántica que yo le he enseñado y que le ha servido para entender por qué la sintaxis es la que es, puede considerar otras semánticas posibles?

3) Guía. Una vez que le damos la pista al lector del nombre de una de las estructuras que usamos, el lector podrá investigar. Podrá buscar qué es una semántica operacional, o un lenguaje definido inductivamente, etc.

Tus ventajas me parecen cada vez menos serias. Ésta ya deja mucho que desear. Cualquiera puede poner "lógica" en google e investigar. No creo que sea decisivo que en mi artículo haya dado más o menos "pistas". El objeto de mi artículo es discutir algunas cuestiones conceptuales que a mi juicio no se tratan con la debida atención a los libros. No pretende ser una referencia a partir de la cual uno busque ampliaciones sobre el tema. Podría dar la vuelta a tu argumento y decirte que un libro escrito como tú planteas puede ser mucho menos asequible para un gran número de lectores que podrían seguirlo más fácilmente en un libro estructurado yo lo planteo (hablo de los criterios estructurales, sin entrar en mi habilidad—que considero más bien escasa— para hacerme entender por principiantes, aun suponiéndolos inteligentes). Si esto fuera así, podría haber más lectores que, tras haber digerido bien unas cuantas ideas fundamentales estuvieran capacitados y motivados para profundizar en el tema (para lo cual google es mejor que todas las guías que yo pueda dar) que alguien que lea un libro estructurado como tú propones y que acabe con la idea de que "esto de la lógica debe de ser importante, pero yo no acabo de cogerle la idea".

4) Referencia. Igualmente, al organizar el discurso y separarlo en partes, al hablar de un tema sólo hacemos referencia a la parte que corresponde. Que alguien no entienda qué es un término puede significar realmente que no entiende lo que es un lenguaje definido inductivamente.

Eso es capcioso. Alguien que no entienda lo que es un término no entiende la definición de término, y le costará menos entender la definición de término que necesita concretamente en este contexto que entender el concepto general de lenguaje definido inductivamente. Es como si me dices que alguien puede no entender lo que es la suma y el producto en \( \mathbb R^n \) porque no entiende lo que es un espacio vectorial. Será más bien al revés. Quien entienda lo que es \( \mathbb R^n \) estará en mejores condiciones de entender lo que es un espacio vectorial abstracto que quien no haya visto ningún ejemplo.

5) Concreción. Hemos tardado un poco más en definir lo que es un lenguaje formal, pero luego definimos la sintaxis con mucha más brevedad. A menor brevedad, menos margen para ambigüedades, lapsus, errores de comprensión o de cualquier otro tipo.

Obviamente, cuanto menos breve seas, mejor te explicarás, pero si eres menos breve trabajando con el único caso concreto que necesitas, serás más claro y dejarás menos margen para todo lo que dices que si empleas la misma extensión presentando primero un contexto abstracto que excede con mucho las necesidades de lo que vas a decir. Quiero decir que si tú empleas 10 páginas para lo que yo uso 4, lo más provechoso no son tus 10 páginas, sino que yo usara 10 páginas para decir lo mismo que he dicho en 4 con más detalles y ejemplos, pero sin pasar inútilmente a tu grado de generalidad.

Todo lo que estamos hablando es un tema muy interesante. Me gustaría poder dedicarle algo de tiempo a definir lenguajes formales sin hacer referencia a otra cosa que símbolos escritos sobre el papel y frases como "escribir delante" o "escribir detrás". Luego, las reglas de inferencia de la misma manera. Vamos. Tener un sistema formal descrito sin usar objetos matemáticos.

Bueno, no es especialmente complicado, al menos si sólo quieres definir lenguaje, axiomas y teoremas. El problema es el que te he explicado antes, que si te conformas con eso, es que sufres la "deformación profesional de la lógica abstracta". Porque nadie debería contentarse sólo con eso. Si haces eso no serás un burro con anteojeras, pero sí un burro que, viendo todo el panorama, se conforma con seguir el camino que siguen todos, sin preguntarse por qué, de todos los caminos que ve, todos van por ése y no por cualquier otro.

17 Marzo, 2013, 08:45 pm
Respuesta #12

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,292
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
Pongamos por ejemplo el caso de la relación de igualdad.

Si tengo dos términos \( t, u \), y escribo \( (t = u)[v] \), para una valuación v, lo que hago es preguntar si en el modelo \( M \) es cierto que \( v(t) = v(u) \).
Entiendo que eso definiste como "satisfacer", y entonces se escribe \( M \vDash (t = u)[v] \).
Pero al mismo tiempo, a la "expresión" \( (t = u)[v] \) hay que asignarle un valor V ó F.
Entiendo que "satisface" es lo mismo que V, y que "no satisface" es F,
pero al hablar de tablas de verdad, en que se usan "valores" V o F, ¿se considera que V y F son sólo abreviaturas, o realmente se está pensando en ellos como unos ciertos "valores de verdad" en un álgebra de Boole?

De pronto veo 3 ingredientes: un lenguaje (sintaxis), un modelo (semántica), y valores de verdad (álgebra de Boole).

Para armar la tabla de verdad, necesito que la expresión \( \alpha[v]\equiv{} (t=u)[v] \) sea considerada como una función de \( M\times M \) en \( \{V,F\} \).

___________________

En cuanto al "para todo" del lado de \( M \), aunque el sentido se lo tenga que dar yo, hay algunas condiciones que tiene que cumplir.
Es un "operador" que generaliza la conjunción.

Si escribo \( \forall x:\alpha(x) \) (aquí \( \alpha(x) \) significa sólo que la fórmula \( \alpha \) contiene la variable \( x \)),
entonces decir que esa fórmula es verdadera se expresa como \( M\vDash \alpha[v_x^a] \) para cualquier valuación \( v \), etc...

Pero quiero llegar al momento en que eso "implica" que:

\( M\vDash \alpha[v_x^{a_1}] \) y \( M\vDash \alpha[v_x^{a_2}] \) y ... y \( M\vDash \alpha[v_x^{a_n}] \), para cualquier lista finita de objetos \( a_1,...,a_n \) del universo \( U \).

El "para todo" semántico generaliza a la "conjunción" semántica, la que aparece luego en las tablas de verdad.

Me resulta cómodo hacer una analogía con funciones, así:
Una valuación de una fórmula sería una "función" de \( M^n \) (algún \( n \)) en el conjunto \( B = \{F, V\} \).
El "para todo" semántico sería análogo a un operador que actúa sobre estas "funciones", y que a cada tal "función" le "asigna" de nuevo un valor de \( B \).

De esa manera, el "para todo" en \( M \) tendría esta pinta:

\( (\forall x:\alpha(x)[v])=\min\{\alpha(x)[v_x^a]:a\in U\}. \)

(aquí estoy pensando que \( F < V \), o sea, tomo al valor F como un 0 y al V como un 1).

Esta formulación "conjuntística", que considero totalmente aberrante, es la manera en que puedo captar ""intuitivamente"" (pongo todas las comillas que hagan falta) lo que significa el "para todo".

Al restringirse a subcolecciones finitas de \( U \), tenemos la igualdad:

\( \min\{\alpha(x)[v_x^a]:a=a_1,...,a=a_n\}=\alpha(x)[v_x^{a_1}]\wedge...\wedge\alpha(x)[v_x^{a_n}]. \)

¿Pero puedo ir al revés, pasando de lo "finito" a lo "no necesariamente finito"?
Lo puedo hacer bajo ZF, con funciones que toman dos valores 0 y 1, y en donde tiene sentido definir el operador \( \min \) (mínimo de un conjunto dado de valores).

Pero en este contexto no sé lo que significaría el "para todo".
Dado un modelo, ¿puede haber más de un operador "para todo" posible?
Dado que tiene que al particularizar a subcolecciones finitas tiene que funcionar como conjunción,
me parece que no, que sólo puede haber a lo sumo un operador de ese tipo, de modo análogo a que sólo puede haber un operador \( min \).

Pero como todo está "en el aire", no logro verlo con claridad.

En cuanto a que "exista" al menos un operador que en \( M \) funcione como el "para todo", decís que soy yo el que tiene que proveerlo en cada caso.

_______________________

No sé si logré precisar bien mis comentarios. Creo que no.

Por una parte, el "para todo" tengo que traerlo yo a la fiesta, junto con mi Universo.
Pero para que sea válido, tiene que particularizarse correctamente al tomar conjunciones finitas.
Y me pregunto si hay más de un "para todo" posible en un modelo dado, y me parece que no.
O sea, sabiendo cómo actúa para el caso de un número finito de conjunciones, tendría que haber una única manera de generalizar al caso "no necesariamente finito".

__________________


En cuanto a la discusión con gdl, voy a comentar algunas cosas solamente.

A mí me ha pasado lo contrario que a gdl, que la sintaxis es algo a lo que nunca prestaba atención.
Para mí, razonar equivalía a calcular tablas de verdad, y tal como hice con el "para todo",
me imaginaba una analogía con un operador booleano "transfinito", que equivalía a "calcular el mínimo de un conjunto de valores", donde los valores posibles son sólo dos: 0 y 1.

Aunque lo pensaba o imaginaba de esa manera, los razonamientos que siempre hice eran meras "deducciones formales", o sea, pura sintaxis.

Me costó despegar ambas cosas en la mente. Me resulta antinatural pensar que lo demostrable y lo verdadero pueden llegar a ser cosas separadas o distintas.
Ahora, al pasar los años, ya me acostumbré y comprendí que aquellas cosas que yo hacía mecánicamente tenían un nombre y unas reglas, y que unas iban por un lado y otras por otro.

Coincido con la política de Carlos de que, pedagógicamente, no tiene sentido enseñar algo que no se va a usar.

Por otra parte, he criticado muchas veces que no se entiende qué diablos hacen los lógicos en sus libros.

Es obvio que están usando la "lógica de 1er orden" para hacer razonamientos acerca de la "lógica de 1er orden".
A partir de ahí veo un error de concepto, porque se usan reglas de inferencia que aún no están construidas ni definidas.
No he visto que nadie se tome el trabajo de aclarar este punto.

Carlos por lo menos avisa de que esa lógica "ya está" en alguna parte, y que luego se hace una formalización.
Si yo me creo o no esa lógica que "ya está de antes", es cosa mía.

Pero es importante aclararlo, porque si no, da la sensación de que no hay ninguna lógica más válida que otra,
mientras en los mismos razonamientos y construcciones de "las" lógicas se usa siempre la lógica clásica.
¿Hay muchas lógicas o hay una sola? ¿Y cuál usamos y por qué?
Si de entrada se dice que se va a usar la lógica clásica, ya sea porque uno "cree en ella", o porque "no hay más remedio", o por lo que sea, entonces se puede apreciar el correcto lugar que las "otras lógicas" ocupan.

Si defino una lógica exótica L*, y la uso para extraer conclusiones sobre la lógica clásica, ¿qué conclusiones voy a extraer? ¿Qué estoy diciendo?
Dudas como esta surgen si se deja correr la sensación de que hay muchas lógicas posibles, y todas ellas en "pie de igualdad".

Y ya que estamos en esto, te agradecería a Carlos que me aclares, si es que podés (ya que dijiste que esas lógicas alternativas no son lo tuyo), cómo es el formato adecuado para estudiar "las otras lógicas" que los lógicos estudian.
¿Es dentro de una teoría de conjuntos? ¿Es bajo la lógica de 1er orden + una lista de axiomas? ¿Aparecen Álgebras de Boole, dónde? ¿Qué pasa con los valores de verdad de una lógica n-valuada?

Tengo un problema de ubicación geográfica con todos estas teorías.


17 Marzo, 2013, 10:51 pm
Respuesta #13

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Pongamos por ejemplo el caso de la relación de igualdad.

Si tengo dos términos \( t, u \), y escribo \( (t = u)[v] \), para una valuación v, lo que hago es preguntar si en el modelo \( M \) es cierto que \( v(t) = v(u) \).
Entiendo que eso definiste como "satisfacer", y entonces se escribe \( M \vDash (t = u)[v] \).
Pero al mismo tiempo, a la "expresión" \( (t = u)[v] \) hay que asignarle un valor V ó F.

Yo no arrastraría la v. Más bien diría que a la fórmula \( t=u \) hay que asignarle un valor de verdad que en general depende de \( M \) y de \( v \). Digo en general porque a veces puede no ser así, como es el caso de \( u=u \), que será verdadera sea cual sea \( M \) o \( v \).

Entiendo que "satisface" es lo mismo que V, y que "no satisface" es F, pero al hablar de tablas de verdad, en que se usan "valores" V o F, ¿se considera que V y F son sólo abreviaturas, o realmente se está pensando en ellos como unos ciertos "valores de verdad" en un álgebra de Boole?

No sé si entiendo la diferencia. Cuando digo que la tabla de verdad del implicador es la que es (no hace falta que la copie aquí, porque tú ya sabes cuál es y el \( \LaTeX \) es el \( \LaTeX \)) quiero decir que si tengo una fórmula de tipo \( \alpha\rightarrow \beta \), entonces será satisfecha o no satisfecha en un modelo y con una valoración según lo que resulte de aplicar la tabla a los valores de verdad de las dos fórmulas \( \alpha \) y \( \beta \). Creo que está bien claro lo que esto significa. V y F, como toda la tabla de verdad, no es sino una forma esquemática de especificar el criterio con el cual determinamos si la implicación es o no es satisfecha. Si lo prefieres, podría evitar por completo la tabla de verdad y decir directamente que

\( M\vDash(\alpha\rightarrow\beta)[v] \) si y sólo si no \( M\vDash\alpha[v] \) o \( M\vDash \beta[v] \). Así he dicho lo mismo pero sin tablas de verdad. La ventaja de las tablas es que nos permiten comparar mejor unos conectores con otros. Pero lo que importa es el contenido, da igual la forma en que lo expreses.

De pronto veo 3 ingredientes: un lenguaje (sintaxis), un modelo (semántica), y valores de verdad (álgebra de Boole).

Puedes hablar de álgebras de Boole, pero la única álgebra de Boole considerada sería la trivial, con dos valores. Te digo lo mismo que a gdl: no necesitas el concepto general de álgebra de Boole para manejar perfectamente los conceptos de "verdadero" y "falso". Los valores de verdad forman parte de la semántica. No aparecen en la definición de modelo por lo que te decía antes: porque la definición de modelo recoge las interpretaciones de los signos que no pretenden tener una interpretación fija, y eso no incluye a los conectores ni a los cuantificadores. Cuando un modelo asigna una relación a cada relator, lo que le está asignando es un criterio (variable, según el modelo) para asignar un valor de verdad a cada n objetos del modelo, según que cumplan o no la relación correspondiente. Luego, para asignar un valor de verdad a una fórmula formada por conectores a partir de los valores de verdad de las fórmulas atómicas que la componen no miramos al modelo porque el criterio es siempre el mismo y "ya nos lo sabemos", no necesitamos ver si el modelo establece esto o lo otro.

Para armar la tabla de verdad, necesito que la expresión \( \alpha[v]\equiv{} (t=u)[v] \) sea considerada como una función de \( M\times M \) en \( \{V,F\} \).

Lo de que lo "necesitas" es muy relativo. Como te decía, puedes expresar toda la información que contiene una tabla de verdad sin la tabla de verdad. La tabla de verdad sólo es una forma cómoda de expresar esa información, pero una "comodidad" no es algo que te pueda exigir condiciones para usarla. Por ejemplo, si hubiéramos decidido incluir el conjuntor como signo primitivo, en la definición de satisfacción podría haber dicho:

\( M\vDash(\alpha\land \beta)[v] \) si y sólo si \( M\vDash \alpha[v] \) y \( M\vDash \beta[v] \),

y con ello estaría diciendo lo mismo que si dijera: "el valor de verdad de \( M\vDash(\alpha\land \beta)[v] \) se calcula a partir de los valores de verdad de \( M\vDash \alpha[v] \) y \( M\vDash \beta[v] \) mediante esta tabla (la que tú ya sabes y no pongo aquí).

Así tienes lo mismo dicho con y sin tabla de verdad. Si lo dices sin tabla, creo que queda claro que todas tus "exigencias" desaparecen, y no tiene sentido que aparezcan sólo por que decidas expresar la condición en términos de una tabla, ¿no crees?

En cuanto al "para todo" del lado de \( M \), aunque el sentido se lo tenga que dar yo, hay algunas condiciones que tiene que cumplir.
Es un "operador" que generaliza la conjunción.

Si escribo \( \forall x:\alpha(x) \) (aquí \( \alpha(x) \) significa sólo que la fórmula \( \alpha \) contiene la variable \( x \)),
entonces decir que esa fórmula es verdadera se expresa como \( M\vDash \alpha[v_x^a] \) para cualquier valuación \( v \), etc...

Exacto.

Pero quiero llegar al momento en que eso "implica" que:

\( M\vDash \alpha[v_x^{a_1}] \) y \( M\vDash \alpha[v_x^{a_2}] \) y ... y \( M\vDash \alpha[v_x^{a_n}] \), para cualquier lista finita de objetos \( a_1,...,a_n \) del universo \( U \).

Puedes decirlo así, pero el agrupar los elementos de \( U \) en listas finitas no aporta nada realmente. Con todo lo que dices luego (que no copio) estás dando vueltas a la misma idea, aunque cada vez lo expresas de una forma menos operativa (sobre todo cuando llegas al operador mínimo), cuando lo que sucede es que no puedes llegar a nada en concreto porque la idea de que la propiedad \( M\vDash \alpha[v_x^a] \) tiene que cumplirse "para todo \( a \)" no es susceptible de mayor reducción en este contexto general. Sólo puedes concretarla cuando concretas qué es \( U \).

Por ejemplo, si \( U \) es el conjunto de todas las piezas de un juego de ajedrez, la afirmación

\( \forall x(Bx\lor Nx) \),

donde los relatores \( B \) y \( N \) se interpretan como las relaciones "ser pieza blanca" y "ser pieza negra" es verdadera porque \( M\vDash (Bx\lor Nx)[v_x^a] \), que es equivalente a "\( a \) es una pieza blanca o \( a \) es una pieza negra" se cumple para todo \( a \) del universo fijado, es decir, si recorres las 32 piezas una por una, puedes constatar que todas son blancas o negras. Y no hay más misterio.

Si por el contrario consideras el lenguaje de la aritmética y su modelo natural, entonces la afirmación

\( \forall xy(x+y=y+x) \)

es verdadera en dicho modelo porque esto equivale a que \( M\vdash (x+y=y+x)[v_{xy}^{ab}] \) (que equivale a que la suma de \( a \) y \( b \) da lo mismo que la suma de \( b \) y \( a \)) se cumple para todo par de números naturales \( a \) y \( b \), y esto equivale a que la conmutatividad de la suma vale para \( a\equiv 0 \) y \( b\equiv 0 \), y para \( a\equiv 1 \) y \( b\quiv 0 \), y para \( a\equiv 0 \) y \( b\equiv 1 \), y para \( a\equiv 1 \) y \( b\equiv 1 \), y así sucesivamente, donde "sucesivamente" supone un criterio que puedo explicitar para enumerar todos los pares de números naturales. (Por ejemplo enumerar todos los formados con ceros, luego todos los formados por ceros y unos, luego todos los formados por ceros, unos y doses, etc.) Y ya está. Éste es el único significado posible de que la conmutatividad se cumpla para todos los números naturales \( a \) y \( b \).

No sé si hace falta aclarar que sólo estoy explicitando qué significa que la afirmación sea verdadera, lo cual no tiene nada que ver con el problema de cómo determinar si realmente es verdadera.

Pero como todo está "en el aire", no logro verlo con claridad.

No tienes que ver con claridad qué es "para todo" en general. Tienes que definir modelos asegurándote de que sabes lo que significa "para todo objeto" de los que consideres. Como sabemos qué quiere decir "para todo número natural", no hay ningún problema en tomar los números naturales como universo de un modelo. Como no sabemos lo que quiere decir "para todo número real", no es admisible tomar los números reales como universo de un modelo (salvo que estemos trabajando en el seno de una teoría de conjuntos).

En cuanto a que "exista" al menos un operador que en \( M \) funcione como el "para todo", decís que soy yo el que tiene que proveerlo en cada caso.

Nunca se me hubiera ocurrido concebirlo como un operador. Creo que pensarlo así enreda las cosas, pero lo que te digo es lo que acabo de decir: ¿sabes lo que significa para todo número natural sí o no? Si la respuesta es que sí, ya no tienes problemas para definir modelos de universo el conjunto de los números naturales, si es que no arguméntame con ese caso en concreto a ver dónde ves el problema, no en general. Si ves que defino un modelo y no tienes claro qué habrá que entender por "para todo" en ese modelo, quéjate entonces, pero no te quejes "en general", porque en general no hay nada que decir.

En resumen: tenemos ejemplos concretos de conjuntos finitos e infinitos donde sabemos lo que quiere decir "para todo". Toda la teoría de modelos se aplica únicamente a esos casos. Si consideras que algún caso es dudoso, habrá que discutir si tiene sentido considerar modelos con universo ese caso dudoso, pero eso no supone ninguna objeción a la teoría de modelos, que sólo es aplicable cuando las interpretaciones están bien definidas, lo cual significa que "para todo" esté bien definido y que las relaciones y funciones consideradas estén bien definidas.

Por una parte, el "para todo" tengo que traerlo yo a la fiesta, junto con mi Universo.
Pero para que sea válido, tiene que particularizarse correctamente al tomar conjunciones finitas.

Pero eso pasará siempre. Míralo así si quieres: que una afirmación que empiece por "para todo \( a \)" sea falsa significa exactamente que puedes encontrar un ejemplo de \( a \) para el que no sea cierto lo que viene luego del para todo. Si la colección de objetos está bien definida y no hay duda sobre cómo se puede buscar ese posible \( a \), entonces el para todo está bien definido.

Si quiero buscar un presunto contraejemplo entre los números naturales, sólo tengo que empezar por el cero y seguir por el uno, y luego mirar el dos, y sé que si el contraejemplo existe, tarde o temprano me aparecerá, y si no existe nunca me aparecerá, luego tiene sentido decir que el contraejemplo existe o no existe, aunque pudiera no vivir lo suficiente para encontrarlo o aunque nunca llegara a saber que no existe. La afirmación significa algo en concreto. En cambio, si me pregunto si existe un número real que cumple algo, no sé cómo buscarlo con garantías de que el método (aunque sea infinitamente largo) me lleve a encontrarlo o a confirmar que no existe.

Y me pregunto si hay más de un "para todo" posible en un modelo dado, y me parece que no.
O sea, sabiendo cómo actúa para el caso de un número finito de conjunciones, tendría que haber una única manera de generalizar al caso "no necesariamente finito".

Como ya digo, es una forma de verlo, pero no veo que aporte nada.

Por otra parte, he criticado muchas veces que no se entiende qué diablos hacen los lógicos en sus libros.

Y yo te doy la razón en que, realmente, no lo explican. (Otra cosa es que cuando yo trato de explicártelo no te convenzo  :P).

Es obvio que están usando la "lógica de 1er orden" para hacer razonamientos acerca de la "lógica de 1er orden".
A partir de ahí veo un error de concepto, porque se usan reglas de inferencia que aún no están construidas ni definidas.
No he visto que nadie se tome el trabajo de aclarar este punto.

Ciertamente no lo aclaran, pero la aclaración es que, bien planteado, están usando la razón y la intuición para formalizar los razonamientos con conceptos intuitivos. Los razonamientos formalizados son "calcos" de los razonamientos no formalizados, pero no son lo mismo. Antes no tienes razonamientos formalizados, luego tienes razonamientos formalizados. Es como si traduces una frase del castellano al inglés. Las dos frases significan lo mismo, pero "traducir del castellano al inglés" es algo que tiene sentido, pero si dices que "traducimos del castellano al castellano" eso es hacer el bobo. Igualmente, si lo que hicieran los lógicos es usar la lógica de primer orden para construir la lógica de primer orden estarían estafando, pero es que tú identificas la lógica no formalizada con la lógica formalizada y eso no es así.

Que si una implicación es verdadera y su hipótesis es verdadera entonces su tesis es verdadera es un principio lógico, un principio que puedes formalizar mediante la regla del Modus Ponens. La regla original vale para pensamientos arbitrarios, no necesariamente escritos en un lenguaje formal, sólo hace falta que tenga sentido clasificarlos como verdaderos o falsos. La regla formal es un criterio que te da permiso para escribir una fórmula en una deducción y poder decir de la lista que estás construyendo que constituye una deducción lógica.

Lo que tienes que admitir es que construir la lógica de primer orden no es definir o inventar la lógica, es formalizar un razonamiento lógico que conoces previamente. Es una forma de inventariar lo que ya tienes. Al inventariarlo puedes valorar su alcance y otras cosas, estás inventariando las formas de razonamiento válidas y separándolas de las que no son válidas, la lógica que usas antes de construir la lógica formal y la que usas luego son la misma en el sentido de que lógica no hay más que una (exotismos aparte), pero no hay un círculo vicioso. Es como si yo invento un poema de memoria y luego lo pongo por escrito. El poema era el mismo en mi cabeza que en el papel, pero puesto sobre el papel es más fácil comprobar que en efecto cumple todas las condiciones métricas exigibles. Ponerlo sobre el papel no es un acto creativo, es un acto de control. Y escribir un poema compuesto de memoria no es caer en un círculo vicioso.

Carlos por lo menos avisa de que esa lógica "ya está" en alguna parte, y que luego se hace una formalización.
Si yo me creo o no esa lógica que "ya está de antes", es cosa mía.

Vaya, me has leído el pensamiento. Me salto lo que sigue porque entiendo que va dirigido a gdl.

Y ya que estamos en esto, te agradecería a Carlos que me aclares, si es que podés (ya que dijiste que esas lógicas alternativas no son lo tuyo), cómo es el formato adecuado para estudiar "las otras lógicas" que los lógicos estudian.
¿Es dentro de una teoría de conjuntos? ¿Es bajo la lógica de 1er orden + una lista de axiomas? ¿Aparecen Álgebras de Boole, dónde? ¿Qué pasa con los valores de verdad de una lógica n-valuada?

Tengo un problema de ubicación geográfica con todos estas teorías.

Bueno, yo diría que lo usual es que los libros de lógica trabajen en ZFC como metateoría, o a lo sumo en teorías más débiles que les sean suficientes. La única razón que se me ocurre para no hacer esto es que necesites la lógica para construir ZFC. Otra cosa son ya los intuicionistas o cualquier otro objetor de conciencia que rechacen trabajar en una lógica "infiel", pero creo que eso ya está pasado de moda.

17 Marzo, 2013, 11:20 pm
Respuesta #14

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,292
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
Citar
Puedes hablar de álgebras de Boole, pero la única álgebra de Boole considerada sería la trivial, con dos valores. Te digo lo mismo que a gdl: no necesitas el concepto general de álgebra de Boole para manejar perfectamente los conceptos de "verdadero" y "falso". Los valores de verdad forman parte de la semántica.

Queda claro que los valores de verdad están del lado semántico.
Pero me parecen oportunas las aclaraciones de que no hace falta un Álgebra de Boole,
ni las tablas de verdad, etc., porque así entiendo mejor qué papel juegan las tablas de verdad en todo esto.

Citar
Si ves que defino un modelo y no tienes claro qué habrá que entender por "para todo" en ese modelo, quéjate entonces, pero no te quejes "en general", porque en general no hay nada que decir.

No me estaba quejando, sino que estaba tratando de entender qué es el "para todo" semántico.
Pero acá tengo dudas de que no se pueda hablar de modelos en general.
Un modelo \( M \) de la teoría de conjuntos no se conoce, como aclaraste en unos posts anteriores.
Se consideran modelos hipotéticos.
¿Qué sentido tiene el "para todo" en esos modelos?

No hablaré sobre los naturales.

17 Marzo, 2013, 11:29 pm
Respuesta #15

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Queda claro que los valores de verdad están del lado semántico.

En efecto.

Pero me parecen oportunas las aclaraciones de que no hace falta un Álgebra de Boole,
ni las tablas de verdad, etc., porque así entiendo mejor qué papel juegan las tablas de verdad en todo esto.

Pero el papel de las tablas de verdad en todo esto es exactamente el mismo que representan en el caso de la lógica proposicional, donde las cosas son más sencillas porque no hay cuantificadores, pero insisto en que la situación es la misma. Puedes usarlas para describir los conectores... o no.

Citar
Si ves que defino un modelo y no tienes claro qué habrá que entender por "para todo" en ese modelo, quéjate entonces, pero no te quejes "en general", porque en general no hay nada que decir.

No me estaba quejando, sino que estaba tratando de entender qué es el "para todo" semántico.

Usaba "quejar" en el sentido (totalmente legítimo por tu parte) de presentar objeciones. No me estaba quejando de que te quejaras.

Pero acá tengo dudas de que no se pueda hablar de modelos en general.
Un modelo \( M \) de la teoría de conjuntos no se conoce, como aclaraste en unos posts anteriores.
Se consideran modelos hipotéticos.
¿Qué sentido tiene el "para todo" en esos modelos?

La única forma de responder a esa pregunta pasa por analizar cuáles son esos modelos. No se puede responder "en abstracto". Si el hilo da de sí, puedo tratar de llegar hasta ahí.

No hablaré sobre los naturales.

 ::)

18 Marzo, 2013, 12:33 am
Respuesta #16

gdl

  • Nuevo Usuario
  • Mensajes: 13
  • Karma: +0/-0
Esto es un aspecto muy sutil y me cuesta expresarme sin miedo a que se malinterprete lo que digo
...
En muchas ocasiones, la forma más "clara e impecable" de presentar un resultado o una teoría, oculta al mismo tiempo información relevante para entenderla cabalmente.

Creo que no hay peligro de malinterpretación, pero la forma de presentarlo influye en cómo el estudiante entiende el conocimiento. Es posible que este sea uno de los casos a los que te refieres de ocultar información... al menos hasta que encajan las piezas. Sin embargo, no ocultarla también causa tantos otros problemas como el de mezclar sintaxis y semántica.

... Lo único que digo es que algunas de esas cosas quedan inevitablemente disimuladas con las exposiciones usuales.

Hay que sopesar si una exposición no usual introduce nuevas dificultades al entendimiento. En este caso (y quizás por provenir de un entorno ortodoxo) creo que se introducen esas dificultades como ya he explicado. No voy a seguir hablando sobre este punto ya que cada uno sopesa los pros y los contras de manera distinta.

Ahí está la clave en el "y que usamos". Es que la lógica que usamos no me parece insulsa y tediosa. Al contrario, su estudio me parece fascinante. Pero ¿usamos realmente lenguajes con gramáticas arbitrarias, necesitamos para algo modelos de teorías extrañas, o lógicas distintas de la que realmente usamos, etc.?
...

Se usan. Por ejemplo, el demostrador automático Coq usa una lógica llamada Cálculo de Construcciones Inductivas.

¿Qué me aporta a mí saber qué se puede decir sobre lenguajes en general si lo único que necesito es manejar lenguajes de primer orden en particular? Hay muchas ocasiones en matemáticas en las que una visión general aporta luz sobre un caso particular, pero ¿es éste uno de esos casos? Yo creo que no. Yo creo que en este contexto el caso general sólo aporta información absolutamente inútil para el caso particular de interés.

No creo que sea información inútil cuando estructura el discurso, da nombre a las partes y demás ventajas que he mencionado antes. De nuevo, tenemos disparidad de criterios en este punto.

Bien, pues he aquí un ejemplo de lo que entiendo por una concepción errónea de la lógica. La sintaxis NO es arbitraria. Obviamente, si por arbitraria quieres decir que hay muchas alternativas raras, esto es cierto, pero digo que no es arbitraria porque NO es cierto que si se elige la que se elige frente a las demás no es de forma arbitraria, por capricho, o ni siquiera por una cuestión histórica. Y precisamente el presentar una teoría general de lenguajes formales con sintaxis arbitrarias fomenta la concepción (errónea a mi juicio) de que la lógica de primer orden es una de tantas lógicas posibles elegida caprichosamente o por cuestiones culturales.

Bueno. Realmente, la lógica de primer orden es una lógica como otra cualquiera. Tienes la lógica proposicional, la lógica de segundo orden, de orden superior, lógicas modales, temporales, dinámicas, etc. Si se elige la de primer orden es porque hay un compromiso entre su simplicidad y su potencia. Algo que es un consenso cultural e histórico. Probablemente, si se hubiera descubierto antes, ahora estaríamos hablando del cálculo de construcciones y no de la lógica clásica de primer orden.

Mi planteamiento es diferente: los seres humanos tenemos capacidad de razonar. Y no hay distintas formas de razonar (en el sentido de que unas lleven a unas conclusiones y otras lleven a otras)... pero la lógica (la lógica de verdad, no la lógica generalizada de los lógicos, en la que cualquier cosa rara puede ser un lenguaje digno de estudio) consiste en determinar qué consecuencias de unas premisas dadas podemos asegurar que serán verdaderas si tenemos la seguridad de que las premisas son verdaderas.

Esto es la lógica .... Otra cosa es que para realizar este programa, se empleen ciertas técnicas, consistentes en definir lenguajes formales susceptibles de formalizar las afirmaciones posibles de las que pretendemos extraer consecuencias lógicas, y que esas técnicas sean susceptibles de ser generalizadas para estudiar otros lenguajes formales que nada tienen que ver con nuestro propósito de formalizar la razón (la capacidad de extraer consecuencias necesariamente verdaderas de premisas verdaderas). ¿Es razonable seguir llamando "lógica" a este uso generalizado de las técnicas que en principio son útiles para desarrollar el programa de formalizar el razonamiento? No digo que no, pero si lo hacemos, debemos evitar caer en los juegos de palabras: si un libro de lógica presenta la lógica como el estudio de cualquier cosa que se pueda llamar "lenguaje formal" está ocultando a sus lectores que dentro de esa arbitrariedad hay una parte especial que no es arbitraria, sino que es la adecuada para formalizar el razonamiento lógico "de verdad".

Como ya comenté en una respuesta anterior, algunas de las lógicas que obtenemos son triviales o inconsistentes. En cualquier caso, inútiles. Eso no quita que sí existan otras lógicas como las que he enumerado anteriormente que sí respetan el razonamiento humano "la lógica" en mayúsculas. En definitiva, no todo el razonamiento humano acaba en la lógica de primer orden.

Debido a esto es meritorio buscar estructuras comunes en estas lógicas formales y destacarlas como partes orgánicas de cualquiera de ellas. Incluida la lógica de primer orden elegida en el artículo. Por sólo eso merece definir ordenadamente lenguaje formal, sintaxis, semántica, deducción, etc. ya que destacamos esas partes orgánicas comunes a todas las lógicas que aproximan "la lógica" del razonamiento humano.

Me parece "tramposo" tomar una exposición cuyo objeto (legítimo) es realizar el programa de formalizar el razonamiento en el sentido que acabo de indicar, generalizarla, y después decir: "tu forma de exponer no es adecuada porque no es suficientemente general ni es la adecuada para que se aprecie esa generalidad". La pregunta es ¿Qué objeto tiene esa generalidad? ¿Qué se gana con ella?
...
Pues eso son ejemplos de preguntas que tendrá claro alguien a quien le hayan presentado la lógica como el proyecto de formalizar el razonamiento, entendido este como la extracción de conclusiones necesariamente verdaderas a partir de premisas que sabemos o suponemos verdaderas, y que no sabrá responder alguien a quien le hayan dicho que la lógica es el estudio de una serie de lenguajes arbitrarios y reglas de inferencia arbitrarias.

No es "simplemente otra lógica" ... de modo que la particular no es "simplemente una más", se está perdiendo algo gordo, a mi juicio.

No es que se tome una lógica destacada (como la de primer orden) y se generalice. Más bien es que, según restrinjamos el tipo de razonamientos que queremos formalizar, obtenemos un tipo de lógica u otro.

Te propongo un razonamiento que probablemente hayas tenido:

El microondas no funciona.
Por tanto, el microondas está roto.

Ahora te propongo otro razonamiento con más información:

El microondas no funciona.
El televisor no funciona.
El ordenador no funciona.
Las luces no funcionan.
Por tanto, se han ido los fusibles.

Este tipo de razonamientos no monótonos son muy difícil de formalizar. Desde luego, no es posible formalizar con la lógica de primer orden, pero existe en la razón humana. Esa es la causa por la que se buscan lógicas que capturen ese y otros tipos de razonamientos que la lógica clásica no consigue capturar.

Exactamente, y ahí está la explicación de por qué los lenguajes formales que yo estoy introduciendo son los que realmente valen para su fin, y que todos los demás son artificios matemáticos ... Salvo que tú me puedas dar alguna utilidad en seguir el otro enfoque generalista. A mí no se me ocurre ninguna.

Ya te he dado algunas, comprendo que puedas no compartirlas.

Creo que ese razonamiento es capcioso. Es como si alguien quiere aprender geometría y consideras que, por enseñarle geometría y no álgebra y análisis...

Bueno, no saquemos las cosas de contexto. El álgebra y el análisis no son parte constituyente de la geometría (hablando de geometría en el sentido clásico de regla y compás, si hablamos de geometría diferencial la cosa cambia). Los lenguajes formales son parte constituyente de la lógica.

Creo que tus conocimientos de lógica son más que suficientes como para que no necesites mi libro para nada. Sólo quería decirte que yo también sé separar la sintaxis de la semántica.

Es que no se trata de introducir la semática antes, es decir, dedicar un capítulo a la semántica y luego otro a la sintaxis, sino de introducirlas a la vez (de modo que presentas la parte semántica de cada concepto antes que su parte sintáctica, pero después que la parte sintáctica del concepto anterior.

Aquí puede que me salga del aspecto filosófico y entre en el aspecto didáctico cuando digo que, si bien para alguien que sepa la distinción puede estar clara, para un estudiante el mezclar ambas creo que puede ser contraproducente. De nuevo, es una valoración subjetiva.

No lo veo dual. En el segundo caso dices que la sintaxis no es arbitraria, pero el que te escucha tiene que aceptar a ciegas varias convenciones sin que le proporciones su justificación hasta mucho después...

Las convenciones se pueden (y se suelen) justificar antes o durante, sin introducir la semántica hasta después.

Una de las malinterpretaciones que me llaman la atención es la que se da cuando veo a alguien preguntar "¿si tengo \( \alpha\rightarrow \beta \) y \( \lnot \beta \) puedo deducir \( \lnot \alpha \)? ¿Y si es así por qué?

Quien pregunta esto, probablemente (no tiene por qué ser así) no tiene claro que "puedo deducir" tiene dos sentidos distintos, el sintáctico y el semántico...
Quienes han aprendido la lógica sin semántica...
Presentar primero la semántica me va a poner en condiciones (espero)...

No he hablado en ningún momento de no introducir la semántica. Ni de introducir primero la deducción sintáctica (yo he llamado semántica operativa) y luego justificarla con la deducción semántica (que yo he llamado semántica denotacional). Si he dicho algo que te haya hecho pensar en ese sentido, disculpa mi poca capacidad comunicativa.


Discrepo completamente, aunque a la vez soy consciente de que discrepo por un problema de lenguaje. Me refiero a que usas la palabra "intuición" en un sentido que es el más extendido...

Podemos usar la palabra "idea preconcebida" si te parece bien. Lo que subyace es que la mente es falible y el sistema formal no puede ser inconsistente si queremos que sea útil.

Aclarado esto, no veo qué queda de sustancia en tu argumento de que es mejor presentar primero la sintaxis y luego la semántica para que el alumno se pueda formar concepciones erróneas y luego se sorprenda al darse cuenta... No le veo la ventaja.

El estudiante no debería formarse concepciones erróneas, pero si lo hace, existe un mecanismo de corrección.

Estoy totalmente de acuerdo con tu filosofía al respecto, pero no considero que sea aplicable al caso que nos ocupa. Yo he estudiado muchas matemáticas muy variadas, y jamás he tenido necesidad de usar el concepto de semigrupo...

Aquí estoy seguro de que sabes mucho más que yo. Así a bote pronto se me ocurre que la composición de funciones (con mismo dominio que codominio) es un semigrupo. Bien es cierto que el espacio de funciones del que se trate suele contener la función identidad (o se le añade y se convierte en monoide).

Pero, incluso al margen de los objetivos que me he planteado, ¿puedes ponerme un ejemplo concreto de alguna situación en tu vida en la que hayas tenido ocasión de aprovechar que en su día estudiaste lógica sin igualdad? ...

Estoy viciado por mi formación, pero ciertamente se usa. Un mecanismo de demostración automática de la satisfacibilidad de formulas de la lógica clásica de primer orden es el llamado resolución. Este mecanismo es Turing completo y se puede expresar con fórmulas de la lógica clásica de primer orden cualquier computación. No hace falta la igualdad. A partir de esto se definen sistemas de consulta basados en formulas lógicas que se ejecutan en, por ejemplo, bases de datos.

¿Por ejemplo? No sé a qué resultados bastante interesantes te referirás, pero para que te concediera que es mejor el enfoque abstracto tendrían que ser resultados que, conociéndolos, uno estuviera en condiciones de entender mejor el caso que interesa...

Por ejemplo, haciendo un análisis de la cardinalidad de los lenguajes se puede llegar a la conclusión de que son a lo sumo numerables. Cualquier lógica construida con ellos sólo podrá hacer referencia a un subconjunto numerable del universo que usemos para la semántica. Más que nada porque no tiene términos para referenciarlos a todos individualmente. Es decir, que aunque tengamos un universo no numerable, podemos ignorarlo y trabajar con un universo numerable. Concretamente, en la lógica de primer orden es el universo de Herbrand.

No, si, por "tontos" quería decir "tontamente abstractos". Me refiero a cosas como "encontrar una definición recursiva de un lenguaje cuyas palabras son éstas"...

Bueno, parecen ser ejercicios para coger soltura. Otra cosa es que cada uno tenga ya cierta práctica con las matemáticas y no necesite esos ejercicios.

Yo estudié teoría de categorías en cuarto curso de carrera. No le vi utilidad alguna y no me interesó lo más mínimo...

Cuidado. Hardy decía que le encantaba la teoría de números porque no tenía ninguna utilidad y luego apareció la criptografía de clave pública. Nunca se sabe.

Es que creo que la paleta es una falsa paleta...

Ya hemos hablado de esto y comprendo tu enfoque. Como ya he dicho antes, otra cosa es que introduzca dificultades.

Sobre esto habría mucho que matizar. No sé si te entiendo bien. Pareces hablar de los objetos matemáticos como si fueran algo que está ahí, dado, de modo que puedes decir con toda naturalidad "interpetamos este lenguaje tomando como universo el conjunto de los números reales". No creo que algo así tenga sentido si no es en el contexto de una teoría formal previa que nos permita hablar de números reales. O te malinterpreto, o hablas de esto con demasiada ligereza.

Quizás he abusado del sarcasmo en este párrafo. Estoy completamente de acuerdo contigo en que no es trivial hablar de objetos matemáticos sin una formalización detrás.

No, si lo que me confundía no es que dijeras "operacional", sino que dijeras "semántica". Una regla como el modus ponens (de \( \alpha\rightarrow \beta \) y \( \alpha \) se deduce \( \beta \)) no tiene nada de semántico. La versión semántica sería "si \( \alpha\rightarrow \beta \) y \( \alpha \) son verdaderas en un modelo, entonces \( \beta \) también lo es"...

Pues por eso, son transformaciones sintácticas, no semánticas. Pero luego vuelves a calificarlas de semántica. No logro ver coherencia en lo que dices.

Culpa mía. Tengo cierta deformación en el sentido de verlo todo como un lenguaje de programación. Una forma de dar significado a un lenguaje formal es especificando transformaciones sintácticas sobre él. De forma muy parecida a como la deducción sintáctica trabaja. Intentaré que no me bailen los nombres para mantener una nomenclatura rigurosa.

¿Ves? En esto que dices veo los efectos de alguien que se ha acostumbrado a admitir la sintaxis acríticamente como algo arbitrario, como una elección arbitraria en una paleta y que, en consecuencia, ha asimilado ese conformismo y se conforma con cualquier cosa...

Esto no es cierto. Sé que las transformaciones sintácticas están respaldadas por una semántica y en ningún caso he dicho que no se tenga que estudiar. A grandes rasgos el orden sería: la sintaxis (sin transformaciones de ningún tipo), luego la semántica, luego la deducción semántica y finalmente la deducción sintáctica.

Aunque ahora te hago una pregunta. Supón que tenemos esa deducción sintáctica. ¿Existe más de una semántica que permita que sea correcta y completa o sólo existe una?

Y para poder demostrar todo esto, para poder recibir esta enseñanza que la lógica pone a nuestra disposición, lo primero que tienes que aprender es que tu planteamiento es totalmente erróneo, que no puedes permitirte el lujo de tratar sólo con signos, prescindir de la semántica y sólo estudiar la semántica luego, cuando tengas la teoría de conjuntos a tu disposición, porque sucede que todo esto que te digo puede demostrarse, pero puede demostrarse estudiando la semántica del lenguaje formal que necesitas para definir la teoría de conjuntos, y asegurándote de que puedes hacerlo sin apoyarte en ninguna teoría de conjuntos, lo cual, aunque posible, no es trivial en absoluto, pues requiere meditar bastante sobre hasta dónde puede llegar nuestro conocimiento descansando únicamente en la razon (no formalizada) y en la intuición (como fuente de premisas para la razón), sin apoyarse en ninguna teoría axiomática.

¿No es más sencillo para el objetivo de fundar las matemáticas asumir que la deducción sintáctica es la semántica? De forma axiomática .Si quieres, justificada por la intuición. Estamos fundando, algo tiene que ser impuesto. En este caso, incluso, como bien dices, podemos demostrar a posteriori que nuestras reglas de inferencias eran correctas para una semántica descrita por conjuntos (una vez tengamos la teoría de conjuntos desarrollada).

En cualquier caso, en este asunto de los fundamentos de las matemáticas no soy en absoluto una persona informada del tema.

No entiendo a qué te refieres. Yo he definido los lenguajes formales (de primer orden que voy a usar). En cuanto a definir "sintaxis", confundes definir con definir un concepto más abstracto.

Ese concepto más abstracto es el que se puede reutilizar en otras lógicas y por eso es útil.

Ya, pero yo en toda mi vida no he usado nunca ningún lenguaje formal que no sea de la lógica de primer orden...

Has usado, al menos, dos más: Latex y BBCode. Probablemente muchos más.

En cualquier caso, rectificando mi afirmación falsa de antes: de todos los lenguajes formales que he tenido que tratar y que no caben en el esquema que presento en mi artículo, casi ninguno cabe en tu esquema general. Eso es lo malo de generalizar, que es como tratar de decir el número más grande. Nunca sabes si te encontrarás otro número mayor.

Ya indiqué en mi primer post que el esquema que ofrecía era uno reducido. En ningún caso es un esquema general, pero sí que es suficiente para la sintaxis de la lógica clásica de primer orden.

Tus ventajas me parecen cada vez menos serias. Ésta ya deja mucho que desear...

En cualquier caso, no deja de ser una ventaja tener todo el proceso debidamente ordenado y nominado. La nomenclatura es importante.

Eso es capcioso. Alguien que no entienda lo que es un término...

Es posible que el ejemplo no sea el más propio, lo que no quita que una separación en partes facilite la comprensión y la localización de errores.

Obviamente, cuanto menos breve seas, mejor te explicarás...

Lo siento. No creo que eso sea cierto. Incluso aunque la explicación sea buena, una longitud excesiva puede provocar cansancio o que una repetición de algo se interprete de manera distinta a la primera aparición provocando dudas.



Me alegra poder hablar de estos temas (tantos y tan variados). Mucho me temo que se acaba el fin de semana y no sé qué tiempo le podré dedicar durante la semana al foro. Lamento no poder seguir este ritmo ya que la conversación ahora fresca se hará pesada. Lo que está claro es que escribes mucho más deprisa que yo, Carlos.

18 Marzo, 2013, 03:16 am
Respuesta #17

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal
Es posible que este sea uno de los casos a los que te refieres de ocultar información... al menos hasta que encajan las piezas. Sin embargo, no ocultarla también causa tantos otros problemas como el de mezclar sintaxis y semántica.

No creo que mezclar sea lo mismo que presentar simultáneamente, pero, en cualquier caso, si se presenta la sintaxis simultáneamente con la semántica y se advierte de que es fundamental ir dándose cuenta de que las definiciones sintácticas nunca presuponen la semántica aunque estén motivadas por ella, ¿qué problemas surgen? No veo que surja ninguno.

Hay que sopesar si una exposición no usual introduce nuevas dificultades al entendimiento. En este caso (y quizás por provenir de un entorno ortodoxo) creo que se introducen esas dificultades como ya he explicado. No voy a seguir hablando sobre este punto ya que cada uno sopesa los pros y los contras de manera distinta.

Procuro leerte con atención y te pido disculpas si se me ha escapado alguna idea, pero de verdad que si me pregunta otro qué dificultades se introducen según tú por presentar la semántica simultáneamente con la sintaxis no sabría qué responder. ¿Cuáles son esas dificultades? A lo sumo has enumerado unas ventajas de no hacerlo así, pero también me han parecido tan abstractas que no sería justo decir que no me convencen. Simplemente no llego a identificar en ellas ningún inconveniente concreto que podría dificultar a un alumno seguir tal presentación. No digo que lo que a ti te parece un inconveniente a mí no me lo parece. Digo que no soy capaz de identificar en lo que me dices ningún inconveniente que yo pueda juzgar si realmente me parece tal o no.

Por ejemplo, entre tus ventajas me dices que con mi planteamiento no defino lenguaje formal (sino un caso particular), pero no puedo ver en qué puede perjudicar a un estudiante que le hablen de lenguajes formales de primer orden sin hablarle de otros lenguajes más generales. Por otra parte, esto no sería un problema relacionado con simultanear sintaxis y semántica, sino con elegir un cierto nivel de generalidad. Sigo sin ver en tu argumentación qué inconvenientes le encuentras a simultanear sintaxis y semántica.

Se usan. Por ejemplo, el demostrador automático Coq usa una lógica llamada Cálculo de Construcciones Inductivas.

¿Pero tú personalmente has tenido que usar eso? Es a eso a lo que voy, a que no le veo sentido introducir en una introducción a la lógica herramientas que sólo son de interés para unos usos muy especializados que es muy poco probable que a un estudiante en concreto le vayan a hacer falta. Es como si en un curso de introducción al latín te enseñaran indoeuropeo por si un día no sólo necesitas saber latín sino también sánscrito. Creo que los tecnicismos que sólo interesan al especialista están de más en un curso introductorio y didácticamente son contraproducentes.

Es como si a un estudiante de medicina, en lugar de explicarle anatomía humana, le explicas la anatomía de todos los animales, para que sepa qué características del hombre son comunes a los mamíferos, cuáles a los vertebrados, etc. ¿Para qué necesita un médico competente (no un médico erudito) conocer la anatomía de los animales. Podrás decirme: le puede hacer falta si tiene que experimentar nuevos medicamentos en animales y debe seleccionar los animales que presenten características comunes relevantes con el hombre para cierto estudio, y yo te contestaré, ¿y no es mejor que los estudiantes de medicina simplifiquen su estudio estudiando al hombre y no a los animales y que, luego, aquellos cuya especialidad les vaya a llevar a usar animales como fase previa a la experimentación con humanos profundicen en sus estudios estudiando anatomía animal?

No creo que sea información inútil cuando estructura el discurso, da nombre a las partes y demás ventajas que he mencionado antes. De nuevo, tenemos disparidad de criterios en este punto.

Pero todo eso me parece demasiado vago. Es como si creas un manual de estilo de redacción. Los principios que apuntes podrán ser más o menos sensatos, pero nada impide que alguien redacte de maravilla sin seguir tus principios. No puedes tomar decisiones sobre qué es mejor o peor en un contexto dado a partir de principios así de vagos.

Bueno. Realmente, la lógica de primer orden es una lógica como otra cualquiera. Tienes la lógica proposicional, la lógica de segundo orden, de orden superior, lógicas modales, temporales, dinámicas, etc. Si se elige la de primer orden es porque hay un compromiso entre su simplicidad y su potencia. Algo que es un consenso cultural e histórico. Probablemente, si se hubiera descubierto antes, ahora estaríamos hablando del cálculo de construcciones y no de la lógica clásica de primer orden.

Estamos en lo mismo. Todas esas lógicas que citas son tecnicismos que interesan al lógico especializado en la materia, mientras que la lógica de primer orden es una herramienta que necesita todo aquel que quiera asimilar bien la matemática moderna. Es como si un estudiante de medicina necesita ciertos conocimientos de estadística para hacer estudios médicos y tú sostienes que hay que enseñarle la estadística a un nivel de generalidad que le permita comprender las técnicas que se usan en la mecánica cuántica, porque así lo entenderá todo mejor.

Por otra parte, estás tergiversando mis palabras. Yo te decía que la lógica de primer orden no es una lógica cualquiera por oposición a las "lógicas locas" que podrían formarse con un modus ponens "loco", sin ninguna justificación semántica, a las que tú pretendías poner en pie de igualdad con una lógica "sensata". Los ejemplos que citas ahora son harina de otro costal. En efecto, son lógicas que en cierto sentido se podrían poner en pie de igualdad con la lógica de primer orden, pero que es distinto que existan a que sea necesario o incluso conveniente presentar en un curso introductorio las técnicas necesarias para estudiarlas, siendo como es muy poco probable que un matemático interesado en las matemáticas tenga necesidad alguna vez en su vida de tratar con ellas.

Como ya comenté en una respuesta anterior, algunas de las lógicas que obtenemos son triviales o inconsistentes. En cualquier caso, inútiles. Eso no quita que sí existan otras lógicas como las que he enumerado anteriormente que sí respetan el razonamiento humano "la lógica" en mayúsculas. En definitiva, no todo el razonamiento humano acaba en la lógica de primer orden.

Cierto, pero yo te estaba argumentando contra la necesidad de una presentación de la lógica que incluya lógicas triviales e inútiles. Si ahora me sacas a colación lógicas no triviales ni inútiles, te añado a mi argumento: lógicas triviales, inútiles, o tan técnicas que es muy poco probable que a un estudiante interesado por la lógica como fundamento de las matemáticas le vayan a hacer falta jamás.

Para alguien que tiene que aprender las ideas fundamentales de algo, presentar un nivel de generalidad artificial con la excusa de que así se le prepara para estudiar casos técnicos de interés reducido a unos pocos especialistas (y no digamos ya si incluimos casos sin interés alguno) es, a mi juicio, una mala política, no sólo desde un punto de vista didáctico, sino desde el punto de vista de la organización lógica de la exposición de una materia. Me parece mucho más razonable empezar, no con lo general, sino con lo de interés general, para posteriormente, una vez asimilado lo que tiene interés general, pasar, si el alumno está interesado, a temas de interés específico propios de especialistas.

Debido a esto es meritorio buscar estructuras comunes en estas lógicas formales y destacarlas como partes orgánicas de cualquiera de ellas. Incluida la lógica de primer orden elegida en el artículo. Por sólo eso merece definir ordenadamente lenguaje formal, sintaxis, semántica, deducción, etc. ya que destacamos esas partes orgánicas comunes a todas las lógicas que aproximan "la lógica" del razonamiento humano.

Pero no creo que sea justo decir que yo no introduzco los conceptos desordenadamente. Estarán desordenados respecto de otro orden posible, pero también yo podría decir que presentar primero la sintaxis y luego la semántica es una presentación desordenada, porque presenta la semántica demasiado tarde.

Por otra parte, insisto en que presentar todas las lógicas que aproximan el razonamiento humano no es buena idea si tenemos en cuenta que sólo una de ellas es de aplicación general y las otras son tecnicismos que sólo interesan a los especialistas. Una gran parte de los matemáticos no están interesados (yo me cuento entre ellos) en aproximar la lógica del razonamiento humano, sino únicamente en formalizar la porción de dicha lógica que es necesaria para hacer matemáticas en el marco de una teoría de conjuntos, por lo que tu planteamiento "le viene grande" a cualquier matemático que no esté especialmente interesado en un campo muy particular de la matemática, a saber, el de la lógica matemática.

No es que se tome una lógica destacada (como la de primer orden) y se generalice. Más bien es que, según restrinjamos el tipo de razonamientos que queremos formalizar, obtenemos un tipo de lógica u otro.

Te propongo un razonamiento que probablemente hayas tenido:

El microondas no funciona.
Por tanto, el microondas está roto.

Ahora te propongo otro razonamiento con más información:

El microondas no funciona.
El televisor no funciona.
El ordenador no funciona.
Las luces no funcionan.
Por tanto, se han ido los fusibles.

Este tipo de razonamientos no monótonos son muy difícil de formalizar.

El problema de este tipo de "razonamientos" es que tienen premisas ocultas. Estos razonamientos presuponen ciertas afirmaciones que describen el mundo en que vivimos.

Desde luego, no es posible formalizar con la lógica de primer orden, pero existe en la razón humana. Esa es la causa por la que se buscan lógicas que capturen ese y otros tipos de razonamientos que la lógica clásica no consigue capturar.

Y eso interesará legítimamente a un grupo (reducido) de personas, igual que hay grupos reducidos de personas interesadas en descifrar inscripciones antiguas, y otros grupos interesados en conocer cómo era el universo en su primer segundo de existencia, etc. Yo no me cuento entre los interesados por ninguna de estas cosas, y creo que como yo les sucederá a la mayoría (por definición de grupo reducido). Por eso digo que no es razonable tomar a un infeliz que simplemente quiere saber algo de lógica y orientar su estudio a que asimile herramientas que sólo le serán útiles en el improbable caso de que decida especializarse en lógica, y que, aun así, le resultarán más fácilmente asimilables si primero se le ha dado un curso con contenidos de interés general.

Exactamente, y ahí está la explicación de por qué los lenguajes formales que yo estoy introduciendo son los que realmente valen para su fin, y que todos los demás son artificios matemáticos ... Salvo que tú me puedas dar alguna utilidad en seguir el otro enfoque generalista. A mí no se me ocurre ninguna.

Ya te he dado algunas, comprendo que puedas no compartirlas.

No sé si entiendo a qué te refieres: ¿te refieres por ejemplo a que con un enfoque generalista uno está en condiciones de tener una aproximación mejor a lo que es el razonamiento humano? Si es eso, ya te he respondido: ¿Por qué es mejor incluir en un curso introductorio técnicas cuya ventaja es que en un futuro podrían servirle a uno para entrar en una cuestión completamente técnica y especializada? ¿No será mejor que las técnicas encaminadas a la especialización las estudien quienes, una vez conocida la teoría básica, opten libremente por especializarse? ¿Qué pasa con quienes quieren saber algo de lógica (la necesaria para desenvolverse en matemáticas) pero no sientan ninguna inquietud por "tener una buena aproximación de lo que es el razonamiento humano"?

Bueno, no saquemos las cosas de contexto. El álgebra y el análisis no son parte constituyente de la geometría (hablando de geometría en el sentido clásico de regla y compás, si hablamos de geometría diferencial la cosa cambia). Los lenguajes formales son parte constituyente de la lógica.

Eso es jugar con las palabras. Si uno quiere conocer la lógica para desenvolverse bien en matemáticas, necesita conocer la lógica de primer orden. Razonar entonces que la lógica de primer orden es un lenguaje formal, luego, como esta persona necesita un lenguaje formal (o una familia concreta de ellos), necesita conocer la noción general de lenguaje formal que abarca muchos otros casos que no necesita para nada, es jugar con las palabras para meter con calzador algo que no tiene cabida "suavemente".

Aquí puede que me salga del aspecto filosófico y entre en el aspecto didáctico cuando digo que, si bien para alguien que sepa la distinción puede estar clara, para un estudiante el mezclar ambas creo que puede ser contraproducente. De nuevo, es una valoración subjetiva.

Bueno, aquí das el primer argumento concreto que puedo distinguir. (Si has dado otros, te agradecería que me los destacaras más porque me da la impresión de que son demasiado sutiles para que yo los pueda captar.) Como ya te he dicho, mi impresión es que lo que resulta completamente contraproducente para un estudiante es tenerlo una larga temporada a ciegas, sin entender por qué se le definen las cosas que se le definen y obligándolo a decir amén.

No lo veo dual. En el segundo caso dices que la sintaxis no es arbitraria, pero el que te escucha tiene que aceptar a ciegas varias convenciones sin que le proporciones su justificación hasta mucho después...

Las convenciones se pueden (y se suelen) justificar antes o durante, sin introducir la semántica hasta después.

Pero es que yo me refiero a las convenciones cuya justificación es la semántica. Me refiero, por ejemplo, a por qué se acepta como regla de inferencia \( \alpha\vdash \forall x \alpha \). Eso es algo muy delicado que, incluso con la semántica delante, es difícil de justificar, pues se basa en un convenio semántico que después se va a incumplir, cuando haya que explicar que, en ciertas condiciones, una variable no va a ser interpretada como un objeto genérico, sino como un objeto particular, y ello lleva a prohibir la generalización en ciertos contextos, y todo ello sin contradecir que se ha introducido la generalización como una regla de inferencia válida.

Una de las malinterpretaciones que me llaman la atención es la que se da cuando veo a alguien preguntar "¿si tengo \( \alpha\rightarrow \beta \) y \( \lnot \beta \) puedo deducir \( \lnot \alpha \)? ¿Y si es así por qué?

Quien pregunta esto, probablemente (no tiene por qué ser así) no tiene claro que "puedo deducir" tiene dos sentidos distintos, el sintáctico y el semántico...
Quienes han aprendido la lógica sin semántica...
Presentar primero la semántica me va a poner en condiciones (espero)...

No he hablado en ningún momento de no introducir la semántica.

Ni yo he entendido que dijeras tal cosa. Cuando dije "quienes han aprendido la lógica sin semántica" me refería a quienes se preguntan eso antes de haber llegado a la parte de semántica.

Ni de introducir primero la deducción sintáctica (yo he llamado semántica operativa) y luego justificarla con la deducción semántica (que yo he llamado semántica denotacional). Si he dicho algo que te haya hecho pensar en ese sentido, disculpa mi poca capacidad comunicativa.

Aquí sí que me descolocas. Lo usual en los libros es eso: introducir el concepto de deducción formal antes de hablar de modelos y luego demostrar los teoremas de corrección y completitud. He supuesto que tú seguías ese planteamiento. Si ahora me dices que no es así, entonces no sé cómo propones tú introducir el cálculo deductivo. A ver si me vas a decir lo mismo que pienso hacer yo en mi artículo.

El estudiante no debería formarse concepciones erróneas, pero si lo hace, existe un mecanismo de corrección.

Aquí me pierdo. Yo te decía que ocultar la semántica durante un tiempo al estudiante es fomentar que se forme concepciones erróneas, porque le estás ocultando la explicación de por qué las cosas se hacen como se hacen.

Estoy totalmente de acuerdo con tu filosofía al respecto, pero no considero que sea aplicable al caso que nos ocupa. Yo he estudiado muchas matemáticas muy variadas, y jamás he tenido necesidad de usar el concepto de semigrupo...

Aquí estoy seguro de que sabes mucho más que yo. Así a bote pronto se me ocurre que la composición de funciones (con mismo dominio que codominio) es un semigrupo.

Sí, pero es muy distinto que algo sea un semigrupo con que resulte útil en algún sentido estudiarlo como semigrupo. Naturalmente que he trabajado con la composición de funciones, pero nunca he encontrado ninguna utilidad en decir: nótese que esto es un semigrupo.

En cambio, sí que es útil decir en un momento dado: nótese que las funciones holomorfas sobre un dominio conexo de \( \mathbb C \) forman un dominio íntegro y que su cuerpo de cocientes son las funciones meromorfas, pues eso te permite automáticamente aplicar a ese contexto teoremas no triviales de la teoría de cuerpos. La estructura de cuerpo es útil, la de semigrupo no tanto. Sólo lo es en contextos muy particulares, de modo que no se gana nada introduciéndola previamente a la noción de grupo, sino que es mucho más práctico que uno se la encuentre cuando realmente le va a hacer falta, puesto que, según por dónde transcurran sus intereses matemáticos, no sería descabellado que ese momento no llegue nunca.

Bien es cierto que el espacio de funciones del que se trate suele contener la función identidad (o se le añade y se convierte en monoide).

¿Y qué aporta observar que ahí tienes un monoide? Es otro ejemplo de estructura que se puede descartar de la formación básica de un matemático con la tranquilidad de que si algún día, por lo que sea, le resulta conveniente usar el concepto de monoide para describir una estructura, podrá aprender en cinco minutos todo lo que pueda necesitar sobre monoides, y si hubiera algún teorema no trivial sobre monoides que en un contexto dado pudiera ser relevante (quizá un resultado sobre asociatividad generalizada o qué se yo), te digo lo mismo, mejor que se lo estudie aquel a quien el azar le ha llevado a necesitar ese teorema, en lugar de inculcárselo a todo estudiante a quien lo que realmente le hace falta es conocer lo que es un grupo y los teoremas de la teoría de grupos.

Pero, incluso al margen de los objetivos que me he planteado, ¿puedes ponerme un ejemplo concreto de alguna situación en tu vida en la que hayas tenido ocasión de aprovechar que en su día estudiaste lógica sin igualdad? ...

Estoy viciado por mi formación, pero ciertamente se usa. Un mecanismo de demostración automática de la satisfacibilidad de formulas de la lógica clásica de primer orden es el llamado resolución. Este mecanismo es Turing completo y se puede expresar con fórmulas de la lógica clásica de primer orden cualquier computación. No hace falta la igualdad. A partir de esto se definen sistemas de consulta basados en formulas lógicas que se ejecutan en, por ejemplo, bases de datos.

¿Pero estás respondiendo a mi pregunta realmente? (Pregunto porque no queda claro de tu respuesta), es decir, no te preguntaba si "se usa", sino si tú has tenido realmente necesidad de usarlo. ¿Tú has diseñado sistemas de consulta de bases de datos o simplemente sabes que hay quien usa eso? Igualmente te pregunto, ya puestos, si tú has tenido que usar en algún momento lógicas modales, o de órdenes superiores, o dinámicas, etc. o si simplemente sabes que existen, o si simplemente has consultado libros que hablan de ellas pero luego nunca has tenido ocasión de usar lo que hayas podido leer sobre ellas.

Es que lo que trato de entender es si sostienes que todo eso es importante porque a ti te ha servido de algo o si llamas importante a todo lo que sabes que alguien usa para algo.

18 Marzo, 2013, 03:17 am
Respuesta #18

Carlos Ivorra

  • Administrador
  • Mensajes: 9,060
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
    • Página web personal


¿Por ejemplo? No sé a qué resultados bastante interesantes te referirás, pero para que te concediera que es mejor el enfoque abstracto tendrían que ser resultados que, conociéndolos, uno estuviera en condiciones de entender mejor el caso que interesa...

Por ejemplo, haciendo un análisis de la cardinalidad de los lenguajes se puede llegar a la conclusión de que son a lo sumo numerables. Cualquier lógica construida con ellos sólo podrá hacer referencia a un subconjunto numerable del universo que usemos para la semántica. Más que nada porque no tiene términos para referenciarlos a todos individualmente. Es decir, que aunque tengamos un universo no numerable, podemos ignorarlo y trabajar con un universo numerable. Concretamente, en la lógica de primer orden es el universo de Herbrand.

Vale, pero si uno está interesado en la lógica de primer orden y le demuestran eso para la lógica de primer orden, ¿qué necesidad tiene de saber que eso se cumple también para otras lógicas que nunca va a usar? De todos modos, hay algo que no me cuadra en lo que dices. Dices que el contexto general que propones incluye las lógicas de segundo orden, que ciertamente tienen (o se pueden definir de modo que tengan) una cantidad numerable de signos, pero no es cierto que un lenguaje numerable de segundo orden admita siempre modelos numerables. Puedes formular axiomas de segundo orden que caractericen a los números reales y (con semánticas fuertes en las que los cuantificadores de segundo orden se interpreten como la totalidad de subonjuntos del universo del modelo y no en una clase restringida) sólo admiten modelos isomorfos a \( \mathbb R \).

No, si, por "tontos" quería decir "tontamente abstractos". Me refiero a cosas como "encontrar una definición recursiva de un lenguaje cuyas palabras son éstas"...

Bueno, parecen ser ejercicios para coger soltura. Otra cosa es que cada uno tenga ya cierta práctica con las matemáticas y no necesite esos ejercicios.

Pero soltura ¿en qué? ¿Qué necesidad hay de que un estudiante pierda tiempo adquiriendo soltura en encontrar definiciones recursivas de lenguajes cuando nunca tendrá necesidad de hacer tal cosa, cuando sólo va a manejar lenguajes con definiciones típicas que, vista una, vistas todas?

Yo estudié teoría de categorías en cuarto curso de carrera. No le vi utilidad alguna y no me interesó lo más mínimo...

Cuidado. Hardy decía que le encantaba la teoría de números porque no tenía ninguna utilidad y luego apareció la criptografía de clave pública. Nunca se sabe.

No me has entendido. Cuando digo "no le vi utilidad alguna", no me refiero a utilidad práctica en el sentido de una aplicación provechosa en algún sentido. Me refiero a que no vi que utilizar la teoría de categorías aportara ninguna luz a ninguna de las teorías matemáticas que conocía hasta entonces. Y sigo pensando lo mismo. Luego encontré teorías matemáticas más sofisticadas a las que el enfoque categórico era el más adecuado, si no el único posible. La teoría de categorías es útil, por ejemplo, para estudiar la teoría de esquemas, donde esto no quiere decir que la teoría de esquemas sirva para nada práctico, sino que si uno quiere entender algunos resultados de la teoría de esquemas no los acabará de entender si trata de evitar la teoría de categorías. No digo ni mucho menos que esa sea la única "utilidad" de las categorías, por supuesto que no. Pero sí digo que no me parecería razonable aprovechar que la teoría de categorías es muy útil (como marco conceptual) para desarrollar ciertas teorías matemáticas para deducir de ahí que es conveniente introducirla para desarrollar otras en las que es totalmente prescindible.

¿Dirás acaso que antes de presentar a un alumno los conceptos de grupo, anillo, módulo, etc. es conveniente presentarle la noción de categoría abeliana porque así obtiene una aproximación mejor a la noción de estructura matemática? Pues eso es lo que me parece que estás afirmando cuando describes el nivel de generalidad que te parece adecuado para explicar la lógica.

¿Ves? En esto que dices veo los efectos de alguien que se ha acostumbrado a admitir la sintaxis acríticamente como algo arbitrario, como una elección arbitraria en una paleta y que, en consecuencia, ha asimilado ese conformismo y se conforma con cualquier cosa...

Esto no es cierto. Sé que las transformaciones sintácticas están respaldadas por una semántica y en ningún caso he dicho que no se tenga que estudiar. A grandes rasgos el orden sería: la sintaxis (sin transformaciones de ningún tipo), luego la semántica, luego la deducción semántica y finalmente la deducción sintáctica.

Creo que te contradices. Eso es lo que dices cuando hablas de estudiar la lógica, pero la respuesta que me citas era sobre la respuesta que me dabas a cómo formalizar la teoría de conjuntos para hacer lógica en ella. Te recuerdo tus palabras:

Mi planteamiento no sirve para fundamentar la teoría de conjuntos a menos que (y esta es mi opinión nada experta)

1) Trates los lenguajes formales como formas de escribir símbolos sobre papel o pantalla. Creo que es posible hacerlo sin mencionar ningún concepto matemático y sólo usando los símbolos de manera informal, pero estricta.
2) Uses las reglas de inferencia como semántica. Olvídate de que \( \overline N \) sea Napoleón. \( \overline N \) son símbolos en papel. No hay interpretación de los símbolos. La semántica es cómo trabajes con esos símbolos.

En este caso sólo estaríamos hablando de cómo escribir las cosas de manera formal. No hay conceptos matemáticos. Sólo una normativa muy concreta de cómo escribir sobre el papel. El que esta normativa se corresponda a un tipo de pensamiento lógico es algo que veo difícil de demostrar, pero fácil de justificar.

Me estás diciendo (o eso entiendo yo) que cuando se trata de construir una teoría de conjuntos para estudiar lógica dentro de ella entonces ya no vale tu esquema de primero sintaxis y luego semántica, sino que en este contexto sólo hay sintaxis y no hay que preocuparse por ninguna semántica de respaldo, sino que sólo hay símbolos. Dices explícitamente que no hay interpretación. Pero si no hay interpretación, tampoco hay teoremas de corrección y de completitud.

Aunque ahora te hago una pregunta. Supón que tenemos esa deducción sintáctica. ¿Existe más de una semántica que permita que sea correcta y completa o sólo existe una?

Pues no lo sé. Ni es algo que me preocupe. Un cálculo deductivo de primer orden, para ser aceptable, debe ser completo (dado que está probado que si se elige adecuadamente puede serlo, por lo que sería absurdo renunciar a la completitud) respecto de la semántica. Que haya otras semánticas posibles es irrelevante. A lo sumo interesará a un lógico interesado en tecnicismos lógicos o a un filósofo interesado en tecnicismos filosóficos. Como ya te he explicado, a mí me interesa la teoría de conjuntos. La lógica la veo como una herramienta, y a un carpintero que tiene un martillo que le funciona perfectamente no le preocupa si puede haber otros martillos que le funcionen igual de bien.

¿No es más sencillo para el objetivo de fundar las matemáticas asumir que la deducción sintáctica es la semántica? De forma axiomática.

Pues no. En absoluto. Si, por ejemplo, quiero demostrar que a partir de los axiomas de ZFC no es posible demostrar la hipótesis del continuo, tengo que partir del hecho de que una posible demostración de la hipótesis del continuo sería una deducción sintáctica a partir de los axiomas de ZFC. Lo que se demuestra es que no existe una deducción sintáctica, no que no existe una deducción semántica. Se demuestra que si tuviera una deducción sintáctica de la hipótesis del continuo podría derivar de ella otra deducción sintáctica de una contradicción. Tratar de transformar ese argumento en un argumento semántico (aparte de que lo volvería no constructivo, cuando el argumento estándar es constructivo, dice explícitamente cómo construir la demostración de una contradicción a partir de una demostración hipotética de la hipótesis del continuo) sería necesario demostrar que la teoría de conjuntos tiene modelos supuesto que sea consistente, pero si has demostrado eso, entonces tienes ya la equivalencia entre la deducción sintáctica y la semántica, así que no necesitas tomar nada de forma axiomática.

Si quieres, justificada por la intuición. Estamos fundando, algo tiene que ser impuesto. En este caso, incluso, como bien dices, podemos demostrar a posteriori que nuestras reglas de inferencias eran correctas para una semántica descrita por conjuntos (una vez tengamos la teoría de conjuntos desarrollada).

Esa demostración a posteriori (dentro de la teoría de conjuntos) no es concluyente, porque si la teoría de conjuntos fuera contradictoria sería papel mojado. No puedes razonar dentro de la teoría de conjuntos para justificar que la lógica de la teoría de conjuntos satisface los requisitos de corrección y completitud, y esto tampoco es intuitivo en absoluto, es simplemente algo que se puede demostrar. Y tu propuesta de sustituir algo que se puede (luego se debe) demostrar por una definición o una imposición me sigue sonando a "deformación lógica" que lleva a algunos a pensar que la sintaxis es (o si conviene puede ser) algo arbitrario (impuesto) y ya está. Dices: "estamos fundando, algo tiene que ser impuesto." Ése es el problema, que la corrección y completitud de la lógica matemática no tiene que ser impuesta sino que puede ser demostrada semánticamente. Subestimas la importancia de la semántica.

En cualquier caso, en este asunto de los fundamentos de las matemáticas no soy en absoluto una persona informada del tema.

Pues es precisamente de eso de lo que quiero hablar en mi artículo. No de la construcción de la teoría de conjuntos, no pretendo llegar hasta ahí, sino de qué "obligaciones ineludibles" tiene la lógica de cara a fundamentar la teoría de conjuntos. Y esas obligaciones consisten en no olvidar que la sintaxis NO es arbitraria, sino que tiene que ser la adecuada para que se respeten unos requisitos semánticos, y que la mejor forma de comprender las obligaciones semánticas de la sintaxis es no permitir que se cuele ningun convenio sintáctico sin justificarlo debidamente con la semántica. No creo que eso confunda a los estudiantes, sino todo lo contrario, creo que es fundamental para amueblarles bien la cabeza.

Ese concepto más abstracto es el que se puede reutilizar en otras lógicas y por eso es útil.

Otras lógicas de interés reducido y minoritario. No creo que sea útil para un curso destinado a que un estudiante aprenda las nociones lógicas de utilidad en contextos no especializados.

Ya, pero yo en toda mi vida no he usado nunca ningún lenguaje formal que no sea de la lógica de primer orden...

Has usado, al menos, dos más: Latex y BBCode. Probablemente muchos más.

Cuando digo "usado" quiero decir usado teóricamente. Nunca he estudiado la gramática del LaTeX desde un punto de vista de la lógica matemática, ni nunca me hará falta (creo) hacer tal cosa. ¿Insinúas que en un curso de introducción a la lógica conviene aportar al estudiante herramientas que lo capaciten para estudiar teóricamente la sintaxis del LaTeX? No me parece serio.

En cualquier caso, rectificando mi afirmación falsa de antes: de todos los lenguajes formales que he tenido que tratar y que no caben en el esquema que presento en mi artículo, casi ninguno cabe en tu esquema general. Eso es lo malo de generalizar, que es como tratar de decir el número más grande. Nunca sabes si te encontrarás otro número mayor.

Ya indiqué en mi primer post que el esquema que ofrecía era uno reducido. En ningún caso es un esquema general, pero sí que es suficiente para la sintaxis de la lógica clásica de primer orden.

Pero yo veo aquí una contradicción en tu planteamiento. El argumento es:

Yo: Quiero explicar lógica de primer orden y proporciono las definiciones necesarias para ello.

Tú: Pero deberías presentar definiciones más generales para incluir otras lógicas.

Yo: Pero el esquema que propones incluye otras lógicas, pero casualmente no incluye las principales lógicas distintas de la lógica de primer orden que me he encontrado de forma natural al profundizar en la teoría de conjuntos.

Tú: Sí, pero incluye muchas otras que no te vas a encontrar nunca y que probablemente la mayoría de interesados en conocer la lógica de primer orden para manejarse en matemáticas tampoco se van a encontrar nunca.

Yo: ¿Y entonces cuál es la ventaja de tu propuesta, que me lleva a englobar lógicas que no necesito y excluye otras que sí que me han hecho falta?

Obviamente mis intereses específicos no tienen por qué ser los de otra persona interesada en la lógica y que no vaya a seguir exactamente los pasos que yo he seguido, pero precisamente por eso, ni intento meter con calzador un esquema general que englobe las lógicas que aparecen al estudiar los cardinales compactos y débilmente compactos, o las que permiten estudiar los ordinales admisibles, ni tampoco las que te puedan interesar a ti (si es que me respondes afirmativamente a mis preguntas anteriores sobre si tú has tenido ocasión realmente de usar las lógicas alternativas de que me hablas o simplemente las has leído o estudiado).

Yo sí he tenido ocasión de usar lógicas con conjunciones infinitas descritas mediante ordinales para entender ciertos resultados sobre cardinales grandes, pero no se me ocurre por ello pensar que sería conveniente presentar la lógica de primer orden de forma que englobe esos casos. ¿Qué me hubieras dicho si hubieras leído en mi hilo que presentaba la lógica de primer orden incluyendo conectores que relacionan infinitas fórmulas y cuantificadores que pueden llevar tras de sí infinitas variables? Me dirías que a qué viene eso. Que por qué no trabajo con fórmulas finitas, como todo el mundo, y yo te podría responder "como todo el mundo no, hay casos en los que tiene interés considerar lenguajes así", pero tú tendrías toda la razón del mundo en que es absurdo trabajar con ese grado de generalidad sólo por si a un estudiante le da en un futuro lejano por estudiar cardinales compactos.

En cualquier caso, no deja de ser una ventaja tener todo el proceso debidamente ordenado y nominado. La nomenclatura es importante.

Yo doy nombre a todo lo que uso. Sólo que defino lenguaje formal de primer orden sin dar un concepto más general de lenguaje formal. No es lo mismo usar algo sin darle nombre que introducir conceptos más generales que los que vas a necesitar. En cuanto a lo de "debidamente ordenado", no veo por qué explicar la sintaxis paralelamente a la semántica no sea un "orden debido".

Es posible que el ejemplo no sea el más propio, lo que no quita que una separación en partes facilite la comprensión y la localización de errores.

No veo por qué separar lo que está íntimamente relacionado facilite la comprensión de nada. Más bien dificulta la comprensión y provoca errores conceptuales.

Obviamente, cuanto menos breve seas, mejor te explicarás...

Lo siento. No creo que eso sea cierto.

 ??? Pensaba que estaba repitiendo tus palabras:

5) Concreción. Hemos tardado un poco más en definir lo que es un lenguaje formal, pero luego definimos la sintaxis con mucha más brevedad. A menor brevedad, menos margen para ambigüedades, lapsus, errores de comprensión o de cualquier otro tipo.

Si te entiendo bien, una de las ventajas que según tú tiene trabajar más en general es que dedicas más tiempo a explicar las herramientas y que a menor brevedad (cuanto menos breve seas) menos margen para errores (más claro estará todo). ¿No he entendido bien tu argumento?

Incluso aunque la explicación sea buena, una longitud excesiva puede provocar cansancio o que una repetición de algo se interprete de manera distinta a la primera aparición provocando dudas.

¿Y eso es malo? Si al oír dos veces lo mismo se llega a interpretaciones distintas, puede ocurrir que la interpretación correcta sea la segunda, con lo que sin la repetición habría quedado ahí el error, mientras que la repetición puede subsanarlo. De todos modos, no estaba hablando de repetir, sino de explicar con más detalle. Y si uno considera que algo ya lo tiene claro siempre puede pasar página.

Me alegra poder hablar de estos temas (tantos y tan variados). Mucho me temo que se acaba el fin de semana y no sé qué tiempo le podré dedicar durante la semana al foro. Lamento no poder seguir este ritmo ya que la conversación ahora fresca se hará pesada. Lo que está claro es que escribes mucho más deprisa que yo, Carlos.

No. Lo que está claro es que vivo en Valencia, que son fallas y que tengo una verbena debajo de mi casa que no para hasta las cuatro de la mañana, así que no puedo dormir.  >:(

Pero la verdad es que no veo que haya mucho más que decir. Después de haber leído atentamente todo lo que has dicho, no es que no me convenzas, es que sigo sin ver qué razones puede haber (independientemente de que me convenzan o no) para meter en un artículo que pretende incidir en los aspectos conceptuales de la lógica de primer orden y su papel en la fundamentación del razonamiento matemático definiciones generales que trascienden el alcance pretendido (para incluir posibles desarrollos ulteriores de otras lógicas de interés reducido a especialistas, y a la vez excluir otras lógicas también de interés reducido a especialistas) ni qué motivos puede haber (me convenzan o no) para considerar que contrastar paso a paso la sintaxis con la semántica sea "no guardar el orden debido".

18 Marzo, 2013, 05:49 am
Respuesta #19

argentinator

  • Consultar la FIRMAPEDIA
  • Administrador
  • Mensajes: 7,292
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
  • Vean mis posts activos en mi página personal
    • Mis posts activos (click aquí)
Bueno, no es que quiera meter más picante en la discusión, pero hablando con gdl por privado me confesó que fue él quien organizó la verbena en tu edificio.   :P

Yo veo que gdl viene con inquietudes interesantes y con ganas de conversar sobre las distintas lógicas y temas relacionados.
Por otra parte, se mezcla eso con una discusión sobre el artículo de Carlos y sobre qué es más apropiado o no en el modo de exponerlo.

gdl: Por un lado este hilo no se refiere a "otras lógicas", y además visiblemente Carlos no está interesado en discutir esas "otras lógicas". No sería éste un lugar apropiado para extenderse demasiado sobre eso.

A mí me interesan todas las lógicas alternativas, toda la discusión en torno a los fundamentos de la matemática, y problemas relacionados, pero es muy poco lo que podría aportar en un debate de ese tipo.
No sé si hay mucha gente hoy día en el foro con ganas de entrar profundamente en esos temas,
pero podrías hacer el intento de abrir un hilo en el foro de Lógica.

____________

En cuanto a la discusión de cuál método es mejor para exponer la Lógica de 1er orden,
por un lado me asusta que el tono suba y se convierta en agresión.  :o
Pero por otra parte la discusión misma me parece interesante, y me da la sensación de que Carlos está peleando contra una forma de hacer las cosas que, según él, causa en general más confusión que claridad.

Yo no sé decir si un método es mejor que otro,
pero sí pienso que cuando andamos en terrenos metamatemáticos,
es importante ser bien explícito en todo lo que se hace, decir bien cuáles son las intenciones, los supuestos,
cuál se supone que es la metodología válida allí, qué se hace y por qué.

Esto es importante para aquellos que quieran hacer algo más que sólo "creerse" lo que está escrito en un libro,
porque si es por eso, yo me creo todo.
Cuando quiero escribir yo mismo algo con rigor, quiero saber con qué reglas estamos jugando, para que no me vengan con jugadas "sorpresa".

Así que me gusta este intento de Carlos de introducir la lógica de 1er orden en el modo en que lo está haciendo.
A mí por lo menos me está sirviendo, aún cuando tras estos años ya me he quitado varias dudas, pero siempre queda algo en el tintero.

Cuando alguien presenta una teoría matemática "dentro de ZFC", puede hacerlo desde las más abstractas y pedantes definiciones.
Puede que sea antipedagógico, que no se entienda para qué, cuál es la intención, la motivación,
ni que se distingan los conceptos útiles de los inútiles, pero aún así es aceptable, porque hay un marco formal de fondo, y las cosas marchan de todos modos. Las demostraciones dan lo que tienen que dar, etc.

Pero al presentar la lógica, que es la que luego se usa para establecer los marcos formales, y dado que ella misma no reside en "aguas formales", sino que tiene que extraerse de alguna forma del difuso contexto del lenguaje hablado, entonces sí que es importante aclarar todo lo que se hace, con todas las intenciones y la razón de ser de cada cosa.

Así que acá concuerdo mucho con Carlos, aunque mis motivos quizá sean distintos a los suyos.
(Es una coincidencia política, aunque no ideológica.)
Porque si no, al introducir unas reglas sintácticas sólo porque sí, aparece un formalismo de repente que no se sabe ni de dónde viene ni hacia dónde va.

Si yo me topo de repente con un libro así, lo primero que voy a pensar es que está definiendo conceptos "dentro de ZFC".
Es decir, si el autor introduce sin anestesia un lenguaje, una sintaxis, unos conjuntos, relaciones, y demás conceptos,
todo en un formato estrictamente formal, mecánico, sin aclarar demasiado el contexto o el sentido de las cosas,
no voy a poder discernir en qué "país" estoy andando. ¿Hay un marco formal previo, o se lo está inventando ahí?

(Sigo con la geografía).

En algún momento me gustaría entender "en qué país" andan esas lógicas que viven "en pie de igualdad" con la lógica de 1er orden (imagino que es el mismo territorio). Pero no tengo apuro. Aunque si alguien me responde, no voy a dejar de aprovecharlo.