Pregunta. ¿Se ha considerado en la literatura el siguiente concepto, o algo similar?
Definición. En acción/predicado consiste en conjuntos $A$ (las acciones) y $X$ (los predicados) tales que se cumpla lo siguiente.
- $A$ forma un monoide
- $X$ forma una red booleana
- Existe una acción monoide $A \times X \rightarrow X$ denotado $ax$ tal que para todo $a \in A$ tenemos que la función $x \in X \mapsto ax \in X$ es un endomorfismo de $X$ . Intuitivamente, $ax$ significa "el predicado que devuelve $\mathtt{True}$ precisamente en los Estados en los que $a$ provoca $x$ ."
-
Existe una función $\sim \,: A \times A \rightarrow X$ sujeto a los siguientes axiomas. Intuitivamente, $a \sim b$ significa "el predicado que devuelve $\mathtt{True}$ precisamente en los Estados en los que $a$ tiene el mismo efecto que $b$ ."
- Reflexividad. $\forall a \in A : \top \leq (a \sim a)$
- Simetría. $\forall a,b \in A : (a \sim b) \leq (b \sim a)$
- Transitividad. $\forall a,b,c \in A : (a \sim b) \wedge (b \sim c) \leq (a \sim c)$
- Compatibilidad I. $$\forall a,b,c \in A : (a \sim b) \leq (ac \sim bc),\quad \forall a,b,c \in A : (a \sim b) \leq (ca \sim cb)$$
- Compatibilidad II. $\forall a,b \in A,\;\forall x \in X : (a \sim b) \leq (ax \leftrightarrow bx)$
Reiteración de la pregunta. ¿Se ha tenido esto en cuenta en la bibliografía? En caso afirmativo, ¿cuál es la terminología correcta para este tipo de estructuras y dónde puedo obtener más información?
Intuición. En primer lugar, podemos pensar en las acciones como si fueran "órdenes" en un lenguaje de programación; mueven la máquina a un nuevo estado, en función de su estado actual. La unidad $1 \in A$ es el comando que no hace nada; además, si $a$ y $b$ son comandos, entonces $ab$ es el resultado de realizar primero $a$ entonces $b$ .
En segundo lugar, podemos pensar que los predicados son... bueno, predicados; en el sentido de que devuelven verdadero/falso en función del estado actual de la máquina. Además, si $a$ es una acción y $x$ es un predicado, entonces $ax$ puede considerarse como el predicado que devuelve $\mathtt{true}$ precisamente para los estados en los que la acción $a$ si se lleva a cabo, provocaría $x$ . Así, podemos leer " $ax"$ como " $a$ provoca $x$ ."
En tercer lugar, la estipulación de que dicha acción sea un homomorfismo de álgebras booleanas puede motivarse por la observación de que las siguientes afirmaciones deberían ser equivalentes.
- Estamos en un estado tal que realizar $a$ provocaría $x \vee y$ .
- Estamos en un estado tal que o bien realizando $a$ provocaría $x$ , o realizando $a$ provocaría $y$ .
Esto corresponde al axioma $a(x \vee y) = ax \vee ay$ . Un razonamiento lingüístico similar puede motivar el resto de la estipulación de homomorfismo.
En cuarto y último lugar, la función $\sim : A \times A \rightarrow X$ puede interpretarse de la siguiente manera. Si $a,b \in A$ son acciones, entonces $a \sim b$ es el predicado que devuelve $\mathtt{true}$ precisamente para aquellos Estados en los que la promulgación $a$ cambiaría la máquina al mismo estado que lo haría promulgar $b$ . Los axiomas asociados a $\sim$ están motivados por este motivo.
Un poco más de motivación. He aquí algunas cosas básicas que podemos expresar en este lenguaje.
- En cualquier Estado en el que $x$ se cumple, tenemos que $a$ provoca $y$ .
$$x \leq ay$$
- En general, la acción $a$ hace que $x$ implica $y$ .
$$\top \leq a(x \rightarrow y)$$
- En cualquier Estado en el que $x$ retenciones, $a$ tiene el mismo efecto que $b$ .
$$x \leq (a \sim b)$$