Cuando me enseñaron la lógica de primer orden, empezaron con las definiciones de alfabeto, término, sustitución, igualdad, unificación, etc. Realmente antes habíamos visto los términos, las gramáticas, autómatas y demás, pero nunca desde el punto de vista algebraico.
En un caso era demasiado complejo y en otro demasiado general. Aquí explico lo que es el álgebra de términos de la manera más simple y sencilla posible. A partir de estas definiciones se pueden explorar otras estructuras y operaciones matemáticas con un buen fundamento.
El alfabeto
Supongamos que tenemos un alfabeto de símbolos (que llamaremos funtores) de forma que cada funtor tenga una aridad.
A=(F,a)a:F \rightarrow \mathbb{N}
Este alfabeto no podrá ser vacío ni no numerable.
0<\left| F \right| \le \aleph_0Cuando la aridad de un funtor es cero, se denomina entonces constante.
Nota: Los símbolos de los paréntesis y las comas están reservados y no podrán formar parte de nuestro alfabeto. Estos símbolos son los que se usan para construir los términos.
Nota: Usaremos las letras del inicio del alfabeto para las constantes (a,b,c) y del medio para los funtores (f,g,h).
Los términos
Llamamos variables a otros símbolos tomados de un conjunto infinito y numerable.
\left| V \right| = \aleph_0Nota: Usaremos las letras del final del alfabeto para las variables.
\left\{ x,y,z\right\} \subset VEl conjunto de términos de primer orden se define como el menor conjunto T(A,V)
tal que
V\subset T(A,V)y
M_1,...,M_n \in T(A,V), f\in F \Rightarrow f(M_1,...,M_n) \in T(A,V)Por ejemplo, si nuestro alfabeto fuera a,b,+ con a y b constantes y con + de aridad dos, algunos términos serían.
- a()
- b()
- +(a(),a())
- +(a(),b())
- +(x,b())
- x
En muchos casos se permite la licencia de omitir los paréntesis vacíos y usar otras notaciones como la infija o la circunfija. Los ejemplos de arriba serían entonces:
- a
- b
- a+a
- a+b
- x+b
- x
Términos con indefinido
Muchas veces es útil añadir un valor indefinido para denotar un error o algún valor excepcional. En estos casos se define
T^\Omega(A,V)=T(A,V)\cup \left\{ \Omega \right\}Obviamente, el valor indefinido no debe estar ni entre los funtores ni entre las variables.
\Omega \not \in V
Igualdad de términos
Dos términos son iguales si lo son símbolo a símbolo. Esta relación se puede definir recursivamente sobre la estructura de los términos:
x = x\frac{M_1=M'_1,...,M_n=M'_n}{f (M_1,...,M_n) = f (M'_1,...,M'_n)}
0 comentarios:
Publicar un comentario