Un paquete para c´alculos en reticulados
Cecilia R. Cimadamore y Sebasti´an J. Ferraro
Departamento de Matem´atica
Universidad Nacional del Sur, Av. Alem 1253
8000 Bah´ıa Blanca
{
crcima
,
sferraro
}
@criba.edu.ar
Resumen
En este trabajo presentamos un paquete que hemos desarrollado para manejar y visualizar re-ticulados y ´algebras de Łukasiewicz finitos. Este provee al investigador matem´atico herramientas para realizar en forma sencilla c´alculos que normalmente conllevan un arduo trabajo. El paquete ha sido probado con numerosos ejemplos por miembros de un grupo de investigaci´on en l´ogica algebraica de nuestra universidad. Su dise˜no orientado a objetos prev´e su expansi´on futura.
Palabras clave: ´algebra computacional, inform´atica aplicada a matem´atica, l´ogica algebraica, reticulados distributivos.
1.
Introducci´on
Los investigadores en el ´area de la l´ogica algebraica han realizado tradicionalmente a mano los c´alculos en reticulados con estructura matem´atica adicional. Para ejemplos relativamente pe-que˜nos, ´estos se hacen extremadamente engorrosos, requieren tiempos de trabajo prolongados y la probabilidad de cometer errores aumenta. Existe una necesidad concreta en los grupos de tra-bajo de generar ejemplos para verificar hip´otesis. Para ciertos ejemplos de mediana complejidad, la forma de trabajo usual requiere tiempos prohibitivamente largos.
La utilizaci´on de la computadora surge naturalmente como una soluci´on a este problema. Dada la falta de programas adecuados para el manejo de estas estructuras algebraicas, hemos dise˜nado e implementado un paquete para Matlab con el fin de facilitar la labor del investigador.
2.
Reticulados y Algebras de Łukasiewicz
Unreticulado Les un poset (conjunto parcialmente ordenado) donde todo par de elementos posee ´ınfimo y supremo, operaciones denotadas por∧y∨. En este trabajo consideraremos ´unica-mente reticulados finitos que posean primer y ´ultimo elemento y que sean distributivos, esto es,
x∧(y∨z) = (x∧y)∨(x∧z)para todox,y,z∈L.
Se define la secci´on superior de un subconjunto S en un poset dado P como el conjunto
[S) ={x∈P|x≥s,para alg´uns∈S}. Se dice que S escreciente si[S) =S. Los subconjuntos crecientes dePordenados por la relaci´on de inclusi´on forman un reticulado que notaremosD(P). Este reticulado es de capital importancia en la teor´ıa general de reticulados distributivos. (ver [7, 8]).
Un operadorC: L→L se dice de clausura si verifica las siguientes propiedades para todo
(C1) C0=0,
(C2) x≤Cx,
(C3) C(x∧y) =Cx∧Cy,
(C4) CCx=Cx.
Los elementosx∈Ltales queCx=xse dicencerrados, y el conjunto de elementos cerrados deLse denota porC(L). Es posible reconstruir el operadorCun´ıvocamente a partir deC(L)(ver por ejemplo [1]). Dado un subconjuntoSde un reticulado finitoL, existe un operador de clausura
Ctal queS=C(L)si y s´olo si
(c1) S es un subreticulado de L, es decir, contiene al primer y al ´ultimo elemento de L y es cerrado por∧y∨
(ver por ejemplo [1]). El operadorCes la aplicaci´on que a cadax∈Lle asigna el primer elemento de{y∈S|x≤y}, cuya existencia puede ser probada usando (c1) y la condici´on de finitud.
La noci´on de ´algebras de Łukasiewicz de orden n, on-valentes, fue introducida por Gr. C. Moisil [4]. Presentaremos aqu´ı las definiciones b´asicas, pudiendo el lector encontrar m´as infor-maci´on en [5, 2, 6, 3, 9, 10].
Un ´algebra de Łukasiewicz n-valente L,nentero mayor o igual a 2, es un reticulado distribu-tivo con un operador unario∼de negaci´on de de Morgan yn−1 operadores unariosϕ1, . . . ,ϕn−1
satisfaciendo una serie de identidades.(referenicias) Todos estos operadores toman valores enL. El ejemplo m´as importante de un ´algebra de Łukasiewicz de orden nes la cadena den ele-mentosCncuyos elementos son 0,n−11, n−21,. . ., 1, con el orden usual. La negaci´on est´a dada por
∼n−j1 =1−n−j1, y los operadoresϕison
ϕi
j n−1
=
0, sii+j<n, 1, sii+j≥n.
Las sub´algebras deCnson cadenas en cuanto a su estructura de posets, y heredan los opera-dores y el orden deCn. Es sabido que toda ´algebra de Łukasiewicz finita de ordennes producto directo de sub´algebras deCn(ver [3]).
Un ´algebra de Łukasiewicz se dicede clausurasi est´a provista de un operador de clausuraC
que verifica la propiedad adicional
(C5) Cϕix=ϕiCx,1≤i≤n−1,x∈L.
Es un problema abierto encontrar una condici´on adicional sobre S que asegure queC satisfaga adem´as (C5). El enfoque actual es construirCa partir deSy comprobar la validez de (C5).
En un ´algebra de Łukasiewicz de clausura es importante calcular los elementosxque verifican
∼C∼x=x, denominadosabiertos.
3.
El paquete Lattice
3.1.
Principales caracter´ısticas del paquete
El paquete permite al usuario definir objetos en el entorno Matlab. Un objetoposetrepresenta un conjunto parcialmente ordenado finito, y contiene la relaci´on de orden y etiquetas de texto para los elementos. Pueden construirse tanto cadenas de longitud arbitraria como posets con relaciones especificadas por el usuario mediante f´ormulas num´ericas. Tambi´en se puede construir el producto directo, la suma ordinal y la uni´on disjunta de posets.
Dados dos elementos de un objetoposet(identificados por sus etiquetas), ´este puede informar si se encuentran en relaci´on y calcular su supremo e ´ınfimo. Dado un subconjuntoS, determina
W
x∈Sxy
V
x∈Sx. Calcula adem´as la secci´on superior de un elementox, intersectada opcionalmente con un subconjuntoSdado como argumento, es decir,{y∈S|x≤y}(an´alogamente para la secci´on inferior).
Esta clase posee una implementaci´on de un algoritmo propio para la creaci´on de diagramas de Hasse, lo que resulta una herramienta de mucha utilidad en la visualizaci´on. Opcionalmente puede resaltar un subconjunto de elementos dado.
La clase latticeest´a derivada deposet, y contiene tablas para los operadores de ´ınfimo y supremo a fin de agilizar c´alculos posteriores. Puede construirse un lattice a partir de un posetP dado de dos formas distintas. La primera es copiar el posetcomo est´a, comprobando opcionalmente que efectivamente sea un reticulado (distributivo). La segunda es crear el reticulado
Ltal queL=D(P).
Dado un subconjuntoSde un reticuladoL, la clase posee m´etodos para determinar si se trata de un subreticulado. En este caso puede construir el operador de clausuraC tal queC(L) =S. Tambi´en puede comprobar si un operador dado por el usuario es de clausura, y determinar los elementos cerrados.
La clase luka est´a derivada de lattice e incorpora las estructuras propias de un ´algebra de Łukasiewicz. El usuario puede construir objetoslukacomo cadenasCn, sub´algebras deCn y productos directos de ´estas.
Dado un operador de clausura sobre el reticulado distributivo subyacente, verifica la validez de (C5), comprobando as´ı que es un operador de clausura de Łukasiewicz, pudi´endose calcular el conjunto de elementos abiertos.
Todas estas clases poseen m´etodos para presentar los operadores de una forma ´util para el usuario. El programa genera tablas en formato LATEX y csv, permitiendo su inclusi´on en
documen-tos o su manipulaci´on en planillas de c´alculo.
3.2.
Ejemplos
La siguiente porci´on de c´odigo define un posetPusando la relaci´on “divide” entre naturales y calcula el reticuladoDdel cual es dual. Se grafican tambi´en los diagramas de Hasse respectivos (Figura 1).
P=poset([1 2 3 9 18],’xRy <=> mod(y,x)==0’); D=lattice(P,’dual’);
hasse(P); hasse(D);
En el siguiente ejemplo se muestra c´omo se define el ´algebra de ŁukasiewiczL=C2×C2×C3
1
2 3
9 18
(empty) {18} {9,18} {3,9,18}
[image:4.612.138.457.54.184.2]{2,18} {2,9,18} {2,3,9,18} {1,2,3,9,18}
Figura 1:Diagramas de Hasse dePyDgenerados por la funci´onhasse
(0,0,0) (0,0,1/2)
(0,0,1)
(0,1,0) (0,1,1/2)
(0,1,1)
(1,0,0) (1,0,1/2)
(1,0,1)
(1,1,0) (1,1,1/2)
(1,1,1)
Figura 2:Diagrama de Hasse deLcon los elementos abiertos resaltados
A=luka(3);
B=subcadenaluka(A,{’0’,’1’}); L=B*B*A;
S={’(0,0,0)’,’(0,0,1/2)’,’(0,0,1)’,’(1,0,1)’,’(0,1,1)’,’(1,1,1)’}; hasse(L,S); % resalta los elementos de S en el Hasse de L
C=opclausura(L,S); % crea, si es posible, el operador % de clausura C con C(L)=S
if esclauluka(L,C)
fprintf(’Es de clausura de Lukasiewicz\n’); Q=abiertos(L,C);
hasse(L,Q); end
creartablaop(L,C,’clausura.csv’); % en formato csv (default) creartablaphi(L,’phi.tex’,’latex’);
La siguiente tabla se gener´o insertando el archivo phi.tex en este punto del documento y quitando las cuatro ´ultimas columnas para mayor claridad.
(0,0,0) (0,0,1/2) (0,0,1) (0,1,0) (0,1,1/2) (0,1,1) (1,0,0) (1,0,1/2)
ϕ1 (0,0,0) (0,0,0) (0,0,1) (0,1,0) (0,1,0) (0,1,1) (1,0,0) (1,0,0)
[image:4.612.198.398.237.377.2]4.
Conclusiones y trabajo futuro
Se ha dise˜nado un paquete de software que permite trabajar con posets, reticulados y ´algebras de Łukasiewicz. Realiza c´omputos automatizados que representan un ahorro de tiempo significa-tivo y presenta los resultados en forma amigable. Al funcionar como una extensi´on del lenguaje Matlab, el usuario puede crear programas complejos que utilicen este paquete como herramienta. Este software ha sido utilizado extensivamente por nuestro grupo de trabajo en ´algebra de la l´ogica para la verificaci´on de hip´otesis. Esta experiencia ha servido para probar los algoritmos e incorporar mejoras. Los usuarios de nuestro grupo han proporcionado adem´as valiosas sugeren-cias.
Se planea incluir nuevas funcionalidades para construcciones frecuentes en la teor´ıa de re-ticulados, por ejemplo, la obtenci´on del poset dualPde un reticulado L, esto es, el posetP tal queD(P) =L. Tambi´en ser´ıa de utilidad definir nuevas clases en la estructura actual, que corres-pondan a otras categor´ıas como la de ´algebras de Heyting o de Boole. Un gran beneficio para el usuario ser´ıa poder incorporar f´acilmente en sus documentos los diagramas de Hasse generados. A tal fin, implementaremos m´etodos para generar archivosMETAPOSTa partir de los diagramas
de Hasse.
Se planea mejorar la interfaz de usuario especialmente en el aspecto gr´afico. Por ejemplo, el usuario podr´ıa seleccionar elementos de un poset directamente sobre el diagrama de Hasse.
5.
Agradecimientos
Agradecemos especialmente a Laura Rueda y a Ana Mar´ıa Suard´ıaz por sus numerosas suge-rencias.
Referencias
[1] R. Balbes and P. Dwinger, Distributive Lattices, University of Missouri Press, Columbia, MO, (1974).
[2] V. Boicescu, A. Filipoiu, G. Georgescu and S. Rudeanu,Lukasiewicz-Moisil Algebras, North Holland, (1991).
[3] R. Cignoli,Moisil Algebras, Notas de L´ogica Matem´atica No 27, Instituto de Matem´atica, Universidad Nacional del Sur, Bah´ıa Blanca,(1970).
[4] Gr. C. Moisil,Notes sur les logiques non-chrysippiennes, Ann. Sci. Univ. Jassy, 27(1941), 86-98.
[5] A. Monteiro, L’aritm´etique des filtres et les espaces topologiques, Notas de L´ogica Ma-tem´atica No 29–30, Instituto de MaMa-tem´atica, Universidad Nacional del Sur, Bah´ıa Blanca, (1974).
[6] L. Monteiro,Algebras de Lukasiewicz trivalentes mon´adicas, Notas de L´ogica Matem´atica No 32, Instituto de Matem´atica, Universidad Nacional del Sur, Bah´ıa Blanca, (1974).
[7] H. A. Priestley, Ordered topological spaces and the representation of distributive lattices, Proc. London Math. Soc., 3,24; (1972), 507–530.
[8] H. A. Priestley,Ordered sets and duality for distributive lattices, Ann. Discrete Math., 23, (1984), 39–60.
[9] C. O. Sicoe,Sur les ideaux des alg`ebres Lukasiewicziennes polivalentes, Rev. Roum. Math. Pures et Appl., 12(1967), 391–401.