(El conjunto de los números naturales N comienza en 0 para mí).
Sea X denotan un conjunto, y definimos X⊥=X⊎{⊥}. Sea else denota la operación binaria sobre X⊥ definida del siguiente modo.
- Si x∈X entonces xelsey=x .
- Si x=⊥ entonces xelsey=y .
De ello se deduce que else es una operación asociativa (normalmente no conmutativa) con identidad ⊥ . Por lo tanto, else hace X⊥ en un monoide, que podría llamarse razonablemente el "monoide else sobre X ."
Pregunta. ¿Dónde puedo obtener más información sobre la operación? else y/o el "else-monoid"?
Aquí hay algunas cosas que podemos hacer con él. Si f,g:X→Y son parcial funciones que coinciden en su intersección, entonces existe una función parcial correspondiente f∪g:X→Y al afirmar que (f∪g)(x)=f(x) siempre que f(x) está bien definido, y que (f∪g)(x)=g(x) siempre que g(x) está bien definida. Sin embargo, f et g ¡pueden no coincidir en su intersección! No se preocupe, else viene al rescate. Recordemos que las funciones parciales son "lo mismo" que los homomorfismos preservadores del punto base. Por lo tanto, tiene sentido definir que (felseg)(x)=f(x)elseg(x), donde imaginamos que f et g devolver ⊥ en puntos de su dominio en los que no están definidos. Por lo tanto, felseg está de acuerdo con f∪g siempre que la segunda esté bien definida; sin embargo, la ventaja de la primera es que es siempre definido.
He aquí una aplicación extremadamente sencilla. Si a:N→R es una secuencia de números reales, entonces es posible que queramos definir la turno de a como la secuencia Sh(a):N→R definida del siguiente modo.
- Sh(a)0=0
- Sh(a)i+1=ai
Se trata de una transformación lineal; Sh aparece como un importante contraejemplo en el análisis funcional. De hecho, pensando en términos de series de potencias formales, Sh es básicamente la multiplicación por x . Explícitamente:
x⋅∑i:Naixi=∑i:NSh(a)ixi
Bien, he aquí una observación genial: podemos dar una descripción más simple de Sh utilizando el else operación. A saber:
Sh(a)i=ai−1else0
Básicamente, esto funciona porque else da una acción de funciones parciales sobre funciones totales. Es decir, dada una función parcial p:X→Y y una función total f:X→Y obtenemos una nueva función total pelsef calculado puntualmente. Esto da una acción del monoide (PartialFunctions(X,Y),else,⊥) en el plató TotalFunctions(X,Y) . La definición anterior de Sh(a) se obtiene teniendo la función parcial i∈N↦ai−1 actúan sobre la función total i∈N↦0 con lo que se obtiene una nueva función total. Me pregunto si hay argumentos complicados que impliquen funciones híbridas que puedan simplificarse utilizando else .