CONJUNTOS DEFINIBLES POR POLINOMIOS EN …mate.dm.uba.ar/~jeronimo/papers/Jer99.pdf · en forma...

43
CONJUNTOS DEFINIBLES POR POLINOMIOS EN VARIAS VARIABLES Autora: Gabriela JERONIMO. Director: Dr. Juan SABIA. Departamento de Matem´atica. Facultad de Ciencias Exactas y Naturales. Universidad de Buenos Aires. 1.Introducci´on Uno de los problemas m´as dif´ ıciles con los que se enfrenta la Inform´atica Te´ orica se rela- ciona con el tiempo: para muchos problemas se conocen algoritmos que los resuelven pero el tiempo necesario para su implementaci´ on en una (o varias) computadoras los vuelve completamente impracticables. Este “tiempo de computaci´on” de un algoritmo se puede medir de diversas maneras; una de ellas se llama complejidad del algoritmo y cuenta la cantidad de operaciones aritm´ eticas involucradas. Uno de los objetivos fundamentales del ´ Algebra Computacional es, utilizando herramientas matem´ aticas te´oricas, bajar sustancialmente los tiempos de ejecuci´on (o las complejidades) de los algoritmos conocidos, o bien demostrar la imposibilidad de hacerlo. El primer problema que se plantea al tratar de dise˜ nar algoritmos de ´ Algebra Computa- cional es lograr reescribir una f´ormula arbitraria que involucra polinomios en varias varia- bles, igualdades y desigualdades de los polinomios a cero, y los conectivos l´ogicos , , ¬ (conjunci´ on, disyunci´on y negaci´on), en una forma standard de modo tal que sirva como dato de ingreso (input) para el algoritmo en cuesti´on. Por argumentos b´asicos de la L´ogica, es sabido que existe una reescritura standard para cualquier f´ormula de las anteriormente descriptas. Dada una f´ormula Φ arbitraria, su forma standard se llama la forma normal disyuntiva de Φ. Si {f i /i I } es el conjunto de todos los polinomios involucrados en Φ, la forma normal disyuntiva de Φ es una disyunci´on de conjunciones del tipo ^ iM f i =0 ^ j I -M f j 6=0 (1) donde M es un subconjunto de I . Un algoritmo de reescritura de f´ormulas conocido se basa en determinar cu´ales de las ormulas del tipo (1) definen un conjunto no vac´ ıo, para posteriormente decidir cu´ales de ´ estas aparecen en la disyunci´on que da la forma normal disyuntiva de Φ y cu´ales no. La complejidad de este algoritmo depende de la cantidad de f´ormulas del tipo (1) que definen conjuntos no vac´ ıos. 1

Transcript of CONJUNTOS DEFINIBLES POR POLINOMIOS EN …mate.dm.uba.ar/~jeronimo/papers/Jer99.pdf · en forma...

CONJUNTOS DEFINIBLES POR

POLINOMIOS EN VARIAS VARIABLES

Autora: Gabriela JERONIMO.

Director: Dr. Juan SABIA. Departamento de Matematica. Facultad de Ciencias Exactasy Naturales. Universidad de Buenos Aires.

1. Introduccion

Uno de los problemas mas difıciles con los que se enfrenta la Informatica Teorica se rela-ciona con el tiempo: para muchos problemas se conocen algoritmos que los resuelven peroel tiempo necesario para su implementacion en una (o varias) computadoras los vuelvecompletamente impracticables. Este “tiempo de computacion” de un algoritmo se puedemedir de diversas maneras; una de ellas se llama complejidad del algoritmo y cuenta lacantidad de operaciones aritmeticas involucradas.Uno de los objetivos fundamentales del Algebra Computacional es, utilizando herramientasmatematicas teoricas, bajar sustancialmente los tiempos de ejecucion (o las complejidades)de los algoritmos conocidos, o bien demostrar la imposibilidad de hacerlo.

El primer problema que se plantea al tratar de disenar algoritmos de Algebra Computa-cional es lograr reescribir una formula arbitraria que involucra polinomios en varias varia-bles, igualdades y desigualdades de los polinomios a cero, y los conectivos logicos ∧,∨,¬(conjuncion, disyuncion y negacion), en una forma standard de modo tal que sirva comodato de ingreso (input) para el algoritmo en cuestion. Por argumentos basicos de la Logica,es sabido que existe una reescritura standard para cualquier formula de las anteriormentedescriptas. Dada una formula Φ arbitraria, su forma standard se llama la forma normaldisyuntiva de Φ. Si fi / i ∈ I es el conjunto de todos los polinomios involucrados en Φ,la forma normal disyuntiva de Φ es una disyuncion de conjunciones del tipo

i∈M

fi = 0 ∧∧

j∈I−M

fj 6= 0 (1)

donde M es un subconjunto de I.Un algoritmo de reescritura de formulas conocido se basa en determinar cuales de lasformulas del tipo (1) definen un conjunto no vacıo, para posteriormente decidir cuales deestas aparecen en la disyuncion que da la forma normal disyuntiva de Φ y cuales no. Lacomplejidad de este algoritmo depende de la cantidad de formulas del tipo (1) que definenconjuntos no vacıos.

1

En 1983, Joos Heintz demostro que para un conjunto de s polinomios en n variables, si d

es una cota para los grados de los polinomios, la cantidad de conjuntos no vacıos definidospor conjunciones que involucran a todos los polinomios con igualdades o desigualdades acero, esta acotada por el numero (1 + sd)n.

En este trabajo se mejora la cota obtenida por Heintz. Tambien se encuentra una cotainferior para la cantidad de estos conjuntos que, asintoticamente, se comporta de la mismaforma que la cota superior. Es decir, se demuestra que el calculo de complejidad para elalgoritmo de reescritura descripto es asintoticamente exacto y no mejorable.Sobre el final, se exhibe como ejemplo de aplicacion del algoritmo de reescritura ya men-cionado, el algoritmo de eliminacion de cuantificadores de Puddu y Sabia (1998). Losalgoritmos de eliminacion en general permiten, dada cualquier formula con variables cuan-tificadas por ∃ y ∀ (cuantificadores existencial y universal), obtener otra equivalente (esdecir, que defina el mismo conjunto) sin cuantificadores, y son de suma utilidad en Algebray Geometrıa Computacionales.

2. Definiciones y notaciones

A lo largo de este trabajo, se considerara k un anillo ıntegro, conmutativo, de caracterıstica0 y efectivo (es decir, que las operaciones de adicion, sustraccion, multiplicacion y division,y las comparaciones entre elementos de k, son realizables por algoritmos). Notaremos k′

al cuerpo de fracciones de k, y k′ a una clausura algebraica de k′.

El espacio afın n-dimensional sobre k′, provisto de la topologıa de Zariski, sera denotadoIAn(k′) o simplemente IAn.Sean X1, . . . , Xn indeterminadas sobre k. Para un polinomio f ∈ k[X1, . . . , Xn] notaremosdeg f a su grado total.Para una variedad algebraica V ⊆ IAn, consideraremos ciertas cantidades intrınsecas li-gadas a V : dimension y grado, que notaremos dim V y deg V respectivamente, y que sedefinen de la siguiente forma:La dimension de V es la dimension de Krull de su anillo de coordenadas.En cuanto al grado, si V es una variedad irreducible de dimension r se define

deg V := sup #H1 ∩ . . . ∩Hr ∩ V ; H1, . . . , Hr hiperplanos afines

de IAn tales que H1 ∩ . . . ∩Hr ∩ V es finito

(Se puede demostrar que este supremo es finito).Para una variedad algebraica afın arbitraria, definimos deg V como la suma de los gradosde sus componentes irreducibles.

2

Los algoritmos que utilizaremos seran descriptos por una red aritmetica con entradas enk, representada por un grafo orientado acıclico. Cada vertice interno del grafo representao bien una operacion aritmetica entre elementos de k, o bien una operacion booleana, obien una comparacion entre elementos de k seguida por un selector. Los nodos externosrepresentan la entrada y salida de la red.La nocion de eficiencia de un algoritmo se puede medir en terminos del grafo correspon-diente. Aparecen ası las dos siguientes nociones basicas de complejidad para un algo-ritmo:(i) la complejidad secuencial: es el tamano de la red, es decir, el numero de vertices

del grafo (sin contar los nodos de entrada).(ii) la complejidad paralela: es la profundidad de la red, es decir, la longitud del camino

mas largo del grafo orientado (o equivalentemente el numero de vertices de una cadenamaximal del grafo, sin contar los nodos de entrada).

Si se supone que cada operacion se realiza en una unidad de tiempo dada, la complejidadsecuencial representa el tiempo necesario para ejecutar el algoritmo utilizando un unicoprocesador, mientras que, dado que la profundidad del grafo refleja el numero de opera-ciones que deben esperar el resultado de operaciones anteriores, la complejidad paralelarepresenta el tiempo mınimo que se necesita para ejecutar el algoritmo si se dispone deuna cantidad arbitraria de procesadores funcionando en paralelo.Diremos que un algoritmo es bien paralelizable si posee una complejidad paralela delorden del cuadrado del logaritmo en base 2 de la complejidad secuencial.

Una clase de redes aritmeticas especialmente interesante es la de aquellas que no hacenintervenir comparaciones ni ramificaciones. A estas redes se las denomina straight lineprograms (o tambien programas de evaluacion o circuitos aritmeticos).

Los algoritmos considerados en este trabajo admitiran como entradas conjuntos finitos depolinomios.Los polinomios que aparezcan en los algoritmos seran codificados, segun convenga, enalguna de las siguientes formas:(i) En forma densa, es decir, representados por el vector de todos sus coeficientes (aun

los nulos) en un orden preestablecido de los monomios, fijado el grado y la cantidadde variables.

(ii) Por medio de un straight line program sin divisiones, es decir, mediante un vectorb = (b1, . . . , bL) ∈ (k[X1, . . . , Xn])L tal que ∀ 1 ≤ ρ ≤ L se cumple alguna de lassiguientes condiciones:a) bρ ∈ X1, . . . , Xnb) bρ ∈ k

c) ∃σ, τ < ρ tales que bρ = bτ ∗ bσ, donde ∗ ∈ +,−, .

Cuando se consideren medidas de complejidad, si µ y ρ son dos funciones de IN en IN,

3

µ(n) = O(ρ(n)) significara que existe una constante c > 0 independiente de n tal que, paratodo n ∈ IN, µ(n) ≤ c.ρ(n).

Notaremos log al logaritmo en base 2.

En algunos de los algoritmos que consideraremos sera necesario, fijadas la cantidad devariables, la cantidad de polinomios que aparecen y los grados de los polinomios, haceruso de una familia de j-uplas de elementos de k (j sera determinado en cada caso) quesatisfaga ciertas propiedades. La construccion de dicha familia excede las complejidadesconsideradas, pero puede suponerse calculada de antemano. Esto se pondra de manifiestocuando sea necesario, aclarando que los algoritmos dependen de una preparacion previa.Esta construccion puede evitarse considerando algoritmos probabilısticos.Una discusion mas detallada sobre este tema se puede encontrar en [Giusti-Heintz-Sabia,1993] y [Puddu-Sabia, 1998].

3. Reescritura de una formula en forma normal disyuntiva

En esta seccion comenzaremos el estudio del problema de hallar algorıtmicamente ciertareescritura standard de una formula polinomial.Centraremos nuestra atencion en hallar cotas que nos permitan estimar la complejidadde los algoritmos que realizan dicha reescritura. Daremos tambien una descripcion de unalgoritmo de reescritura conocido.Con el objeto de plantear el problema de manera precisa, daremos en primer lugar algunasdefiniciones que nos seran de utilidad.

Definicion 1. Sean f1, . . . , fs polinomios en k[X1, . . . , Xn]. Sea X ⊆ IAn. Diremos que X

es (f1, . . . , fs)-definible si pertenece al algebra booleana de subconjuntos de IAn generadapor las hipersuperficies f1 = 0, . . . , fs = 0.De la definicion resulta que un conjunto (f1, . . . , fs)-definible puede darse por medio deuna formula Φ(X1, . . . , Xn) que es una combinacion de formulas del tipo fi = 0, 1 ≤ i ≤ s,y de los conectivos logicos ∧,∨,¬.

Definicion 2. Sean f1, . . . , fs polinomios en k[X1, . . . , Xn]. Diremos que un conjuntoZ ⊆ IAn(k′) es una (f1, . . . , fs)-celda si:(i) Z es no vacıo.(ii) Existe un subconjunto M ⊆ 1, . . . , s tal que

Z = x ∈ k′n : fi(x) = 0 ∀ i ∈ M ∧ fj(x) 6= 0 ∀ j ∈ 1, . . . , s −M

4

Observamos que todo conjunto (f1, . . . , fs)-definible es union (eventualmente vacıa) dealgunas (f1, . . . , fs)-celdas o, equivalentemente, puede definirse mediante una formula es-crita como una disyuncion de conjunciones cada una de las cuales involucra a todos lospolinomios f1, . . . , fs, e igualdades y desigualdades de estos polinomios a cero.

Definicion 3. Sea Φ una formula que involucra polinomios f1, . . . , fs ∈ k[X1, . . . , Xn].Diremos que Φ se halla escrita en forma normal disyuntiva si existe un conjunto S desubconjuntos de I = 1, . . . , s tal que Φ se escribe como

M∈S

i∈M

fi = 0 ∧∧

j∈I−M

fj 6= 0

Nuestro objetivo es mostrar como, a partir de una formula arbitraria Φ que determinaun conjunto (f1, . . . , fs)-definible, puede hallarse algorıtmicamente una formula escritaen forma normal disyuntiva que define el mismo conjunto (a la que denominaremos lareescritura de Φ en forma normal disyuntiva).

Para una formula Φ, llamaremos longitud de Φ, y la notaremos |Φ|, a la cantidad desımbolos necesarios para escribirla.Puesto que la longitud maxima de una formula escrita en forma normal disyuntiva queinvolucra a los polinomios f1, . . . , fs (que es la forma que tendra la salida del algoritmoque veremos), depende de la cantidad de (f1, . . . , fs)-celdas de IAn, comenzaremos por laobtencion de una cota superior para este numero.

3.1. Una cota superior para la cantidad de celdas

En esta seccion daremos una cota superior para el numero de celdas determinadas por unconjunto finito de polinomios en varias variables.La cota, que se enuncia en el siguiente Teorema, depende del numero de variables, lacantidad de polinomios involucrados y una cota para el grado de estos polinomios.

Teorema 4. Sean f1, . . . , fs ∈ k[X1, . . . , Xn]. Sea d ∈ IN tal que deg fi ≤ d para todo

1 ≤ i ≤ s. Entonces la cantidad de (f1, . . . , fs)-celdas de IAn es a lo sumon∑

k=0

(s

k

)dk.

(Se considerara(

s

k

)= 0 para k > s.)

La demostracion de este teorema se basa en los metodos de J. Heintz (ver [Heintz, 1983]).La idea es obtener la cota a partir de una cota para la cantidad de componentes irreduciblesde las clausuras de Zariski de las celdas. Para estimar este numero, aplicaremos la siguientedesigualdad de Bezout ([Heintz, 1983, Theorem 1]):

5

Desigualdad de Bezout: Sean X, Y ⊆ IAn dos conjuntos cerrados. Entonces

deg(X ∩ Y ) ≤ deg X. deg Y.

Antes de dar la demostracion del Teorema 4, adaptaremos un resultado de [Heintz, 1983]a nuestro contexto.

Sean f1, . . . , fs polinomios en k[X1, . . . , Xn].Para cada (f1, . . . , fs)-celda Z, consideramos su clausura de Zariski Z y la descomposicionde Z en componentes irreducibles. Definimos

I(Z) := C ⊆ IAn : C es una componente irreducible de Z.

Denotaremos por I al conjunto de todas las componentes irreducibles de las clausuras deZariski de todas las (f1, . . . , fs)-celdas de IAn. Se tiene

I :=⋃I(Z)

donde la union recorre el conjunto de todas las (f1, . . . , fs)-celdas.El siguiente lema nos da una caracterizacion para los elementos de I.

Lema 5. Sean f1, . . . , fs polinomios en k[X1, . . . , Xn]. Entonces, utilizando la notacionanterior,

I =

C ⊆ IAn : ∃M ⊆ 1, . . . , s / C es una componente irreducible de⋂

i∈M

fi = 0

.

Demostracion. Sea Z una (f1, . . . , fs)-celda. Entonces, por definicion, existe un conjuntoM ⊆ 1, . . . , s tal que

Z = x ∈ kn : fi(x) = 0 ∀ i ∈ M y fj(x) 6= 0 ∀ j ∈ 1, . . . , s −M.

Para simplificar la notacion, escribiremos simplemente fi = 0 (o fi 6= 0) para denotaral conjunto x ∈ kn : fi(x) = 0 (o x ∈ kn : fi(x) 6= 0, respectivamente).

En primer lugar, daremos una caracterizacion de las componentes irreducibles de Z parauna (f1, . . . , fs)-celda Z dada. Vamos a probar la siguiente igualdad de conjuntos:

I(Z) =

C ⊆ IAn : C es una componente irreducible de⋂

i∈M

fi = 0, C ∩ Z 6= ∅

(para M = ∅,⋂

i∈M

fi = 0 = IAn).

6

Si M = 1, . . . , s, Z = Z y es claro que vale la igualdad. Si M = ∅, entonces Z = IAn ytambien vale la igualdad.Si M 6= 1, . . . , s y M 6= ∅, consideramos W =

i∈M

fi = 0 y U =⋂

i/∈M

fi 6= 0 y escribi-

mos Z = W ∩ U . Notemos que W es un conjunto cerrado en IAn y U es un abierto novacıo en IAn.Sea W = D1 ∪ . . . ∪Dr la descomposicion de W en componente irreducibles. Entonces

Z = W ∩ U = (D1 ∩ U) ∪ . . . ∪ (Dr ∩ U) (2)

Consideremos las componentes irreducibles Dj1 , . . . , Djlde W tales que Djk

∩ U 6= ∅.Puesto que Z = W ∩U , para cada componente irreducible D de W la condicion D∩U 6= ∅es equivalente a D ∩ Z 6= ∅.Veamos que Dj1 , . . . , Djl

son las componentes irreducibles de Z: Por la igualdad de (2) setiene que

Z = (Dj1 ∩ U) ∪ . . . ∪ (Djl∩ U).

Por lo tanto, para probar queZ = Dj1 ∪ . . . ∪Djl

es la descomposicion de Z en componentes irreducibles, basta ver que Djk∩ U = Djk

paracada 1 ≤ k ≤ l (notar que si k 6= r, Djk

no esta contenida en Djr , puesto que ambas sonparte de la descomposicion irreducible de W ).

Fijemos k, 1 ≤ k ≤ l. Se tiene

Djk= (Djk

∩ U) ∪ (Djk∩ U c). (3)

De la definicion de U se desprende que

Djk∩ U c = Djk

∩( ⋃

i/∈M

fi = 0)

=⋃

i/∈M

(Djk

∩ fi = 0).

Puesto que los conjuntos Djk∩ fi = 0 son cerrados en IAn, reemplazando en (3) se

obtieneDjk

= Djk∩ U ∪

i/∈M

(Djk

∩ fi = 0).

Por la irreducibilidad de Djky la igualdad anterior concluimos que, o bien Djk

= Djk∩ U ,

o bien existe un ındice i /∈ M tal que Djk= Djk

∩ fi = 0.Si Djk

= Djk∩ fi = 0, se tendrıa Djk

⊆ fi = 0 para un ındice i /∈ M , contradiciendoel hecho de que Djk

∩ U 6= ∅. Luego, debe ser Djk= Djk

∩ U .

7

Ahora estamos listos para probar la siguiente caracterizacion del conjunto I, que constituyeel enunciado del lema:

I =

C ⊆ IAn : ∃M ⊆ 1, . . . , s / C es una componente irreducible de⋂

i∈M

fi = 0

.

(⊆) Sea C ∈ I. Por la definicion de I, C es una componente de Z para alguna (f1, . . . , fs)-celda Z. Por lo tanto, por lo que acabamos de ver, existe un conjunto M ⊆ 1, . . . , s talque C es una componente irreducible de

i∈M

fi = 0.

(⊇) Sea M ⊆ 1, . . . , s y sea H :=⋂

i∈M

fi = 0. Consideraremos la descomposicion de

H en componentes irreducibles y mostraremos que cada una de sus componentes es unelemento de I.Escribimos H como union de (f1, . . . , fs)-celdas:

H = Z1 ∪ Z2 ∪ . . . ∪ Zt.

Puesto que H es cerrado,H = Z1 ∪ Z2 ∪ . . . ∪ Zt.

Para cada j, 1 ≤ j ≤ t, consideramos la descomposicion de Zj en componentes irreducibles,

Zj =mj⋃

`=1

Cj`. Entonces

H =t⋃

j=1

mj⋃

`=1

Cj`.

Como los cerrados Cj` son irreducibles para cada 1 ≤ j ≤ t, 1 ≤ ` ≤ mj , se sigue quela descomposicion de H en componentes irreducibles consiste de algunos de los conjuntosCj`. En particular, esto dice que cada componente irreducible de H es una componenteirreducible de la clausura de Zariski de una (f1, . . . , fs)-celda.

Pasemos ahora a la demostracion del Teorema que nos da una cota superior para la cantidadde celdas.

Demostracion del Teorema 4. En primer termino, observemos que el numero de (f1, . . . , fs)-celdas de IAn esta acotado por la cantidad de componentes irreducibles de sus clausurasde Zariski denotado por #I. Esto es consecuencia directa del siguiente hecho que es-tableceremos a continuacion: si Z1 y Z2 son dos (f1, . . . , fs)-celdas distintas, entoncesI(Z1) ∩ I(Z2) = ∅ (o sea, sus clausuras de Zariski no tienen componentes irreduciblescomunes).

8

Supongamos que existe un conjunto cerrado irreducible C tal que C ∈ I(Z1) ∩ I(Z2).Entonces C ∩ Z1 6= ∅ y C ∩ Z2 6= ∅.Sean M1 y M2 los subconjuntos de 1, . . . , s tales que

Z1 =⋂

i∈M1

fi = 0 ∩⋂

i/∈M1

fi 6= 0 y Z2 =⋂

i∈M2

fi = 0 ∩⋂

i/∈M2

fi 6= 0.

De la demostracion del Lema 5, deducimos que entonces C es una componente irreduciblede los dos cerrados

i∈M1

fi = 0 y⋂

i∈M2

fi = 0. Por lo tanto, los conjuntos

C ∩ Z1 = C ∩⋂

i/∈M1

fi 6= 0 y C ∩ Z2 = C ∩⋂

i/∈M2

fi 6= 0

son dos abiertos no vacıos de C.Como C es irreducible, debe ser (C ∩ Z1) ∩ (C ∩ Z2) 6= ∅. En particular, Z1 ∩ Z2 6= ∅, loque contradice el hecho de que Z1 y Z2 son celdas distintas (y, luego, conjuntos disjuntos).Para acotar la cantidad de elementos de I haremos uso de la nocion de grado de unavariedad. Puesto que cada cerrado no vacıo tiene grado positivo,

#I ≤∑

C∈Ideg C.

Por lo tanto, para obtener la cota enunciada, basta probar que

C∈Ideg C ≤

n∑

k=0

(s

k

)dk.

Para cada 0 ≤ k ≤ n seaIk := C ∈ I : codim C = k

y sea ck :=∑

C∈Ik

deg C

Como I0 = IAn, es claro que c0 = 1.

Afirmamos que c0, . . . , cn verifican la siguiente relacion recursiva:

ck ≤ s− k + 1k

d ck−1 , 1 ≤ k ≤ n.

Notar que basta probar que vale la recurrencia para k ≤ s: si k = s + 1, la desigualdadvale, puesto que cs+1 = 0; si k > s + 1, ck y ck−1 son ambas iguales a 0 (como hay s

polinomios, ninguna componente irreducible tiene codimension k > s).Fijemos k, 1 ≤ k ≤ maxs, n. Sea C ∈ Ik una componente irreducible de codimension k

de la clausura de Zariski de alguna celda. Por el Lema 5, existe un conjunto M ⊆ 1, . . . , s

9

tal que C es una componente irreducible de⋂

i∈M

fi = 0. Tomemos M minimal en este

sentido, es decir tal que C no sea una componente irreducible de⋂

i∈J

fi = 0 para ningun

subconjunto propio J de M .Fijemos j ∈ M . Por la minimalidad de M , C no es una componente de

i∈M−jfi = 0.

Puesto queC ⊆

i∈M

fi = 0 ⊆⋂

i∈M−jfi = 0,

existe una componente irreducible C(j) de⋂

i∈M−jfi = 0, que contiene propiamente a

C, tal que C es una de las componentes irreducibles de C(j) ∩ fj = 0. Por lo tanto

dim C = dim C(j) − 1.

Ası, para cada j ∈ M , existe un cerrado irreducible C(j) de codimension k − 1 que esuna de las componentes irreducibles de

i∈M−jfi = 0 (o sea que C(j) es un elemento de

Ik−1) tal que C ⊂ C(j).

Afirmamos que, si j1, j2 son dos elementos de M distintos, entonces C(j1) 6= C(j2). Delo contrario, los conjuntos

i∈M−j1fi = 0 y

i∈M−j2fi = 0 tendrıan una componente

irreducible C en comun que contiene estrictamente a C. Pero esto implica que C esuna componente irreducible de

i∈M

fi = 0, lo que contradice el hecho de que C es una

componente irreducible de este conjunto.Para estimar #M , la cantidad de elementos de M , basta observar que cada componentedel cerrado

i∈M

fi = 0 tiene codimension a lo sumo #M . Puesto que C es una de estas

componentes y codim C = k se sigue que #M ≥ k.En consecuencia, hemos visto que, para cada C ∈ Ik, existen al menos k elementosC(j1), . . . , C(jk) en Ik−1 tales que para cada 1 ≤ l ≤ k, C es una componente irreduciblede la variedad C(jl) ∩ fjl

= 0.Consideraremos ahora los grados de las variedades involucradas.Sea Dk el conjunto

Dk :=(D, fj) : D ∈ Ik−1, j ∈ 1, . . . , s, codim(D ∩ fj = 0) = k

.

Vamos a probar que vale la siguiente desigualdad:

k ck ≤∑

(D,fj)∈Dk

deg(D ∩ fj = 0) (4)

10

Recordemos que, por definicion, el grado de una variedad algebraica es la suma de losgrados de sus componentes irreducibles.Aplicamos esta definicion de grado a cada uno de los terminos de

(D,fj)∈Dk

deg(D ∩ fj = 0).

Como cada componente irreducible C ∈ Ik es una componente irreducible de un conjuntode la forma C(j) ∩ fj = 0 para al menos k valores distintos de j, al realizar la sumaanterior deg C aparecera por lo menos k veces y, por lo tanto,

C∈Ik

k deg C ≤∑

(D,fj)∈Dk

deg(D ∩ fj = 0)

lo que prueba (4).

Para probar la desigualdad que queremos entre ck y ck−1 aplicaremos la desigualdad deBezout en cada uno de los terminos de (3).En primer lugar veamos como son los elementos de Dk:Sea (D, fj) ∈ Dk. Entonces D ∈ Ik−1 y codim( D ∩ fj = 0) = k. Como D ∈ Ik−1,existe un conjunto J ⊆ 1, . . . , s tal que D es una componente irreducible de

i∈J

fi = 0.

Como antes, concluimos que #J ≥ k − 1.Por otro lado, puesto que dim(D∩fj = 0) < dim D, el conjunto D no esta contenido enel conjunto fj = 0, y por lo tanto j /∈ J .Luego, para cada D ∈ Ik−1 se tiene

#j ∈ 1, . . . , s / (D, j) ∈ Dk ≤ s− (k − 1). (5)

Aplicando la desigualdad de Bezout a cada uno de los conjuntos D ∩ fj = 0 y teniendoen cuenta que d es una cota superior para los grados de los polinomios f1, . . . , fs, vemosque

(D,fj)∈Dk

deg(D ∩ fj = 0) ≤∑

(D,fj)∈Dk

deg D degfj = 0 ≤ d .∑

(D,fj)∈Dk

deg D. (6)

A partir de las desigualdades (5) y (6) obtenemos∑

(D,fj)∈Dk

deg(D ∩ fj = 0) ≤ (s− k + 1) d∑

D∈Ik−1

deg D = (s− k + 1) d ck−1. (7)

De las desigualdades (4) y (7) concluimos que ck y ck−1 verifican

ck ≤ s− k + 1k

d ck−1.

11

Luego, se tiene la siguiente relacion recursiva:

c0 = 1

ck ≤ s− k + 1k

d ck−1 (k = 1, . . . , n)

Afirmamos que, para cada 0 ≤ k ≤ n,

ck ≤(

s

k

)dk.

Notemos que para k > s no hay nada que probar.Supongamos entonces que k ≤ s. Procederemos por induccion en k. Si k = 0, la desigual-dad vale.Supongamos ahora que la desigualdad vale para k − 1. Como consecuencia de la relacionrecursiva se tiene que

ck ≤ s− k + 1k

d ck−1 ≤ s− k + 1k

d

(s

k − 1

)dk−1 =

(s

k

)dk.

En consecuencia,∑

C∈Ideg C =

n∑

k=0

ck ≤n∑

k=0

(s

k

)dk.

La demostracion termina recordando que, como ya hemos visto, el numero de (f1, . . . , fs)-celdas es menor o igual que #I ≤

C∈Ideg C.

3.2. Forma normal disyuntiva

A continuacion, comenzaremos con la descripcion de un algoritmo que, dada una formulaΦ que involucra polinomios f1, . . . , fs ∈ k[X1, . . . , Xn] e igualdades y desigualdades deestos polinomios a cero, halla la reescritura de Φ en forma normal disyuntiva. Equivalen-temente, si X ⊆ IAn es el conjunto definido por Φ, el algoritmo escribe a X como unionde (f1, . . . , fs)-celdas.La primera parte del algoritmo consiste en hallar todas las (f1, . . . , fs)-celdas para luego,en un segundo paso, determinar cuales de ellas estan contenidas en el conjunto dado. Estealgoritmo se basa en los metodos de [Fitchas-Galligo-Morgenstern, 1990].Recordando que una (f1, . . . , fs)-celda es un subconjunto no vacıo de IAn definido por unaformula del tipo ∧

i∈M

fi = 0 ∧∧

j∈1,...,s−M

fj 6= 0 (8)

para algun M ⊆ 1, . . . , s, vemos que, en principio, deberıamos decidir si 2s conjuntosson vacıos o no. Sin embargo, de acuerdo a lo visto en la seccion anterior, la cantidad de

12

(f1, . . . , fs)-celdas puede ser muy inferior a este numero. El algortimo que daremos paradeterminar las celdas se construye de manera de evitar el analisis de todos los conjuntosdefinidos por conjunciones de tipo (8).

Sin perdida de generalidad podemos suponer que log s ∈ IN. (En caso contrario, bastaagregar a la lista el polinomio nulo tantas veces como sea necesario).Para hallar las (f1, . . . , fs)-celdas trabajaremos en log s + 1 etapas, en cada una de lascuales decidiremos si ciertas conjunciones - provenientes de las formulas que definen losconjuntos hallados en la etapa anterior - determinan conjuntos no vacıos.

Etapa 0: Consideramos los conjuntos

Y(0)i :=

fi = 0, fi 6= 0 (1 ≤ i ≤ s).

Para cada 1 ≤ i ≤ s determinaremos cuales de los elementos de Y(0)i son conjuntos no

vacıos, obteniendo de este modo los conjuntos

Z(0)i := ∆ ∈ Y

(0)i / ∆ 6= ∅ (1 ≤ i ≤ s).

Etapa 1: Tomamos los siguientes conjuntos formados por intersecciones de elementos deconjuntos consecutivos de la etapa anterior:

Y(1)i := ∆1 ∩∆2 / ∆1 ∈ Z

(0)2i−1 ∧ ∆2 ∈ Z

(0)2i (1 ≤ i ≤ s

2).

Determinamos cuales de los elementos de Y(1)i , para cada 1 ≤ i ≤ s

2, son no vacıos y

obtenemosZ

(1)i := ∆ ∈ Y

(1)i / ∆ 6= ∅ (1 ≤ i ≤ s

2).

Etapa j: En la j-esima etapa construimoss

2jconjuntos de conjunciones consistentes a

partir de conjuntos adyacentes obtenidos en la etapa j − 1 como sigue: Consideramos

Y(j)i := ∆1 ∩∆2 / ∆1 ∈ Z

(j−1)2i−1 ∧ ∆2 ∈ Z

(j−1)2i (1 ≤ i ≤ s

2j)

y determinamos cuales de sus elementos son conjuntos no vacıos, para obtener

Z(j)i := ∆ ∈ Y

(j)i / ∆ 6= ∅ (1 ≤ i ≤ s

2j).

Observemos que cada elemento de cada uno de los conjuntos Z(j)i construidos en esta etapa

esta dado por una formula que es una conjuncion de 2j formulas del tipo ft = 0 o ft 6= 0.

De esta manera, al cabo de log s + 1 pasos, tendremos en la etapa log s un unico con-junto Z

(log s)1 . Los elementos de este conjunto son todos los conjuntos no vacıos de IAn

13

definidos por conjunciones que involucran a todos los polinomios f1, . . . , fs, es decir todaslas (f1, . . . , fs)-celdas de IAn.

Notar que no hemos explicado aun como determinar, para cada uno de los conjuntos queaparecen en las distintas etapas, si es vacıo o no. A esta tarea nos dedicaremos masadelante.

Mostraremos ahora como escribir el conjunto dado X como union de (f1, . . . , fs)-celdas.Notemos que esto equivale a encontrar una formula Ψ que defina a X y sea de la forma

M∈S

i∈M

fi = 0 ∧∧

j∈1,...,s−Mfj 6= 0

con S ⊆ P(1, . . . , s), es decir, la forma normal disyuntiva de Φ.Como X es un conjunto (f1, . . . , fs)-definible, se escribe como union de (f1, . . . , fs)-celdas,con lo que basta ver para cada celda Z si Z ⊆ X.Consideremos una (f1, . . . , fs)-celda

Z =⋂

i∈M

fi = 0 ∩⋂

j /∈M

fj 6= 0.

Para decidir si Z esta contenida en X reemplazamos en la formula Φ que lo define cadaformula de tipo fi = 0 o fj 6= 0 por 0 o 1 como se indica a continuacion:

fi = 0 : 1 si i ∈ M

0 si i /∈ Mfj 6= 0 :

0 si j ∈ M1 si j /∈ M

Al hacer esto en la formula que define Z y calcular el valor de verdad obtenemos 1, con loque Z ⊆ X si y solo si en la formula Φ tambien se obtiene 1.Por ultimo, considerando la union de aquellas (f1, . . . , fs)-celdas que resultan contenidasen X, conseguimos la descomposicion del conjunto como union de celdas, y en consecuenciala forma normal disyuntiva de la formula Φ que lo define.

4. Calculo de la dimension de una variedad algebraica afın

En esta seccion presentaremos un algoritmo bien paralelizable de complejidad secuencialpolinomial en el tamano de las entradas, que calcula la dimension de una variedad alge-braica afın. Este algoritmo esta basado en [Giusti-Heintz, 1993], y nos permitira decidirsi un conjunto algebraico dado es vacıo o no y concluir ası con la descripcion del algo-ritmo exhibido en la seccion anterior para la reescritura de una formula en forma normaldisyuntiva.

14

4.1. Variedades proyectivas de dimension cero

Probaremos en primer termino un lema en el caso proyectivo, del cual posteriormenteveremos una version afın, que nos permitira reducirnos a trabajar con polinomios en unasola variable.

Sean g1, . . . , gs polinomios homogeneos de k[X0, . . . , Xn], y sea d ∈ IN tal que d ≥ n

y d ≥ deg gi para cada i con 1 ≤ i ≤ s. Sea J := (g1, . . . , gs) el ideal homogeneo dek′[X0, . . . , Xn] que generan g1, . . . , gs, y sea W la variedad algebraica que definen en elespacio proyectivo IPn(k′).

Lema 6. Bajo las hipotesis anteriores, supongamos que W contiene solo un numerofinito de puntos, ninguno de los cuales pertenece al hiperplano del infinito (es decir aX0 = 0). Sea l una forma lineal con coeficientes en k, diferente de X0. Entonces existeun polinomio h en el ideal J , que depende solo de las variables X0 y l, a coeficientes en k,de grado acotado por dn +(n+1)d, calculable por medio de un algoritmo bien paralelizablesin divisiones, en tiempo secuencial sO(1)dO(n).Ademas, los coeficientes de h son polinomios de grado dO(n) en los coeficientes de g1, . . . , gs

y l sobre ZZ.

Demostracion. Sea A el anillo graduado A := k′[X0, . . . , Xn]/(g1, . . . , gs) y, para cadaν ∈ IN0 sea Aν su parte homogenea de grado ν, que es un k′-espacio vectorial de dimensionfinita.Sea ϕA(ν) = dimk′ Aν , la funcion de Hilbert de J , y sea PA su polinomio de Hilbert.Entonces, si N := (n + 1)d (ver [Lazard, 1981]), se tiene que

ϕA(ν) = PA(ν) ∀ ν ≥ N.

Puesto que la variedad W es de dimension cero, el polinomio PA es constante. Luego,coincide con el grado del ideal generado por g1, . . . , gs en k′[X0, . . . , Xn], el cual estaacotado por dn (ver [Fitchas-Galligo, 1990]). Ası, para cada ν ≥ N , dimAν = dim AN ≤dn.Como la variedad W no contiene puntos en el hiperplano del infinito, los polinomiosg1, . . . , gs, X0 no tienen ceros comunes. En consecuencia, el ideal J ′ := (g1, . . . , gs, X0)de k′[X0, . . . , Xn] contiene una potencia del ideal (X0, X1, . . . , Xn). Por [Lazard, 1977],corolario del Teorema 1, se tiene que J ′ ⊇ (X0, . . . , Xn)N+1.De este hecho se deduce que la multiplicacion por X0 induce un epimorfismo X0 de AN

en AN+1, y puesto que ambos espacios tienen la misma dimension resulta un isomorfismo.Sea l : AN → AN+1 la transformacion lineal inducida por la multiplicacion por la formalineal l y sea Ψ := X

−1

0 l, que es un endomorfismo de AN .El polinomio h buscado provendra esencialmente del calculo del polinomio caracterısticode Ψ. Para obtener un polinomio cuyos coeficientes sean elementos del anillo k, conside-

15

raremos otro endomorfismo Φ de AN que resultara de multiplicar a Ψ por una constanteadecuada D ∈ k, que determinaremos mas adelante.Sea entonces Φ := D. X

−1

0 l, tal que MΦ, la matriz de Φ en una base de AN , tieneentradas en k. Sea XΦ el polinomio caracterıstico de Φ. Notar que XΦ es un polinomio acoeficientes en k de grado d′ acotado por dn (cota para la dimension de AN ).Homogeneizando XΦ obtenemos un polinomio ∆ en dos variables, a coeficientes en k, y del

mismo grado que XΦ. Puesto que X0 y l conmutan, si ∆(X,Y ) =d′∑

i=0

aiXd′−iY i, se tiene

que

∆(X0, D. l) =d′∑

i=0

ai Xd′−i

0 (D. l)i = Xd′

0 d′∑

i=0

ai(D. X−1

0 l )i = Xd′

0 XΦ(Φ).

Por el teorema de Cayley-Hamilton, XΦ(Φ) es el morfismo nulo, de donde, como XN0 ∈ AN ,

resulta que ∆(X0, D. l)(XN0 ) = 0 como elemento de AN+d′ . En consecuencia, el polinomio

∆(X0, D. l)XN0 pertenece al ideal (g1, . . . , gs). Luego, basta tomar

h(X0, l) :=d′∑

i=0

aiDi XN+d′−i

0 li

que resulta un polinomio con coeficientes en k, de grado acotado por dn + (n + 1)d quepertenece al ideal generado por g1, . . . , gs en k′[X0, . . . .Xn].

A continuacion mostramos un algoritmo bien paralelizable sin divisiones de complejidadsecuencial sO(1)dO(n) que calcula este polinomio.Denotaremos por Xα al monomio Xα0

0 . . . Xαnn donde α = (α0, . . . , αn) ∈ INn+1

0 , y a sugrado por |α| := α0 + . . . + αn.En primer lugar calculamos bases monomiales B y B′ de AN y AN+1 respectivamente,una constante c ∈ k y, para cada monomio Xα de grado N + 1 la escritura de c.Xα comocombinacion lineal de los elementos de la base B′. La constante c se elige de maneraque los escalares de todas estas combinaciones lineales resulten polinomios enteros en loscoeficientes de g1, . . . , gs.Observemos que las clases de los monomios de grado N en el cociente por el ideal J consti-tuyen un sistema de generadores de AN , y que todas las relaciones entre estos generadoresse deducen de las que se obtienen a partir de las condiciones Xα(i)gi = 0, para algunmonomio Xα(i)

de grado N − di, 1 ≤ i ≤ s, donde di = deg gi. (Y lo mismo sucede en elcaso de AN+1.)El calculo efectivo de las bases y de la constante c se realiza triangulando la matriz delas relaciones mencionadas, cuyo tamano es de orden O(sNn). Con el objeto de evitardivisiones (de manera de obtener elementos de k) y controlar el grado de las constantes

16

que aparecen, consideradas como polinomios en los coeficientes de los polinomios g1, . . . , gs,se utilizan los algoritmos de [Mulmuley, 1986] y [Berkowitz, 1984].La complejidad de este paso es de orden sO(1)dO(n), y todos los resultados intermedios sonpolinomios enteros de grado dO(n) en los coeficientes de g1, . . . , gs.Podemos ahora calcular la matriz MΦ del endomorfismo Φ en la base B de AN hallada.Recordemos que quedaba por determinar la constante D ∈ k de manera que esta matriztuviera entradas en k. Tomamos D := det

(||c.X0||BB′), donde ||c.X0||BB′ denota la matriz

en las bases B y B′ de la transformacion lineal c.X0 : AN → AN+1. Se tiene

MΦ = det(||c.X0||BB′

).||c.X0||−1

BB′ .||c. l||BB′ = adj (||c.X0||BB′).||c. l||BB′ .

Siendo l una forma lineal, se escribe l =n∑

i=0

αiXi, de donde

||c. l||BB′ =n∑

i=0

αi.||c.Xi||BB′ .

Las entradas de las matrices ||c.Xi||BB′ provienen de los coeficientes de las combinacioneslineales calculadas en el paso anterior, y para el calculo de los determinantes que consti-tuyen las entradas de adj (||c.X0||BB′) se utiliza el algoritmo de Berkowitz.Por ultimo, para obtener los coeficientes del polinomio h, calculamos los coeficientes delpolinomio caracterıstico de la matriz MΦ (mediante el algoritmo de Berkowitz) y las po-tencias Di para cada 1 ≤ i ≤ d′. Teniendo en cuenta que MΦ es una matriz de tamanoacotado por dn, vemos que la complejidad secuencial de este paso es de orden dO(n).Conseguimos de este modo los coeficientes aiD

i, polinomios de grado dO(n) sobre ZZ en loscoeficientes de g1, . . . , gs, l, en tiempo secuencial sO(1)dO(n) mediante un algoritmo bienparalelizable y sin divisiones.

4.2. La situacion afın

Comenzaremos nuestro analisis suponiendo que tenemos la misma cantidad de ecuacionesque de incognitas.Sean f1, . . . , fn polinomios no constantes de k[X1, . . . , Xn] dados en forma densa, y sead ∈ IN, d ≥ n, tal que d ≥ deg fi, ∀ 1 ≤ i ≤ n. Consideraremos la variedad V definida enIAn por f1, . . . , fn, es decir, el conjunto

V = x ∈ k′n / f1(x) = 0 ∧ . . . ∧ fn(x) = 0.

Sea ε una nueva indeterminada, que podra ser considerada segun el caso ya sea como unavariable o como un parametro.

17

Para cada 1 ≤ i ≤ n, sea Fi ∈ k[X0 . . . , Xn] el homogeneizado de fi, y sea

gi := X0Fi + εX1+deg fi

i .

Sea W la variedad definida en IA1 × IPn por los polinomios g1, . . . , gn ∈ k[ε, X0, . . . , Xn].Notaremos π a la restriccion a W de la proyeccion canonica de IA1 × IPn sobre IA1.Los siguientes resultados, que enunciamos sin demostracion (ver [Giusti-Heintz, 1993]), nospermiten pasar del caso proyectivo a la situacion afın.

Lema 7 (de localizacion). Sea x un punto aislado de V , y sea C una componenteirreducible de W que contiene a x. Entonces π(C) = IA1.

Lema 8 (de deformacion). Los polinomios g1, . . . , gn definen una variedad proyectivade IPn(k′(ε)) de dimension cero.

Utilizando los dos lemas anteriores y a partir de la construccion hecha en el Lema 6,estamos en condiciones de probar la siguiente Proposicion.

Proposicion 9. Sea I = (f1, . . . , fn) y sea l una forma lineal de k[X1, . . . , Xn]. Existeun algoritmo bien paralelizable y sin divisiones que calcula en tiempo dO(n) un polinomiono nulo p de k[l], de grado a lo sumo (d + 1)n, que se anula en todo punto aislado de lavariedad V definida por f1, . . . , fn. Ademas todos los resultados intermedios del algoritmoson polinomios de grado dO(n) en los coeficientes de f1, . . . , fn, l sobre ZZ.

Demostracion. A partir de los polinomios f1, . . . , fn construimos g1, . . . , gn como antes.Consideremos el polinomio de k[X0, . . . , Xn] homogeneizado de l, que por abuso de no-tacion, llamaremos tambien l.Por el Lema de deformacion, los polinomios g1, . . . , gn definen una variedad de dimensioncero en IPn(k′(ε)). De acuerdo al Lema 6 (notar que los polinomios g1, . . . , gn no tienenceros comunes en el infinito), podemos calcular mediante un algoritmo bien paralelizabley sin divisiones, en tiempo secuencial dO(n), un polinomio h ∈ k[ε][X0, l] homogeneo enlas variables X0 y l, de grado acotado por (d + 1)n + (n + 1)(d + 1) que pertenece alideal generado por g1, . . . , gn en k′(ε)[X0, . . . , Xn]. Los coeficientes de h, ası como tambienlos de los polinomios que aparecen en los calculos intermedios, son polinomios de gradodO(n) en los coeficientes de g1, . . . , gn, l, que como degε gi = 1, ∀ 1 ≤ i ≤ n, resultan serpolinomios en k[ε] de grado dO(n).Sea W la variedad definida por g1, . . . , gn en IA1 × IPn.Puesto que h ∈ (g1, . . . , gn) en k′(ε)[X0, . . . , Xn], existe un polinomio P ∈ k[ε] (queproviene de denominadores) tal que, si WP (ε) = y ∈ W / P (ε(y)) 6= 0, para cada puntoy = (ε, x) ∈ WP (ε) se tiene h(ε, x0, l(x)) = 0.

18

Sea Q(ε) = εP (ε). Sea h′ el polinomio que se obtiene al dividir h por la mayor potencia deε de su contenido. Entonces h se escribe h = εrh′, y como h se anula sobre WP (ε), resultaque h′(ε, x0, l(x)) = 0 para cada y = (ε, x) ∈ WQ(ε) = y ∈ W /Q(ε(y)) 6= 0.Sea h′ = h′0 + h′1 con h′0 constante y no nulo en ε y h′1 divisible por ε.Sea x un punto aislado de V . Vemos a x en W como (0, (1 : x1 : . . . : xn)). Sea C unacomponente irreducible de W que pasa por x. Por el Lema de localizacion, π(C) = IA1,con lo que CQ(ε) es no vacıo. Puesto que h′ se anula sobre CQ(ε), que es un abierto novacıo de C, resulta que h′ se anula sobre todo C.Ahora, h′(0, 1, l(1 : x1 : . . . : xn)) = h′0(1, l(1 : x1 : . . . : xn)), dado que el otro sumando,h′1, era divisible por ε; lo que nos dice que h′0(1, l(1 : x1 : . . . : xn)) = 0.En consecuencia, el deshomogeneizado de h′0,

p := h′0(1, l)

es un polinomio que se anula sobre todo punto aislado de la variedad V .

Para hallar p, se calcula en primer termino el polinomio h en tiempo secuencial dO(n). Setiene

h(ε,X0, l) = X(n+1)(d+1)0

d′∑

i=0

Ci(ε) Xd′−i0 li

donde d′ ≤ (d+1)n y los coeficientes de Ci son polinomios de grado dO(n) en los coeficientesde f1, . . . , fn, l sobre ZZ. (Recordar que esta era la forma del polinomio obtenido en el Lema6).Observar que, por construccion, el polinomio p esta dado por

p :=d′∑

i=0

cili

donde ci ∈ k es el coeficiente del monomio de menor grado de Ci. Para obtener loscoeficientes ci basta entonces con escribir a cada uno de los polinomios Ci en forma densa,lo que, teniendo en cuenta que son polinomios de grado dO(n) en la variable ε, se hacetambien en tiempo secuencial dO(n) (por interpolacion).Obtenemos ası, en tiempo secuencial dO(n) el polinomio p, que es un polinomio de gradoacotado por (d+1)n, y cuyos coeficientes son polinomios de grado dO(n) en los coeficientesde f1, . . . , fn, l.

Consideraremos ahora el caso general: una variedad algebraica afın V definida por unsistema finito de s polinomios no constantes f1, . . . , fs de k[X1, . . . , Xn], que supondremosdados en forma densa y de grados acotados por d ≥ n. Notar que si la variedad V tienepuntos aislados, por el teorema de Krull, debe ser s ≥ n.

19

La idea que nos permitira reducirnos al caso ya estudiado de n polinomios consiste enreemplazar los polinomios f1, . . . , fs por n combinaciones lineales de estos polinomios.

Dado τ ∈ k′, definimos el polinomio fτ como

fτ := f1 + τ f2 + · · ·+ τs−1fs.

Se demuestra (ver [Giusti-Heintz, 1983]) que existe un subconjunto denso de IAn, quenotaremos U(f1, . . . , fs), tal que para cada γ = (γ1, . . . , γn) ∈ U(f1, . . . , fs), la variedad V

definida por fγ1 , . . . , fγnconsiste de la union de V y un numero finito de puntos.

Sean T1, . . . , Tn nuevas indeterminadas. Para cada 1 ≤ i ≤ n, sea

hi := f1 + Tif2 + · · ·+ T s−1i fs ∈ k[T1, . . . , Tn, X1, . . . , Xn].

Sea S(T ) la variedad definida por los polinomios h1, . . . , hn sobre k′(T1, . . . , Tn). Comoconsecuencia de la densidad de U(f1, . . . , fs) se tiene que todo punto aislado de la variedaddefinida por f1, . . . , fs en IAn es un punto aislado de S(T ). Esta es la observacion clavepara la construccion que haremos en el siguiente Lema.

Lema 10. Existe una constante c tal que para toda forma lineal l de k[X1, . . . , Xn], existeun polinomio no nulo p ∈ k[l] de grado acotado por dcn que se anula sobre todo puntoaislado de V = f1 = 0, . . . , fs = 0.Salvo por una preparacion previa, este polinomio p es calculable por medio de un algo-ritmo sin divisiones en tiempo secuencial acotado por (sdn)c y en tiempo paralelo acotadopor cn2 log2(sd). Los resultados intermedios del algoritmo son polinomios enteros en loscoeficientes de f1, . . . , fs y lde grado acotado por dcn.

Demostracion. Consideremos la variedad S(T ), definida por los n polinomios h1, . . . , hn ∈k[T1, . . . , Tn][X1, . . . , Xn] y veamos a l como forma lineal en k[T1, . . . , Tn][X1, . . . , Xn].Recordemos que todo punto aislado de V es un punto aislado de S(T ).Aplicamos entonces el algoritmo dado en la Proposicion 9. Para esto, escribimos en primertermino a los polinomios h1, . . . , hn en forma densa con respecto a las variables X1, . . . , Xn.El costo de este paso previo es nsdO(n).Obtenemos, en tiempo secuencial dO(n) por medio de un algoritmo bien paralelizable y sindivisiones, un polinomio no nulo P ∈ k[T1, . . . , Tn][l] de grado en l acotado por (d + 1)n

que se anula sobre todo punto aislado de S(T ).Los coeficientes de P son polinomios de grado dO(n) en los coeficientes de h1, . . . , hn, l

sobre ZZ, que a su vez son polinomios de grado s−1 en las variables T1, . . . , Tn. Luego, sonpolinomios de grado (s−1)dO(n) = sdc′n, que pueden ser evaluados sin divisiones medianteun straight line program de longitud L = nsdO(n).

Por [Heintz-Schnorr, 1982, Teorema 4.4] existe un conjunto questor Ω = (γ1, . . . , γm) depuntos de ZZn, donde m = 6(L + n)(L + n + 1) = sO(1)dO(n) que verifica: para todo

20

polinomio F en k[T1, . . . , Tn] de grado sdc′n evaluable por un straight line program delongitud L,

F (γ1) = F (γ2) = . . . = F (γm) = 0 =⇒ F ≡ 0.

Como P es no nulo, para algun ındice j comprendido entre 1 y m debe ser P (γj , l) no nulo.Se toma entonces

p := P (γj , l).

Por construccion, p se anula sobre todo punto aislado de V . Las cotas para el grado y lalongitud del straight line program que evalua p, y para la complejidad del algoritmo, sededucen de las obtenidas en la Proposicion 9 y de la cantidad de elementos del conjuntoquestor.

4.3. Lema del elemento primitivo

El siguiente paso sera dar una descripcion de los puntos aislados de una variedad algebraicaV ⊆ IAn dada por ecuaciones polinomiales f1 = 0, . . . , fs = 0.Esto se hara por medio del denominado lema del elemento primitivo que consiste enhallar una forma lineal y, que separa los puntos aislados de la variedad, y polinomiosr1, . . . , rn ∈ k[y] que determinan las coordenadas de dichos puntos.Para esto, enunciamos en primer lugar dos resultados extraıdos de [Krick-Pardo, 1996] quenos seran de utilidad.

El primero de estos resultados se refiere al caso particular del lema del elemento primitivopara dos variables, en el cual se basa el caso general.

Lema 11. Sean p(Y ) y q(X) dos polinomios libres de cuadrados con coeficientes en k,y sea I := (p(Y ), q(X)) el ideal de k′[X, Y ] que generan. Sea D := deg p deg q. Seaγ := Y + tX (t ∈ ZZ fijo) una forma lineal que separa los ceros de I en k′2.Entonces existen dos polinomios u, v ∈ k[Z] y un elemento no nulo θ ∈ k tales que:

i) I = (u(γ), θX − v(γ)) ⊆ k′[X, γ].ii) deg u = D y deg v ≤ D − 1.

iii) Los coeficientes de u son polinomios de grado acotado por 4D en los coeficientes dep y q, mientras que θ y los coeficientes de v son polinomios en esos coeficientes degrado acotado por 2D2.

iv) θ y los coeficientes de u y v se pueden calcular por medio de un straight line programde longitud DO(1) y profundidad O(log2 D).

El segundo de los resultados que enunciaremos tiene que ver con la eleccion de la formalineal que sera el elemento primitivo en cuestion.

Sean T1, . . . , Tn nuevas indeterminadas. Para cada 1 ≤ i ≤ n, notaremos ki al anillok[T1, . . . , Ti−1, Ti+1, . . . , Tn]. kT denotara al anillo k[T1, . . . , Tn]. Como siempre, k′i y k′T

21

seran los cuerpos de fracciones de ki y kT respectivamenteos, y k′i y k′T clausuras algebraicasde estos cuerpos.

Lema 12. Sea p ∈ ki[Z] un polinomio no constante de grado en Z acotado por D cuyoscoeficientes son polinomios de grado acotado por δ en ki, y sea q ∈ k[Z] un polinomio nonulo de grado acotado por D. Para cada t = (t1, . . . , tn) sea

Vt := (x, y) ∈ k′2/ q(x) = 0 , pt(y) = 0

donde pt denota la especializacion de las variables T por t en los coeficientes de p.Entonces existe un polinomio no nulo F ∈ k[T1, . . . , Tn] de grado acotado por δDO(1),evaluable por medio de un straight line program de longitud DO(1), tal que F (t1, . . . , tn) 6= 0implica que la forma lineal tiX + Y separa los puntos de Vt.Si k es un anillo de polinomios y los coeficientes de p y q tienen grado acotado por δ′, elgrado de los coeficientes de F es de orden δ′DO(1).

Estamos ahora en condiciones de probar el lema del elemento primitivo que, como yahemos dicho, caracteriza los puntos aislados de una variedad algebraica afın.

Proposicion 13. Sean f1, . . . , fs ∈ k[X1, . . . , Xn] polinomios de grado acotado por d, cond ≥ n, y sea V ⊆ IAn la variedad algebraica afın definida por estos polinomios. Entonces,salvo por una preparacion previa, se pueden calcular en tiempo secuencial sO(1)dO(n), me-diante un algoritmo bien paralelizable y sin divisiones, un elemento α no nulo de k, unaforma lineal y = γ1X1 + · · · + γnXn que separa los puntos aislados de V , y polinomiosr1, . . . , rn ∈ k[y] de grado dO(n), tales que todo punto aislado x de V satisface:

αx =(r1(y(x)), . . . , rn(y(x))

).

El punto γ = (γ1, . . . , γn) puede elegirse en un subconjunto prefijado de IAn de cardinalsO(1)dO(n). El elemento α y los coeficientes de los polinomios r1, . . . , rn son polinomiosenteros en los coeficientes de f1, . . . , fs de grado acotado por dO(n).

Demostracion. Consideremos la forma lineal Y := T1X1 + · · ·+ TnXn ∈ kT [X1, . . . , Xn], ypara cada 1 ≤ i ≤ n la forma lineal Yi := Y − TiXi ∈ ki[X1, . . . , Xn].Fijemos i, 1 ≤ i ≤ n. De acuerdo al Lema 10, para cada 1 ≤ i ≤ n, existen polinomiospi(Yi) ∈ ki[Yi] y qi(Xi) ∈ k[Xi] que se anulan sobre todos los puntos aislados de la variedaddefinida por f1, . . . , fs en k′T . Los coeficientes de estos polinomios son polinomios enterosen los coeficientes de f1, . . . , fs y de las forma lineales de grado dO(n).Por el Lema 12, existe un polinomio Fi ∈ k[T1, . . . , Tn] de grado acotado por dO(n), talque si Fi(t1, . . . , tn) 6= 0, entonces la forma lineal Yi + tiXi = t1X1 + · · ·+ tnXn separa lospuntos de

V(i)t = (x, y) ∈ k′2 : qi(x) = 0 , pi(t, y) = 0.

22

Consideremos el polinomio F ∈ k[T1, . . . , Tn] definido por

F :=n∏

i=1

Fi

que es un polinomio no nulo de grado acotado por dO(n) y se calcula, a partir de loscoeficientes de pi y qi (1 ≤ i ≤ n) en tiempo secuencial dO(n). Teniendo en cuenta lacomplejidad enunciada en el Lema 12, resulta que F puede evaluarse con una complejidadsecuencial de orden sO(1)dO(n).Por [Heintz-Schnorr, 1982, Teorema 4.4], existe un subconjunto Γ ⊆ ZZn de cardinalsO(1)dO(n) tal que para todo polinomio P de ese grado y evaluable en esa cantidad depasos, se verifica

P (γ) = 0 ∀ γ ∈ Γ =⇒ P ≡ 0.

Puesto que F es no nulo, existe γ = (γ1, . . . , γn) ∈ Γ tal que F (γ1, . . . , γn) 6= 0.Consideremos entonces la forma lineal

y = γ1X1 + · · ·+ γnXn

que, por la eleccion de γ, separa los puntos aislados de la variedad V .A partir de pi(γ1, . . . , γn, yi) y qi(Xi), para cada 1 ≤ i ≤ n, se calculan polinomiospi(γ1, . . . , γn, yi) y qi(Xi), libres de cuadrados, que definen la misma variedad que dichospolinomios (ver [Krick-Pardo, 1996]).Para cada 1 ≤ i ≤ n, por el Lema 11, se calculan polinomios ui y vi en k[Z], y un elementono nulo θi ∈ k tales que

(pi(γ1, . . . , γn, yi), qi(Xi)) = (ui(y), θiXi − vi(y)).

Puesto que θiXi − vi(y) ∈ I(V (i)γ ) y todo punto aislado x de V pertenece a V

(i)γ , se tiene

queθixi − vi(y(x)) = 0 para todo punto aislado x de V. (9)

Sean

α :=m∏

i=1

θi y rj :=( n∏

i=1i 6=j

θi

)vj (1 ≤ j ≤ n).

Como consecuencia de los lemas aplicados en los pasos intermedios y de la condicion (9),es inmediato que el elemento α y los polinomios r1, . . . , rn satisfacen todas las condicionesenunciadas.

La siguiente observacion, que es consecuencia inmediata del lema del elemento primitivo,sera fundamental en el algoritmo que desarrollaremos para el calculo de la dimension deuna variedad algebraica.

23

Observacion 14. Situemonos bajo las mismas hipotesis y notacion que en la Proposicion13. Consideremos los polinomios

Fj := αdj fj(1α

r1(y), . . . ,1α

rn(y)) , 1 ≤ j ≤ s

donde dj = deg fj, y sea q su maximo comun divisor en k′[y]. Entonces se verifica:1) Si la variedad V contiene puntos aislados, entonces q 6= 1.2) Si q 6= 1, entonces la variedad V es no vacıa.

En efecto, supongamos que V contiene puntos aislados. Sea x un punto aislado de V . Paracada 1 ≤ j ≤ s se tiene

Fj(y(x)) = αdj fj(1α

r1(y(x)), . . . ,1α

rn(y(x))

y como rj(y(x)) = αxj , entonces Fj(y(x)) = αdj fj(x1, . . . , xn) = 0. Luego, y(x) es uncero comun de F1, . . . , Fs, con lo que no son coprimos y vale lo afirmado en 1).Si la variedad V es vacıa, los polinomios f1, . . . , fs no tienen ceros comunes, y en conse-cuencia los polinomios F1, . . . , Fs no pueden tener una raız en comun, luego son coprimos.

Lema 15. Con la notacion de la observacion anterior, el polinomio q es de grado dO(n) yse puede calcular un elemento β ∈ k y los coeficientes del polinomio βq que son polinomiosenteros en los coeficientes de f1, . . . , fs de grado dO(n), por medio de un algoritmo bienparalelizable y sin divisiones en tiempo secuencial sO(1)dO(n).

Demostracion. El calculo del polinomio q se reduce al del maximo comun divisor delos polinomios F1, . . . , Fs, que son s polinomios en una variable de grado acotado pordO(n). Este calculo se efectua en tiempo secuencial sO(1)dO(n) utilizando algoritmos dealgebra lineal (ver [Krick-Pardo, 1996]), a partir de la escritura en forma densa de lospolinomios involucrados. Observar que el costo de escribir a los polinomios en forma densaes tambien de orden sO(1)dO(n), con lo que no cambia el orden de la complejidad secuencialdel algoritmo.Se calcula, en lugar del polinomio q, un mutiplo de este polinomio: βq, con el objeto deevitar divisiones. El elemento β ∈ k proviene de los denominadores que aparecerıan en loscalculos intermedios.

4.4. Un algoritmo para el calculo de la dimension

A continuacion exhibiremos un algoritmo que calcula la dimension de una variedad alge-braica afın basado en la Observacion 14 y la aplicacion del lema del elemento primitivo.

Teorema 16. Salvo por una preparacion previa, se puede calcular la dimension de unavariedad afın V definida por polinomios f1, . . . , fs ∈ k[X1, . . . , Xn] de grado acotado por

24

d ≥ n, en tiempo secuencial sO(1)dO(n) mediante un algoritmo bien paralelizable que nocontiene divisiones.

Demostracion. El algoritmo se basa en la siguiente observacion de tipo geometrico: si lavariedad V tiene dimension r existen r formas lineales genericas tales que la variedad Vr

dada por los ceros comunes a los polinomios que definen a V y las r formas lineales tienedimension 0 (es decir, consta de finitos puntos).Sean Tij y Ti, para 1 ≤ i, j ≤ n, nuevas indeterminadas. Consideremos como nuevo anillode base a R := k[Tij , Ti; 1 ≤ i, j ≤ n], y sea K una clausura algebraica del cuerpo defracciones de R.Para cada 1 ≤ i ≤ n definimos la forma lineal

li := Ti1X1 + · · ·+ TinXn + Ti ∈ R[X1, . . . , Xn].

Sea Wh, 0 ≤ h ≤ n, la variedad definida en IAn(K) por el ideal (f1, . . . , fs, l1, . . . , lh) deK[X1, . . . , Xn].Entonces, si r es el numero maximal de formas l1, . . . , lr tales que la variedad Wr es novacıa, la variedad Wr contiene solo puntos aislados y la dimension de V es r.

Mostraremos a continuacion un algoritmo que nos permite hallar r:

1) Para cada h, 0 ≤ h ≤ n, para la variedad Wh hallamos, de acuerdo a la Observacion14 y el Lema 15, un polinomio qh ∈ R[y] de grado dO(n) que verifica:(i) Si la variedad Wh contiene puntos aislados, entonces qh no es constante.(ii) Si qh no es constante, entonces Wh es no vacıa.Los coeficientes de qh son polinomios enteros de grado dO(n) en los coeficientes def1, . . . , fs, l1, . . . , lh, luego, polinomios en k′[Tij , Ti, 1 ≤ i ≤ h, 1 ≤ j ≤ n] de gradoacotado por dO(n), y son evaluables mediante un straight line program de longitud(s + h)O(1)dO(n) = sO(1)dO(n) que no contiene divisiones.

2) Determinamos para que valores de h se tiene qh constante.Para esto tenemos en cuenta las cotas obtenidas para los grados de los coeficientescomo polinomios en las variables Tij , Ti, y para la longitud del straight line programque los evalua. Por [Heintz-Schnorr, 1982, Teorema 4.4], existe un subconjunto questorγ1, . . . , γm de ZZn2+n de cardinal m = sO(1)dO(n) que permite decidir, al evaluarloen cada uno de sus elementos, si qh es constante o no, lo que puede efectuarse mediantesO(1)dO(n) operaciones aritmeticas en k.

3) El valor r buscado es el maximo h tal que el polinomio qh no es constante, o −1 sitodos lo son.

Veamos que vale lo afirmado en 3):Afirmacion: Si W es una variedad que o bien es vacıa o bien contiene puntos aislados, siq es el polinomio definido en la Observacion 14, se verifica

W = ∅ ⇐⇒ q es constante.

25

En efecto, si q es constante, por la primera parte de la Observacion 14, W no contienepuntos aislados, con lo que W es vacıa. La otra implicacion es simplemente la segundaparte de la Observacion mencionada.

Como Wn es o bien vacıa o bien consta de un unico punto (la unica solucion del sistemalineal l1 = 0 ∧ . . . ∧ ln = 0), se tiene que Wn = ∅ si y solo si qn es constante. Si qn

no es constante, entonces Wn tiene puntos aislados, es decir que el numero r maximo deformas lineales tales que la variedad Wr es no vacıa es n. Luego dim V = n. Si qn esconstante, Wn es vacıa, de donde Wn−1 es vacıa o solo contiene puntos aislados, es decirque dim V ≤ n− 1.Luego,

dim V = n ⇐⇒ qn no es constante.

En caso de ser qn constante, resulta como ya se dijo que Wn−1 contiene a lo sumo puntosaislados, luego es vacıa si y solo si qn−1 es constante.Ası

dim V = n− 1 ⇐⇒ qn ∈ K ∧ qn−1 no es constante

Siguiendo con el mismo razonamiento, vemos que para cada 0 ≤ r ≤ n

dim V = r ⇐⇒ qn = c1 ∧ qn−1 = c2 ∧ . . . ∧ qr+1 = cn−r ∧ qr no es constante

con c1, c2, . . . , cn−r ∈ K; y finalmente, que si qh es constante para todo 0 ≤ h ≤ n, entoncesV es vacıa.

4.5. Forma normal disyuntiva algorıtmica

Siguiendo las ideas de [Puddu-Sabia, 1998] estableceremos la siguiente Proposicion basadaen el algoritmo de Giusti y Heintz exhibido en el Teorema 16. Esta Proposicion proveeun algoritmo que permite decidir si un conjunto definido por una formula que es unaconjuncion dada por polinomios, igualdades y desigualdades a cero, es vacıo o no.De esta manera, podremos concluir la descripcion del algoritmo de reescritura comenzadaen la Seccion 3.

Proposicion 17. Sean f1, . . . , fs1 , g1, . . . , gs2 ∈ k[X1, . . . , Xn]. Sean d1, d2 ≥ n tales quedeg fi ≤ d1 (1 ≤ i ≤ s1) y deg gj ≤ d2 (1 ≤ j ≤ s2). Entonces existe un algoritmo bienparalelizable y sin divisiones de complejidad secuencial acotada por (s1s2)O(1)(d1d2)O(n)

que decide si el conjunto

Z = x ∈ k′n : f1(x) = 0 ∧ . . . ∧ fs1(x) = 0 ∧ g1(x) 6= 0 ∧ . . . ∧ gs2(x) 6= 0

es vacıo o no.

26

Demostracion. Sean W =s1⋂

i=1

fi = 0 y U =s2⋂

j=1

gj 6= 0. Notar que Z = W ∩ U , W es

una variedad algebraica afın y U es un abierto de IAn.Sea R el anillo R = k[Tij , Ti; 1 ≤ i, j ≤ n] y sea K una clausura algebraica de su cuerpo decocientes. Definimos, como en la demostracion del Teorema 16, las variedades algebraicasWh (0 ≤ h ≤ n).Consideremos el conjunto U ′ = x ∈ Kn : gj(x) 6= 0, 1 ≤ j ≤ s2.Como consecuencia del Teorema de los ceros de Hilbert, usando el truco de Rabinowitz,se prueba que

Z = ∅ ⇐⇒ Wh ∩ U ′ = ∅ ∀ 0 ≤ h ≤ n.

Fijemos h, 0 ≤ h ≤ n. Aplicando el algoritmo dado en la Proposicion 13, obtenemosαh ∈ R, una forma lineal yh y polinomios r

(h)1 , . . . , r

(h)n ∈ R[Y ] tales que para todo punto

aislado x de Wh se tiene

x =( 1αh

r(h)1 (yh(x)), . . . ,

1αh

r(h)n (yh(x))

).

Consideramos los polinomios

P(h)i :=

αd1h fi( 1

αhr(h)1 , . . . , 1

αhr(h)n ) si 1 ≤ i ≤ s1

αh li−s1(1

αhr(h)1 , . . . , 1

αhr(h)n ) si s1 + 1 ≤ i ≤ s1 + h

y el polinomio

Gh :=

(s2∏

i=1

αd2h gi

( 1αh

r(h)1 , . . . ,

1αh

r(h)n

))t

donde t ≤ dO(n)1 es una cota para los grados de los polinomios P

(h)i , 1 ≤ i ≤ s1 + h.

Entonces, si Wh ∩ U ′ contiene a lo sumo puntos aislados de Wh

Wh ∩ U ′ = ∅ ⇐⇒ qh := mcd(P (h)1 , . . . , P

(h)s1+h) | Gh.

En efecto, si z es una raız comun de qh y Gh, su multiplicidad como raız de Gh es al menost ≥ deg qh, con lo que, si qh no divide a Gh, alguna raız z de qh no lo es de Gh, y por lo

tanto (1αh

r(h)1 (z), . . . ,

1αh

r(h)n (z)) ∈ Wh ∩ U ′.

Por otro lado, si w ∈ Wh ∩ U ′, siendo por hipotesis un punto aislado de Wh satisface

w =( 1αh

r(h)1 (yh(w)), . . . ,

1αh

r(h)n (yh(w))

)

de donde yh(w) es una raız comun de P(h)1 , . . . , P

(h)s1+h que no lo es de Gh, con lo que qh no

divide a Gh.

27

Ahora,

qh | Gh ⇐⇒ ∃Q1, . . . , Qs+r ∈ K[y] , deg Qi ≤ dO(n)1 + deg Gh / Gh =

s1+r∑

i=1

QiP(h)i

lo que se traduce en la compatibilidad del sistema lineal no homogeneo que resulta deconsiderar los coeficientes de los polinomios en la igualdad anterior, que consta de a losumo s2d2d

O(n)1 ecuaciones con a lo sumo (s1 + h)s2d2d

O(n)1 incognitas.

Para decidir si el sistema es compatible se comparan los rangos de la matriz del sistemahomogeneo asociado y la matriz ampliada del sistema (cuyas entradas, que son coeficientesde los polinomios involucrados, se obtienen por interpolacion) mediante el algoritmo deMulmuley.Observamos que todos los resultados intermedios del algoritmo son polinomios en las va-riables Tij , Ti (1 ≤ i, j ≤ n) de grados acotados por (s1s2d2)O(1)d

O(n)1 y que pueden

evaluarse mediante un straight line program de longitud (s1s2)O(1)(d1d2)O(n).Tomamos entonces una correct test sequence ∆ ⊆ kn2+n, que sera un conjunto de cardinal(s1s2)O(1)(d1d2)O(n), y aplicamos el procedimiento anterior a cada uno de sus elementos.Obtenemos ası un algoritmo de complejidad secuencial de orden (s1s2)O(1)(d1d2)O(n) quepermite decidir si el conjunto Z es vacıo o no.

Combinando lo visto en la Seccion 3.2 con el algoritmo de Giusti y Heintz y su modificaciondada en la Proposicion anterior, obtenemos el algoritmo para la reescritura de una formulaen forma normal disyuntiva que se enuncia en el siguiente Teorema.

Teorema 18. Sean f1, . . . , fs ∈ k[X1, . . . , Xn] polinomios de grados acotados por d ≥ n.Sea X un conjunto (f1, . . . , fs)-definible dado por una formula Φ. Sea |Φ| la longitud de

la formula Φ, y sea D :=n∑

k=0

(s

k

)dk. Salvo por una preparacion previa, se puede escribir

al conjunto X como union de (f1, . . . , fs)-celdas mediante un algoritmo bien paralelizabley sin divisiones de complejidad secuencial O(|Φ|)D + sO(1)dO(n)D2.

Demostracion. El algoritmo se desarrolla segun lo explicado en la Seccion 3.2. Para realizarlos tests de consistencia necesarios en cada etapa procederemos como sigue:Sea Z un conjunto del tipo de los que aparecen en las distintas etapas del algortimo.Entonces existen subconjuntos M y N de 1, . . . , s tales que

Z = x ∈ k′n : fi(x) = 0 ∀ i ∈ M ∧ fj(x) 6= 0 ∀ j ∈ N.

Si M = ∅, entonces Z es una variedad algebraica afın, y aplicando el algoritmo del Teorema16 decidimos si es vacıo o no.

28

Si N = ∅, entonces Z 6= ∅ si y solo si cada uno de los polinomios f1, . . . , fs es no nulo.Esto puede determinarse por medio de una correct test sequence en tiempo secuencial deorden sO(1)dO(n).Finalmente, si M 6= ∅ y N 6= ∅ aplicamos el algoritmo dado en el Lema anterior.

Queda por ver que el algoritmo construido es bien paralelizable y calcular su complejidadsecuencial. Esta va a depender de la complejidad secuencial de los algoritmos empleadospara llevar a cabo los tests de consistencia en las distintas etapas y de la cantidad de con-juntos a testear que, como veremos, depende esencialmente de la cantidad de (f1, . . . , fs)-celdas de IAn.En primer lugar, observemos que, de acuerdo al Teorema 16 y la Proposicion 17, cada testde consistencia tiene una complejidad secuencial de orden sO(1)dO(n).Acotemos ahora la cantidad de tests de consistencia que habra que efectuar:Sea j, 1 ≤ j ≤ log s. En la j-esima etapa del algoritmo se consideran los

s

2jconjuntos

Y(j)i := ∆1 ∩∆2 / ∆1 ∈ Z

(j−1)2i−1 ∧ ∆2 ∈ Z

(j−1)2i (1 ≤ i ≤ s

2j)

y para cada uno de los elementos de estos conjuntos se determina si es vacıo o no,obteniendose ası los conjuntos Z

(j)i , 1 ≤ i ≤ s

2j.

Estimaremos entonces la cantidad de elementos de cada uno de los conjuntos Y(j)i .

Observar que para cada 1 ≤ h ≤ s

2j−1los elementos de Z

(j−1)h son subconjuntos no vacıos

de IAn, disjuntos dos a dos, definibles por los polinomios f1, . . . , fs. En consecuencia,cada uno de ellos contendra al menos una (f1, . . . , fs)-celda, con lo que la cantidad deelementos de Z

(j−1)h esta acotada por la cantidad de (f1, . . . , fs)-celdas. Por el Teorema 4,

sabemos que la cantidad de (f1, . . . , fs)-celdas de IAn esta acotada por D :=n∑

k=0

(s

k

)dk.

Luego, para cada 1 ≤ h ≤ s

2j−1, el conjunto Z

(j−1)h tiene a lo sumo D elementos y, en

consecuencia, la cantidad de elementos de Y(j)i esta acotada por D2.

Luego, para cada 1 ≤ j ≤ log s, en la etapa j habra que efectuar a lo sumos

2jD2 tests de

consistencia.Por lo tanto, la cantidad total de tests de consistencia a efectuar en el desarrollo del

algoritmo esta acotada porlog s∑

j=0

s

2jD2 ≤ 2sD2.

Combinando esta cota con la obtenida para la complejidad secuencial de cada test deconsistencia vemos que la complejidad secuencial del paso en que se determinan todas las(f1, . . . , fs)-celdas de IAn es de orden sO(1)dO(n)D2.El algoritmo finaliza decidiendo, para cada una de las (f1, . . . , fs)-celdas halladas, si estacontenida en el conjunto dado o no como se explico en la Seccion 3.2. Esto tiene un costode orden O(|Φ|), y habra que hacerlo para cada una de las celdas, luego, a lo sumo D

29

veces. Ası, la complejidad secuencial de este ultimo paso es de orden O(|Φ|)D. Para lascotas de complejidad en paralelo, notar que este paso puede realizarse simultaneamentepara todas las celdas encontradas.Por lo tanto, podemos escribir al conjunto X como union de (f1, . . . , fs)-celdas por mediode un algoritmo de complejidad secuencial O(|Φ|)D + sO(1)dO(n)D2.El algoritmo exhibido resulta ser bien paralelizable debido a la forma de arbol binario enque se construye y porque los algoritmos utilizados para realizar los tests de consistenciaen los pasos intermedios lo son.

5. Una aplicacion: Eliminacion de cuantificadores

En esta seccion presentaremos, a modo de ejemplo de aplicacion del algoritmo de reescriturade formulas que hemos dado, un algoritmo efectivo para la eliminacion de cuantificadoressobre un cuerpo algebraicamente cerrado (ver [Puddu-Sabia, 1998]).

5.1. Nociones logicas basicas

Para comenzar, daremos algunas definiciones y estableceremos la notacion que se utilizaraa lo largo de la presente seccion.

En lo sucesivo, k denotara a un cuerpo y k a su clausura algebraica.Consideraremos el lenguaje de primer orden o lenguaje elemental sobre k con cons-tantes en k, denotado por L.Los sımbolos no logicos de L seran los siguientes:

i) Para cada a ∈ k tenemos una constante que tambien llamaremos a.ii) Los sımbolos de funciones: + , − , .

iii) El sımbolo de relacion =Las variables de L seran consideradas como indeterminadas X1, . . . , Xn, . . . sobre k (in-finitas numerables), y los terminos del lenguaje, representados por polinomios en esasindeterminadas con coeficientes en k (notar que cada termino involucra finitas variables).De esta manera, un termino tıpico sera de la forma F ∈ k[X1, . . . , Xn] y una formulaatomica tıpica sera F = 0. Para la negacion de esta formula escribiremos F 6= 0.El lenguaje L se construye a partir de las formulas atomicas usando los conectivos logicos∧,∨ y ¬, y los cuantificadores de primer orden ∃ y ∀ aplicados a elementos de k (no aconjuntos, relaciones ni predicados de mayor orden de k).Ası, una formula Φ cuyas variables son X1, . . . , Xn esta formada a partir de formulasatomicas que involucran polinomios F1, . . . , Fs ∈ k[X1, . . . , Xn].Se llama variables ligadas o cuantificadas a aquellas que aparecen en una formulaacompanadas por un cuantificador, ya sea existencial o universal. A las restantes variablesque aparecen en la formula se les dice variables libres.

30

Sean Φ y Ψ dos formulas del lenguaje L. Diremos que Φ y Ψ son equivalentes conrespecto a k si se verifican las dos condiciones siguientes:

i) Φ y Ψ tienen el mismo numero de variables libresii) Si m es la cantidad de variables libres de Φ (y de Ψ) entonces, para cada m-upla

x = (x1, . . . , xm) ∈ km, Φ(x) es verdadera si y solo si Ψ(x) lo es (donde Φ(x) significareemplazar las m variables libres de Φ por x1, . . . , xn).

Cuando en una formula Φ todos los cuantificadores aparezcan al principio de la misma,diremos que la formula es prenexa.Para cada formula Φ definimos la longitud de Φ, que notaremos |Φ|, como la cantidad desımbolos necesarios para escribir a Φ.

5.2. Un algoritmo de eliminacion

Mostraremos a continuacion el algoritmo de eliminacion de cuantificadores construido en[Puddu-Sabia, 1998].El resultado principal de dicho trabajo es el siguiente:

Teorema 19. Sea Φ una formula prenexa con r bloques de cuantificadores que involucras polinomios F1, . . . , Fs ∈ k[X1, . . . , Xn] codificados en forma densa. Sea |Φ| la longitud

de la formula Φ y sea D = max1 +s∑

i=1

deg Fi, n, s.Salvo por una preparacion previa, existe un algoritmo bien paralelizable y sin divisiones decomplejidad secuencial del orden de |Φ| .DO(n)r

que encuentra una formula Ψ equivalentea Φ, libre de cuantificadores. La longitud de la formula Ψ, ası como tambien la cantidadde polinomios que aparecen en ella, es del orden de DO(n)r

. Ademas, los polinomios desalida tienen grados acotados por DO(n)r

y estan dados por un straight line program delongitud DO(n)r

.

Observemos que esto resuelve el problema general de la eliminacion de cuantificadores parauna formula arbitraria, puesto que a partir de una formula Φ se puede hallar, en tiemposecuencial O(|Φ|), una formula prenexa equivalente a ella sin modificar la longitud ni losgrados de los polinomios involucrados.

El algoritmo de Puddu y Sabia elimina los bloques de cuantificadores de a uno. Dado que∀ es equivalente a ¬∃¬ , se puede suponer que el ultimo bloque de cuantificadores de laformula dada es existencial. Ası, se construye un algoritmo que elimina un solo bloquede cuantificadores existenciales, para luego, iterando este algoritmo tantas veces comoalternancias de bloques de cuantificadores existenciales y universales posea la formuladada, hallar una formula equivalente a ella libre de cuantificadores.Se considera entonces, el caso de una formula prenexa Φ con un solo bloque de cuan-tificadores existenciales que involucra polinomios F1, . . . , Fs ∈ k[X1, . . . , Xn], o sea de la

31

forma∃Xn−m+1 . . . ∃Xn : Ω(X1, . . . , Xn)

con Ω una formula libre de cuantificadores.El primer paso del algoritmo consiste en reescribir la formula Φ dada de manera de reducirel problema a cierto caso particular. Para eso se aplica el algoritmo de reescritura dado enel Teorema 18 a la formula Ω. De esta forma, se encuentra una formula equivalente a Ωque es una disyuncion de conjunciones de formulas de la forma F = 0 o F 6= 0 (la formanormal disyuntiva de Ω).La formula Φ resulta equivalente a una formula del tipo

∃Xn−m+1 . . . ∃Xn :∨

M∈S

i∈M

Fi = 0 ∧∧

j∈1,...,s−M

Fj 6= 0

donde S ⊆ P(1, . . . , s).Teniendo en cuenta que los cuantificadores existenciales conmutan con las disyunciones, esinmediato que esta fomula es equivalente a

M∈S

∃Xn−m+1 . . . ∃Xn :∧

i∈M

Fi = 0 ∧∧

j∈1,...,s−M

Fj 6= 0.

Finalmente, se construye un algoritmo que resuelve el problema de la eliminacion paraformulas del tipo

∃Xn−m+1 . . . ∃Xn :∧

i∈M

Fi = 0 ∧∧

j∈1,...,s−M

Fj 6= 0.

Con respecto a este ultimo problema, comentaremos brevemente los resultados que seobtienen y las ideas en que se basan sus demostraciones.

Sean F1, . . . , Fs ∈ k[X1, . . . , Xn] polinomios cuyo grado total en las variables Xn−m+1, . . .,Xn esta acotado por d ≥ m y cuyo grado total en las variables X1, . . . , Xn−m esta aco-tado por d′, codificados en forma densa en las variables Xn−m+1, . . . , Xn con coeficientespolinomios en k[X1, . . . , Xn−m] dados por un straight line program de longitud L.Sea P ⊆ IAn−m el conjunto

P = (x1, . . . , xn−m) ∈ kn−m / ∃ (xn−m+1, . . . , xn) ∈ km :

F1(x1, . . . , xn) = 0 ∧ . . . ∧ Fs(x1, . . . , xn) = 0.

Proposicion 20. Salvo por una preparacion previa, se puede hallar por medio de unalgoritmo bien paralelizable y sin divisiones de complejidad secuencial L + sO(1)dO(m) unaformula Ψ libre de cuantificadores que verifica

P = (x1, . . . , xn−m) ∈ kn−m / Ψ(x1, . . . , xn−m).

32

La longitud de la formula Ψ es de orden L + sO(1)dO(m) y en ella aparecen a lo sumosO(1)dO(m) polinomios de grados acotados por d′.dO(m), dados por un straight line programde longitud L + sO(1)dO(m).

Demostracion. Por la definicion de P para cada punto (ξ1, . . . , ξn−m) ∈ kn−m se tiene(ξ1, . . . , ξn−m) ∈ P si y solo si

(xn−m+1, . . . , xn) ∈ km : F1(ξ1, . . . , ξn−m, xn−m+1, . . . , xn) = 0 ∧∧ . . . ∧ Fs(ξ1, . . . , ξn−m, xn−m+1, . . . , xn) = 0 6= ∅.

Consideremos el anillo K = k[ξ1, . . . , ξn−m]. Sean f1, . . . , fs ∈ K[Xn−m+1, . . . , Xn] lospolinomios definidos por

fi(Xm−m+1, . . . , Xn) = Fi(ξ1, . . . , ξn−m, Xn−m+1, . . . , Xn) i = 1, . . . , s.

Sea K una clausura algebraica del cuerpo de fracciones de K. Sea V la variedad algebraicadefinida por los polinomios f1, . . . , fs en Km

, que es el conjunto de los ceros comunes de s

polinomios en m variables de grados acotados por d con coeficientes en K. Entonces

(ξ1, . . . , ξn−m) ∈ P ⇐⇒ V 6= ∅ ⇐⇒ dim V ≥ 0

La idea es hallar una condicion polinomial equivalente a que la variedad V sea vacıa pormedio del algoritmo de Giusti y Heintz para el calculo de la dimension (ver Teorema 16).Sin embargo, no es posible aplicar el algoritmo directamente debido a la imposibilidad dedecidir si un elemento dado de K es cero o no, puesto que (ξ1, . . . , ξn−m) es arbitrario. Selo modifica entonces convenientemente.La modificacion se basa en:

1. Cada vez que se necesita decidir si un elemento β del anillo de base es cero o no seconsideran las dos posibilidades: β = 0 y β 6= 0, lo que da lugar a ramificaciones enel algoritmo.

2. Teniendo en cuenta que para cada uno de los polinomios que se obtienen como resul-tados intermedios del algoritmo se conocen cotas para su grado y para la longitud delstraight line program que lo evalua, la condicion de que un polinomio sea el polinomionulo se reemplaza por la de que se anule sobre todos los elementos de una correct testsequence apropiada.

Las cotas para la complejidad secuencial del algoritmo, ası como tambien las de la longitudde la formula de salida Ψ, la cantidad de polinomios que esta formula involucra y lalongitud del straight line program que los evalua, se desprenden de las del Teorema 16 (yla Proposicion 13 en la cual se basa), la cantidad de ramificaciones que se producen en eldesarrollo del algoritmo y el numero de elementos de las corret test sequence utilizadas.

33

De manera analoga a lo hecho en la Proposicion anterior, siguiendo los razonamientosutilizados en la demostracion de la Proposicion 17, se construye un algoritmo que resuelveel problema en el caso de una conjuncion que tambien involucra desigualdades de lospolinomios a cero.

Sean F1, . . . , Fs ∈ k[X1, . . . , Xn] polinomios de grado acotado por d ≥ m en las variablesXn−m+1, . . . , Xn y de grado acotado por d′ en las variables restantes. Sean G1, . . . , Gs′ ∈k[X1, . . . , Xn] con grados en las variables acotados por δ en las variables Xn−m+1, . . . , Xn

y acotados por δ′ en las variables X1, . . . , Xn−m.Los polinomios F1, . . . , Fs, G1, . . . , Gs′ se suponen dados por un straight line program delongitud L.Sea P ⊆ IAn−m el conjunto definido por

P = (x1, . . . , xn−m) ∈ kn−m / ∃(xn−m+1, . . . , xn) ∈ km : F1(x1, . . . , xn) = 0 ∧ . . .

∧ . . . ∧ Fs(x1, . . . , xn) = 0 ∧G1(x1, . . . , xn) 6= 0 ∧ . . . ∧Gs′(x1, . . . , xn) 6= 0

Se obtiene el siguiente resultado:

Proposicion 21. Salvo por una preparacion previa, se puede hallar mediante un algo-ritmo bien paralelizable y sin divisiones de complejidad secuencial L2(s.s′δ)O(1)dO(m), unaformula Ψ libre de cuantificadores que verifica

P = (x1, . . . , xn−m) ∈ kn−m / Ψ(x1, . . . , xn−m)

La longitud de la formula Ψ, ası como tambien la cantidad de polinomios que aparecenen ella, es de orden L2(s.s′.δ)O(1)dO(m). Ademas, los polinomios de salida son de gradoacotado por δ′d′(s′.δ)O(1)dO(m) y estan dados por un straight line program de longitudL2(s.s′δ)O(1)dO(m).

Combinando los algoritmos dados en el Teorema 18 y las Proposiciones 20 y 21, se construyeel algoritmo para la eliminacion de un bloque de cuantificadores existenciales. En lasiguiente Proposicion se calcula la complejidad de este algoritmo.

Proposicion 22. Sea Φ una formula con un solo bloque de cuantificadores existencialesque involucra s polinomios F1, . . . , Fs ∈ k[X1, . . . , Xn] de grados acotados por d ≥ n

codificados en forma densa. Sea D =n∑

k=0

(s

k

)dk.

Salvo por una preparacion previa, existe un algoritmo bien paralelizable y sin divisionesde complejidad secuencial del orden de |Φ| sO(1)dO(n)D2 que encuentra una formula Ψequivalente a Φ, libre de cuantificadores.

34

Demostracion. Si m es la cantidad de variables cuantificadas en la formula dada Φ, estaes de la forma

∃Xn−m+1 . . . ∃Xn : Ω(x1, . . . , xn)

con Ω una formula libre de cuantificadores que involucra polinomios F1, . . . , Fs.Procedemos como sigue:1) Utilizando el algoritmo dado en el Teorema 18, hallamos la forma normal disyuntiva de

Ω mediante un algoritmo bien paralelizable y sin divisiones de complejidad secuencialO(|Φ|)D + sO(1)dO(n)D2.

2) Aplicamos ahora los algoritmos dados en las Proposiciones 20 o 21 en cada uno de losterminos de la disyuncion que se obtiene. (Recordar que cuantificadores existencialesy disyunciones conmutan). Puesto que la complejidad secuencial de estos algoritmoses de orden sO(1)dO(m) y la cantidad de veces que habra que aplicarlos esta acotadapor la cantidad de (F1, . . . , Fs)-celdas (acotada a su vez por D), el costo de este pasoresulta de orden sO(1)dO(m)D.

Como consecuencia de las cotas de complejidad obtenidas en 1) y 2), la complejidad se-cuencial del algoritmo construido esta acotada por |Φ| sO(1)dO(n)D2.

De la demostracion de la Proposicion anterior se desprende que la cantidad de celdasdeterminadas por los polinomios involucrados en la formula considerada aparece de manerafundamental en la medida de complejidad del algoritmo para la eliminacion de un bloquede cuantificadores que hemos presentado.En el trabajo de Puddu y Sabia el calculo de la complejidad de este algoritmo se efectuaen base a la cota para la cantidad de celdas obtenida por J. Heintz (ver [Heintz, 1983])que, en el caso de un conjunto de s polinomios en n variables de grado d, es (1 + sd)n.Observemos que el refinamiento de la cota de Heintz que hemos probado en el Teorema4 nos ha permitido realizar un calculo mas exacto de la complejidad del algoritmo encuestion.

6. Una cota inferior para la cantidad maxima de celdas

En la Seccion 3.1 se obtuvo una cota superior para la cantidad de celdas determinadas enIAn por s polinomios en n variables de grados acotados por d. Una pregunta que surgeentonces es si esta cota es optimal o si puede ser mejorada. En la presente seccion nosdedicaremos al analisis de este problema.En lo sucesivo, k denotara un cuerpo infinito.

35

6.1. Ejemplos

En los siguientes ejemplos, construiremos familias de polinomios (en primer lugar en unavariable y luego en varias variables) tratando de que queden determinadas la mayor can-tidad posible de celdas. A partir de estos ejemplos obtendremos cotas inferiores para elcaso general.

Comenzaremos dando un ejemplo, que constituye un paso intermedio en nuestra cons-truccion, en el que consideraremos una familia de d polinomios f1, . . . , fd ∈ k[X] en unavariable de grado d.Notemos que, tratandose de polinomios en una variable, una celda sera o bien el conjuntode los puntos que no son ceros de ninguno de los polinomios (la celda definida por fj 6= 0para cada 1 ≤ j ≤ d) o bien un numero finito de puntos, que son ceros comunes de algunosde los polinomios (de aquellos que aparecen igualados a cero en la definicion de la celda).Para mantener acotados los grados de los polinomios involucrados, trabajaremos solo conceldas correspondientes a ceros comunes de a lo sumo dos polinomios.

Ejemplo 23. Sean f1, . . . , fd ∈ k[X] polinomios con todas sus raıces en k y sin raıcesmultiples, que satisfacen las siguientes condiciones:

1. Cada polinomio tiene un cero que no es un cero de ninguno de los otros.2. Dados dos polinomios, tienen una raız en comun que no lo es de ninguno de los demas.3. Las raıces involucradas en los ıtems 1 y 2 son las unicas raıces de los polinomios

f1, . . . , fd.

Notemos que, como k es infinito, para cada entero positivo d, existe una familia f1, . . . , fd

de polinomios en k[X] que satisface estas tres condiciones. Mas aun, es facil ver quedeg fi = d para cada 1 ≤ i ≤ d.Calculemos la cantidad de celdas que determina una familia de polinomios que satisfacelas condiciones 1, 2 y 3:Sean 1 ≤ i < j ≤ d. Por las condiciones 1 y 2

Zi = x ∈ kn : fi(x) = 0 y fk(x) 6= 0 ∀ k 6= iZij = x ∈ kn : fi(x) = 0, fj(x) = 0 y fk(x) 6= 0 ∀ k 6= i, j

son conjuntos no vacıos, y en consecuencia (f1, . . . , fd)-celdas.El conjunto

Z = x ∈ kn : fk(x) 6= 0 ∀ 1 ≤ k ≤ dtambien es una (f1, . . . , fd)-celda.Por otro lado, la condicion 3 garantiza que estas son las unicas celdas.Luego, la cantidad de (f1, . . . , fd)-celdas es

d +(

d

2

)+ 1 =

d + d2

2+ 1.

36

En el proximo ejemplo mostraremos una familia de polinomios en varias variables que nosdara una cota inferior para la cantidad de celdas en funcion del numero de variables, lacantidad de polinomios y sus grados.Consideraremos una cantidad suficiente de polinomios que se obtendran modificando lospolinomios construidos en el ejemplo anterior para el caso de una variable. Para obtenerpolinomios en n variables sin aumentar el grado, especializaremos los polinomios en formaslineales convenientemente elegidas.

Ejemplo 24. Sea s un entero positivo. Supongamos que s ≥ nd. Sean m y r el cociente yel resto de la division de s por d. Vamos a construir un conjunto de s polinomios de gradod en n variables tales que el numero de celdas que determinan es

n∑

k=0

(m

k

)(d2 + d

2

)k

+n−1∑

k=0

(m

k

)(r2 + r

2

)(d2 + d

2

)k

.

Sean f1, . . . , fd ∈ k[X] como en el Ejemplo 23.Sean l1, . . . , ln ∈ k[X1, . . . , Xn] n formas lineales homogeneas linealmente independientes.Para cada 1 ≤ i ≤ d, 1 ≤ j ≤ n consideramos el polinomio fij := fi(lj) que se obtiene alespecializar el polinomio fi en la forma lineal lj .Puesto que deg fi = d para cada 1 ≤ i ≤ d, y lj es una forma lineal para cada 1 ≤ j ≤ n,el grado del polinomio fij tambien es d para cada 1 ≤ i ≤ d, 1 ≤ j ≤ n.En primer lugar, determinaremos todas las (fij) 1≤i≤d

1≤j≤n-celdas.

Sea Z una (fij) 1≤i≤d1≤j≤n

-celda. Entonces para cada 1 ≤ j ≤ n, existe una (f1j , . . . , fdj)-celdaZj tal que

Z = Z1 ∩ . . . ∩ Zn. (10)

En forma analoga a lo visto en el Ejemplo 23, vemos que para un valor fijo de j, una(f1j , . . . , fdj)-celda es un hiperplano en IAn o es el complemento de una union finita dehiperplanos (esto para la celda definida por fij 6= 0 ∀ 1 ≤ i ≤ d).

Sean α1, . . . , αc los distintos ceros de los polinomios f1, . . . , fd (donde c =d2 + d

2). En-

tonces cada uno de los hiperplanos involucrados en las celdas consideradas esta dado poruna ecuacion de la forma lj = αk para algun 1 ≤ k ≤ c.Sean Zj1 , . . . , Zjt los conjuntos que aparecen en la interseccion dada en (10) que son hiper-

planos. Consideramos el conjunto W =t⋂

h=1

Zjh, definido por el sistema de ecuaciones

lineales

lj1(x) = αij1

lj2(x) = αij2

......

ljt(x) = αijt

37

donde αij1, . . . , αijn

son algunos de los ceros de los polinomios f1, . . . , fd.Observamos que en el caso particular en que t = n, la celda Z consiste de un unico puntodeterminado por un sistema de ecuaciones lineales (en este caso Z = W ). Por otro lado,la independencia lineal de l1, . . . , ln asegura que cada uno de estos sistemas de ecuacionestiene una unica solucion y por lo tanto determina una (fij) 1≤i≤d

1≤j≤n-celda que es un unico

punto.Si t < n, la celda Z puede escribirse como Z = W ∩ U , donde U es un conjunto abiertodado por la interseccion de los conjuntos que aparecen en (10) pero no en la definicion deW , es decir, U es el subconjunto de IAn definido por

U = x ∈ kn : lj(x) 6= αk ; 1 ≤ j ≤ n, j /∈ j1, . . . , jt ; 1 ≤ k ≤ c

Ahora que tenemos una caracterizacion para las (fij) 1≤i≤d1≤j≤n

-celdas, eligiremos una formalineal ln+1 tal que los polinomios f1 n+1, . . . , fd n+1 que se obtiene al especializar los poli-nomios f1, . . . , fd en ln+1 satisfagan la condicion

(∗) Cada (fij) 1≤i≤d1≤j≤n

-celda que consiste de un unico punto es tambien una (fij) 1≤i≤d1≤j≤n+1

-celda al tomar fi n+1 6= 0 para cada 1 ≤ i ≤ d.

Mas aun, queremos que

(∗∗) Cada subconjunto de l1, . . . , ln, ln+1 de n formas lineales sea linealmente indepen-diente.

La condicion (∗) significa que todas las (fij) 1≤i≤d1≤j≤n

-celdas que son puntos siguen siendo

conjuntos no vacıos al intersecarlas con la (fi n+1)1≤i≤d-celda definida por todos los poli-nomios distintos de cero. Veremos ademas que las condiciones (∗) y (∗∗) implican quetodas las intersecciones entre una (fi n+1)1≤i≤d-celda y una (fij) 1≤i≤d

1≤j≤n-celda que no consta

de un unico punto son conjuntos no vacıos, luego (fij) 1≤i≤d1≤j≤n+1

-celdas.Ahora elegiremos la forma lineal ln+1.Sean x(1), . . . , x(cn) ∈ kn los puntos que son (fij) 1≤i≤d

1≤j≤n-celdas (notar que cn, donde c es

la cantidad ceros distintos de los polinomios f1, . . . , fd, es el numero de estos puntos).La condicion (∗) se satisface es equivalente a

ln+1(x(i)) 6= αk ∀ 1 ≤ i ≤ cn , ∀ 1 ≤ k ≤ c.

Considerando a los coeficientes de la forma lineal ln+1 como n indeterminadas sobre k, estasdesigualdades determinan un conjunto abierto no vacıo de IAn en el cual deben hallarselos coeficientes de ln+1.La condicion (∗∗) tambien puede traducirse en una condicion abierta para los coeficientesde ln+1 (observar que (∗∗) es equivalente a que ciertos determinantes sean no nulos).

38

Por lo tanto, siendo k un cuerpo infinito, existe una n-upla (a1, . . . , an) ∈ kn tal que laforma lineal ln+1 = a1X1 + . . . + anXn verifica las dos condiciones (∗) y (∗∗).Veamos ahora cuales igualdades y desigualdades dan lugar a (fij) 1≤i≤d

1≤j≤n+1-celdas.

Sabemos que las (fij) 1≤i≤d1≤j≤n

-celdas que consisten de un unico punto son (fij) 1≤i≤d1≤j≤n+1

-celdasagregando las condiciones fi n+1 6= 0 para cada 1 ≤ i ≤ d. Queda por analizar el caso delas celdas que no son puntos. Como hemos visto, si Z es una de dichas celdas, existe unsubconjunto j1, . . . , jt ⊆ 1 . . . , n con t < n tal que si

W = x ∈ kn : lj1(x) = αij1∧ lj2(x) = αij2

∧ . . . ∧ ljt(x) = αijt

U = x ∈ kn : lj(x) 6= αk ; ∀ 1 ≤ j ≤ n, j /∈ j1, . . . , jt , ∀ 1 ≤ k ≤ c

entoncesZ = W ∩ U.

Mostraremos que la interseccion de Z con una (fi n+1)1≤i≤d-celda arbitraria Zn+1 es una(fij) 1≤i≤d

1≤j≤n+1-celda.

Supongamos que Zn+1 es un hiperplano. Entonces Zn+1 = ln+1 = αin+1 para algunαin+1 ∈ k. Afirmamos que

Z ∩ Zn+1 = (W ∩ ln+1 = αin+1) ∩ U

es un conjunto no vacıo.Notar que W ∩ ln+1 = αin+1 es el conjunto de las soluciones del sistema de ecuacioneslineales

lj1(x) = αij1

lj2(x) = αij2

......

ljt(x) = αijt

ln+1(x) = αin+1

y por lo tanto es una variedad lineal de codimension t + 1.Si t = n − 1, por la condicion (∗∗) en la definicion de ln+1 esta variedad es un punto, ypor la condicion (∗) pertenece a U . Luego, Z ∩ Zn+1 es una (fij) 1≤i≤d

1≤j≤n+1-celda.

Si t < n− 1, entonces

(W ∩ ln+1 = αin+1) ∩ U c =⋃

1≤j≤nj 6=jh ,1≤h≤t

1≤k≤c

W ∩ ln+1 = αin+1 ∩ lj = αk

Este conjunto, que por la condicion (∗∗) es una union de variedades lineales afines decodimension t+2, esta incluido en la variedad lineal W ∩ln+1 = αin+1, cuya codimensiones t+1. Luego, (W∩ln+1 = αin+1)∩U es no vacıo, es decir, Z∩Zn+1 es una (fij) 1≤i≤d

1≤j≤n+1-

celda.

39

Con un razonamiento analogo al hecho en este ultimo caso, se prueba que la interseccionde una (fij) 1≤i≤d

1≤j≤n-celda que no sea un unico punto con la (fi n+1)1≤i≤d-celda definida por

todos los polinomios distintos de cero es no vacıa, y en consecuencia es una (fij) 1≤i≤d1≤j≤n+1

-celda.Resumiendo, se tiene que las (fij) 1≤i≤d

1≤j≤n+1-celdas de IAn son todas las posibles itersecciones

Z1 ∩ . . . ∩ Zn ∩ Zn+1 donde cada Zj es una (fij)1≤i≤d-celda y a lo sumo n de ellas sonhiperplanos.

Inductivamente, para cada n ≤ k ≤ m podemos obtener una forma lineal lk y los polinomiosfik := fi(lk) (para 1 ≤ i ≤ d si k < m y 1 ≤ i ≤ r si k = m) que satisfacen

(∗) Cada (fij) 1≤i≤d1≤j≤k

-celda que consta de un unico punto es tambien una (fij) 1≤i≤d1≤j≤k+1

-celdasi se considera fi k+1 6= 0 para cada 1 ≤ i ≤ d.

(∗∗) Todo subconjunto l1, . . . , lk, lk+1 de n formas lineales es un conjunto linealmenteindependiente.

Con los mismos argumentos que para el caso k = n vemos que, para cada n ≤ k ≤ m, las(fij) 1≤i≤d

1≤j≤k+1-celdas de IAn son los conjuntos de la forma Z = Z1 ∩ . . . ∩ Zk+1 donde, para

cada 1 ≤ j ≤ k + 1, Zj es una (fij)1≤i≤d-celda.Finalmente, para k = m+1 procedemos de la misma manera pero considerando solamenter de los polinomios construidos. Observemos que una (fi m+1)1≤i≤r-celda es o bien unaunion finita de hiperplanos o bien el complemento de una union finita de hiperplanos.De esta manera obtenemos s = md + r polinomios de grado d en n variables tales que lasceldas que determinan son todas las intersecciones de la forma:

Z = Z1 ∩ . . . ∩ Zm+1

donde, para cada 1 ≤ j ≤ m, Zj es una (fij)1≤i≤d-celda y Zm+1 es una (fi m+1)1≤i≤r-celday, a lo sumo n de los conjuntos Z1, . . . , Zm+1 son hiperplanos o union finita de hiperplanos.Es facil ver que la cantidad de conjuntos de este tipo es

n∑

k=0

(m

k

)(d2 + d

2

)k

+n−1∑

k=0

(m

k

) (r2 + r

2

)(d2 + d

2

)k

y por lo tanto esta es la cantidad de celdas determinadas por los s = md + r polinomios.

6.2. Cantidad maxima de celdas

Para terminar, estimaremos la maxima cantidad de celdas que pueden quedar determinadaspor s polinomios en n variables de grados acotados por d con coeficientes en un cuerpoinfinito k. Esta estimacion se hara a partir de la cota superior demostrada en la Seccion3.1 y de una cota inferior que se desprendera de los ejemplos dados en la seccion anterior.

40

Dados s, n, d ∈ IN denotaremos por σ(s, n, d) a la maxima cantidad de celdas definiblespor s polinomios de grado menor o igual que d en n variables a coeficientes en un cuerpoinfinito k.

Comenzaremos por la obtencion de una cota inferior para σ(s, n, d). Sea d ∈ IN. Vamosa considerar una cantidad s de polinomios que supondremos multiplo de d. Sea entoncesm ∈ IN y sea s := md.De acuerdo al Ejemplo 24, existe una familia de s polinomios f1, . . . , fs en n variables quedeterminan

n∑

k=0

(m

k

)(d2 + d

2

)k

(11)

celdas en IAn.Observemos que para cada 0 ≤ k ≤ n se tiene

(m

k

)(d2 + d

2

)n

=m(m− 1) . . . (m− k + 1)

k!dn(d + 1)n

2n. (12)

Considerando d y n fijos y m variable, vemos que (12) es un polinomio de grado k en m.De esta manera resulta que, haciendo m → ∞, la suma dada en (11) es un numero del

orden demndn(d + 1)n

n! 2n. Recordando que s = md, concluimos que, cuando s → ∞, la

cantidad de celdas que definen los polinomios f1, . . . , fs es del orden desndn

n! 2n.

En consecuencia, se tiene que σ(s, n, d) es asintoticamente mayor o igual quesndn

n! 2n.

Por otro lado, segun lo demostrado en la Seccion 3.1, sabemos que

σ(s, n, d) ≤n∑

k=0

(s

k

)dk

que, de manera analoga a lo hecho en el caso anterior, vemos que es un numero del orden

desndn

n!.

Resumiendo, hemos probado que, cuando s →∞, asintoticamente vale

sndn

n! 2n≤ σ(s, n, d) ≤ sndn

n!.

Esto nos dice que la complejidad de cualquier algoritmo que requiera la escritura en formanormal disyuntiva de una formula que involucra s polinomios de grados acotados por d enn variables sera de orden al menos sndn.

41

Referencias

[Berkowitz, 1984]S. J. Berkowitz, On computing the determinant in small parallel time using a smallnumber of processors, Information Processing Letters 18 (1984), 147-150.

[Fitchas-Galligo, 1990]Noaı Fitchas, A. Galligo, Nullstellenzatz effectif et conjecture de Serre (Theoreme deQuillen-Suslin) pour le calcul formel, Math. Nachrichten 149 (1990), 231-253.

[Fitchas-Galligo-Morgenstern, 1990]Noaı Fitchas, A. Galligo, J. Morgenstern, Precise sequential and parallel complexitybounds for quantifier elimination over algebraically closed fields, Journal of Pure andApplied Algebra 67 (1990), 1-14.

[Giusti-Heintz, 1993]M. Giusti, J. Heintz, La determination des points isoles et de la dimension d’uneveriete algebrique peut se faire en temps polynomial, Computational Algebraic Geom-etry and Commutative Algebra, Proceedings of the Cortona Conference on Compu-tational Algebraic Geometry and Commutative Algebra, Symposia Matematica, VolXXXIV (1993), 216-256.

[Giusti-Heintz-Sabia, 1993]M. Giusti, J. Heintz, J. Sabia, On the efficiency of effective Nullstellensatze, Compu-tational Complexity 3 (1993), 56-95.

[Heintz, 1983]J. Heintz, Definability and fast quantifier elimination in algebraically closed fields,Theoretical Computer Science 24 (1983), 239-277.

[Heintz-Schnorr, 1982]J. Heintz, C. P. Schnorr, Testing polynomials which are easy to compute, Monographie30 de l’Enseignement Mathematique (1982), 237-254.

[Krick-Pardo, 1996]T. Krick, L. M. Pardo, A computational method for diophantine aproximation, Pro-gress in Mathematics 143 (1996), 193-253.

[Lazard, 1977]D. Lazard, Algebre lineaire sur k[x1, . . . , xn] et elimination, Bulletin de la SocieteMathematique de France 105 (1977), 165-190.

42

[Lazard, 1981]D. Lazard, Resolution des systemes d’equations algebriques, Theoretical ComputerScience 15 (1981), 77-110.

[Mulmuley, 1986]K. Mulmuley, A fast parallel algorithm to compute the rank of a matrix over an arbi-trary field, Proc. 18th Annual ACM Therory of computing (1986), 338-339.

[Puddu-Sabia, 1998]S. Puddu, J. Sabia, An effective algorithm for quantifier elimination over algebraicallyclosed fields using straight line programs, Journal of Pure and Applied Algebra 129(1998), 173-200.

43