En general, el lenguaje interno de un topos sólo puede expresar aquellas afirmaciones que tienen sentido en cada topos. En esencia, esto te limita a algo parecido a la teoría de conjuntos de Zermelo acotada, sin pertenencia global.
La forma correcta de utilizar el lenguaje interno de un particular topos, como su topos de grafos dirigidos, es enriquecer el lenguaje interno general de los topos con nuevos tipos primitivos y nuevos axiomas. Si tiene suerte, podrá añadir sólo el axioma y definir los nuevos tipos (es decir, los nuevos tipos pueden caracterizarse en el lenguaje interno). Veamos cuáles pueden ser en el caso del topos de grafos dirigidos.
Dado que estamos tratando con un topos presheaf podemos decir de antemano que la incrustación (covariante) de Yoneda y:G→SetGy:G→SetG nos dará algo importante. Así es, y(V)y(V) es el gráfico con un vértice y sin flechas, mientras que y(A)y(A) es el grafo con dos vértices y una flecha entre ellos. Permíteme escribir VV y AA en lugar de y(V)y(V) y y(A)y(A) respectivamente. Podríamos llamar VV "el vértice" y AA "la flecha". Obviamente, llamamos "grafos" a los objetos de nuestro topos.
Cálculos sencillos revelan que, para un gráfico dado GG :
- G×VG×V es el grafo discreto asociado en los vértices de GG .
- GVGV es el grafo completo asociado en los vértices de GG .
- G×AG×A es el siguiente gráfico: para cada vértice gg en GG obtenemos dos vértices (g,s)(g,s) y (g,y)(g,y) en G×AG×A (piense en ellos como " gg como fuente" y " gg como objetivo"), y para cada flecha a:g→g′ en G obtenemos una flecha a:(g,s)→(g′,t) en G×A . Esto probablemente signifique algo para los teóricos del grafismo, no me sorprendería que tuvieran un nombre para ello.
- GA es el "grafo de flechas" asociado: los vértices de GA son pares de vértices (g,g′) de G y para cada flecha a:g→h obtenemos una flecha a:(g,g′)→(h′,h) en GA . Esto tiene más sentido una vez que se calculan los puntos globales de GA corresponden exactamente a las flechas de G . Además, es útil pensar en los vértices de GA como "flechas potenciales de G ".
Ya podemos responder a algunas de sus preguntas:
- Un gráfico G es discreta cuando la proyección G×V→G está dentro.
- Un gráfico G es completo cuando el mapa canónico G→GV está dentro.
Te gustaría tener el gráfico de caminos Path(G) de un gráfico dado G . Creo que has descrito el gadget equivocado, es decir, lo que deberías buscar es un gráfico cuyo puntos globales son las trayectorias en G pero habrá muchas otras cosas "potenciales" flotando por ahí. Hasta ahora no hemos utilizado el hecho de que hay dos morfismos s,t:A→V . Esto nos permite formar "caminos genéricos de longitud n " Pn como pullbacks: P1=A , P2=A×VA es el pullback de s:A→V y t:A→V etc. Con un poco de cuidado deberíamos ser capaces de formar el objeto de "caminos genéricos" P equipado con una operación de concatenación que lo convierte en un monoide. Voy a suponer ingenuamente que los vértices de P son pares de números naturales (k,n) con k<n y que las flechas son de la forma (k,n)→(k+1,n) . Pero esto hay que comprobarlo, y en cualquier caso debería ser posible definir lo "correcto" P internamente. El gráfico Path(G) que busca debe ser la suma dependiente ∑p:PGp (y esto se parece mucho a un functor polinómico). La estructura monoide de P debería darte una mónada.
En cuanto a los caminos cíclicos (tú los llamas bucles): si no me equivoco los grafos internamente proyectivos son aquellos grafos cuyos grados de entrada y salida son todos 1, es decir, los ciclos y el camino infinito que se extiende en ambas direcciones. Esto debería ayudar a entender los caminos cíclicos. Que un grafo G es internamente proyectiva puede expresarse en el lenguaje interno como "cada G -la familia indexada de grafos habitados tiene una función de elección", es decir, se trata de los objetos que satisfacen el axioma de elección, internamente.
El vértice V es un subobjeto del objeto terminal 1 que es el grafo con un único vértice y una única flecha. Por lo tanto, existe un valor de verdad correspondiente v∈Ω que es una especie de valor de verdad "intermedio". Podemos definir un operador de cierre j:Ω→Ω (una modalidad) por j(p)=(v⇒p) . Esta modalidad debería denominarse "de vértice". En efecto, si H↪G es un subgrafo de G entonces su j -cierre ˉH↪G es el subgrafo de G inducida por los vértices de H . Ah, pero esto es entonces lo mismo que el complemento del complemento de H por lo que vemos que j es sólo el cierre de la doble negación. (Espero estar haciéndolo bien, hablo de memoria). Si estoy en lo cierto, entonces podemos definir V en el lenguaje interno, utilizando un axioma:
Axioma: existe un valor de verdad v∈Ω tal que (v⇒p)=¬¬p para todos p∈Ω .
Entonces V={∗∈1∣v} . Todavía tenemos que hacer algo A Sin embargo.
En cualquier caso, mi experiencia con los lenguajes internos es que merece la pena utilizarlos. Sin embargo, hay que esforzarse un poco para encontrar la mejor manera de configurar el lenguaje interno de un topos concreto. La idea general es introducir el menor número posible de tipos nuevos, caracterizarlos con axiomas adecuadamente elegidos y averiguar qué otros axiomas útiles son válidos en tu topos.
3 votos
Sospecho que la respuesta a todas tus preguntas, salvo a la de la finitud, es no. En la lógica interna de un topos, los objetos son "conjuntos" y no tienen ninguna otra estructura interna. Eso no quiere decir que no podamos añadir artilugios adicionales para hacer visible esa estructura interna -por ejemplo, podríamos introducir algunos operadores locales para extraer el conjunto de aristas y el conjunto de vértices-, pero entonces también podríamos trabajar desde el punto de vista externo.
0 votos
David, me resulta muy difícil precisar tu pregunta. La razón es que en una lógica interna de cualquier categoría hablamos de interno cosas. Por ejemplo, no hay ninguna fórmula interna "X es un grafo finito" verdadera para todos los grafos finitos (en cualquier sentido), porque "X" tiene que estar limitado a la estructura interna de un objeto de la categoría. (cont)
0 votos
Por otra parte, para un grafo G dado, una fórmula "X es un grafo finito" (es decir, X es un subgrafo de G y es finito) puede construirse fácilmente tomando la gran disyunción sobre todos los subgrafos finitos (en cualquier sentido) de G (en las topos cocompletas, las álgebras de subobjetos tienen disyunciones arbitrarias).
1 votos
La idea de utilizar una lógica interna no es razonar en una categoría particular, sino realizar un razonamiento uniforme para todas las categorías que satisfacen algunas propiedades --- exactamente de la misma manera que no tiene sentido utilizar la lógica de un álgebra de Heyting particular para razonar sobre esa álgebra de Heyting.
4 votos
En realidad, Kuratowski-finiteness puede formularse dentro de la lógica geométrica, y un objeto Kuratowski-finito en GrphGrph es precisamente un grafo GG con un número finito de aristas y un número finito de vértices, tal que los dos mapas G(A)→G(V)G(A)→G(V) son suryectivas. De hecho, los grafos finitos son precisamente los Kuratowski- subfinito objetos.
4 votos
@Zhen Lin: cierto, la lógica interna habla de todos los objetos como si fueran conjuntos no estructurados. Pero aún así, a menudo se pueden reexpresar nociones locales externas en estos términos; véase, por ejemplo, la construcción interna de una sheafificación. Hablar de operadores locales, por ejemplo, no es añadir nada extra: pueden describirse completamente utilizando la propia lógica interna, como construcciones basadas en ciertos elementos de P(Ω)P(Ω) . (Desde el punto de vista interno, no son más que topologías de Grothendieck sobre la categoría terminal).
2 votos
@Michal: un consiste en utilizar el lenguaje interno de una clase de categorías para demostrar sus propiedades generales. Otro idea es utilizar el lenguaje interno de un particular categoría para demostrar sus propiedades. @Zhen Lin: sospechas mal, el juego aquí es precisamente para averiguar qué extras debe añadirse al lenguaje interno general de los topos. En la pregunta nunca se dijo nada de utilizar sólo el lenguaje interno "puro" de los topos.
0 votos
@Andrej, me gusta mucho tu respuesta --- y no sólo :-) porque (junto con tu conversación con François) apoya lo que he dicho en los comentarios anteriores. En primer lugar, has caracterizado externamente un objeto VV y añadió sus propiedades "externas" como una especie de axiomas a la lógica interna de un topos. Esto corresponde aproximadamente a utilizar la lógica interna de la categoría Grph. (cont)
0 votos
Sin embargo, tanto usted como François consideraron que tal lógica no es realmente conveniente (es decir, mostrar cualquier cosa en tal lógica es esencialmente lo mismo que mostrar que las cosas externamente), por lo que intentaron caracterizar VV en la lógica interna de cualquier topos y llegó al axioma "hay un valor de verdad v∈Ωv∈Ω tal que (v→p)=¬¬p(v→p)=¬¬p para todos p∈Ωp∈Ω ". (cont)
0 votos
Pero ahora no estás razonando en la lógica interna de Grph, sino en la lógica interna de todas (o cualquiera) las topos elementales que satisfacen tu axioma (por supuesto, tal lógica es bastante inútil hasta que puedas mostrar cualquier hecho interesante no trivial sobre los objetos que satisfacen tus definiciones). Si he entendido bien la idea que subyace a la primera pregunta de François "¿Por qué es importante que VV que sea definible sin parámetros?", se trataba exactamente de "¿Por qué es importante que VV ser caracterizable en la lógica interna de un topos?". (cont)
0 votos
Y si he entendido bien su respuesta, fue: "Porque es difícil incorporar propiedades externas de un objeto con razonamientos internos en un topos de forma fluida".