pós-graduação em ciência da computação · universidade federal de pernambuco centro de...
TRANSCRIPT
Pós-Graduação em Ciência da Computação
“CARACTERIZAÇÃO ARITMÉTICA EM PRIMEIRA
ORDEM DE FUNÇÕES COMPUTÁVEIS EM
ESPAÇO POLINOMIAL”
Por
EMMANUEL FELIX LOPES DA SILVAEMMANUEL FELIX LOPES DA SILVAEMMANUEL FELIX LOPES DA SILVAEMMANUEL FELIX LOPES DA SILVA
Tese de Doutorado
Universidade Federal de Pernambuco
www.cin.ufpe.br/~posgraduacao
RECIFE, JUNHO/2008
Universidade Federal de Pernambuco
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Emmanuel Felix Lopes da Silva
“Caracterização Aritmética em Primeira Ordem de Funções Computáveis em Espaço Polinomial"
ORIENTADOR: Prof. Ruy José Guerra Barretto de Queiroz
CO-ORIENTADOR: Prof. Ricardo Bianconi
RECIFE,JUNHO/2008
Este trabalho foi apresentado à Pós-Graduação em Ciência da
Computação do Centro de Informática da Universidade Federal de
Pernambuco como requisito parcial para obtenção do grau de Doutor em
Ciência da Computação.
Silva, Emmanuel Felix Lopes da
Caracterização aritmética em primeira ordem de funções computáveis em espaço polinomial /
Emmanuel Felix Lopes da Silva. – Recife: O Autor, 2008. 59 folhas : il., fig. Tese (doutorado) – Universidade Federal de Pernambuco. CIn. Ciência da Computação, 2008.
Inclui bibliografia.
1. Complexidade computacional. 2. Aritmética. 3. Fragmentos. 4. PSPACE. I. Título. 511. 352 CDD (22.ed.) MEI2008-079
Resumo
Nesta tese desenvolvemos uma caracterização das funções computáveis em espaçopolinomial por meio da lógica de primeira ordem de seqüência binárias. Provamos,também, um resultado análogo ao Teorema de Parikh sobre limitação polinomialno tamanho de crescimento das funções de�níveis em tal sistema. Este trabalho éuma extensão natural do sistema desenvolvido pelo Professor Fernando Ferreira daUniversidade de Lisboa, que trata das funções computáveis em tempo polinomial.
Palavras chave: complexidade computacional, aritmética, fragmentos,PSPACE.
Abstract
In this work, we develop a characterization of the polynomial space computablefunctions in the �rst order theory of binary strings. We prove a analogous resultto Parikh´s Theorem on the polynomial bound on the growth size of de�nablefunctions. This work is a natural extension of Prof. Fernando Ferreira�s systemof polynomial time computable arithmetic.
Key words: computacional complexity, arithmetic, fragments, PSPACE.
Agradecimentos
Agradeço, primeiramente, à minha família, por sempre estar ao meu lado,fornecendo o carinho e o suporte emocional. Um especial destaque ao meu falecidopai, que com certeza estaria orgulho neste momento.
Ao CIN (Centro de Informática) da Universidade Federal de Pernambuco(UFPE), por ter possibilitado a realização deste doutoramento.
Ao Tribunal Regional Federal da 5a Região (TRF-5a Região), que permitiumeu afastamento com os proventos, propiciando o suporte �nanceiro para queeu pudesse dedicar-me integralmente à pesquisa. Nesse contexto, desejo fazerum agradecimento especial ao Desembargador e Professor Dr. Francisco QueirozBezerra Cavalcanti que, com sua sensibilidade e apoio, contribuiu de forma deci-siva para que o referido afastamento se concretizasse.
Ao orientador Professor Dr. Ruy Queiroz, que sempre con�ou na possibilidadede realizarmos uma pesquisa em nível de doutoramento, discernindo os caminhosa seguir e minimizando os percalços da pesquisa.
Um especial agradecimento ao meu co-orientador Professor Dr. Ricardo Bian-coni, mais que um co-orientador, um amigo, que por meio de seu apoio e tranqüil-idade foi o porto seguro, sempre transmitindo segurança no decurso da pesquisa.
Ao Professor Dr. Fernando Ferreira da Universidade de Lisboa, pelo suporteque me foi dado durante minha estada naquela universidade.
Às bibliotecárias do Centro de Ciências Exatas e da Natureza (CCEN) daUniversidade Federal de Pernambuco (UFPE) Jane Souto Maior, Raquel FerreiraEstevam e Maria das Mercês de Freitas, sempre solicitas e dispostas a colaborarem meus pedidos de material a ser pesquisado.
Às bibliotecárias do Instituto de Matemática e Estatística (IME) da Univer-sidade de São Paulo (USP), pela gentiliza e con�ança no empréstimo do materialnecessário aos meus estudos.
Ao amigo Sérgio da Silva Aguiar, pelas discussões valiosas que mantivemosbem como sua contribuição na formatação do texto desta tese.
À Estela Naomi Nishie, pela amor, carinho e apoio que me foi dado duranteo doutoramento.
À colega Ana Cláudia, da Subsecretaria de Informática do TRF- 5a Região,por ter dispendido o seu precioso tempo de descanso, preparando comigo a apre-sentação.
Ao meu pai, in memoriam
�A Matemática é a rainha da Ciências e a Aritmética é a rainha da Matemática�
Carl Friedrich Gauss
Conteúdo
Conteúdo 1
Introdução 3
1 Tópicos em Teoria da Complexidade Computacional 7
1.1 Teoria da complexidade computacional . . . . . . . . . . . . . . . . . . . . 8
1.2 De�nições básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Alfabetos, palavras e linguagens . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Máquinas de Turing determinísticas (DTM) . . . . . . . . . . . . 8
1.2.3 Máquinas de Turing não-determinísticas (NDTM) . . . . . . . . . 10
1.2.4 Máquinas de Turing determinísticas (DTM) e não-determinísticas
(NDTM) com oráculos . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Classes de complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1 Classes de complexidade baseadas no tempo . . . . . . . . . . . . . 12
1.3.1.1 A classe P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1.2 A classe NP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1.3 Completude NP . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.1.4 A hierarquia polinomial . . . . . . . . . . . . . . . . . . . . . 16
1.3.1.5 O colapso da hierarquia polinomial . . . . . . . . . . . . . . 18
1.3.2 Classes de complexidade baseadas no espaço . . . . . . . . . . . . . 19
1.3.2.1 As classes de complexidade PSPACE e NPSPACE . . . 20
1.3.2.2 Completude PSPACE . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1
2 Aritmética de Peano e alguns de seus Fragmentos 22
2.1 Aritmética de Peano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.1 Sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Fragmentos da aritmética de Peano . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.1 Os fragmentos IABERTO e I�0 . . . . . . . . . . . . . . . . . . . . . 25
2.2.2 Os fragmentos I�0 + 1 e I�0 + exp . . . . . . . . . . . . . . . . . . 26
2.2.3 A aritmética de Buss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.3.1 Relações entre S12 e T12 . . . . . . . . . . . . . . . . . . . . . . 30
2.2.3.2 Axiomatizabilidade �nita da aritmética limitada e o co-
lapso da hierarquia polinomial . . . . . . . . . . . . . . . . . 31
2.2.3.3 As teorias PTCA e PTCA+ . . . . . . . . . . . . . . . . . . 32
2.3 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3 Aritmética Computável em Espaço Polinomial 36
3.1 A teoria PSCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Considerações �nais 54
Referências Bibliográ�cas 56
2
Introdução
Entre o �nal do século XIX e início do século XX, a tentativa de reduzir a matemática a bases
lógicas e seguras conduziu a um esforço de desenvolver a aritmética por intermédio dos sistemas
formais.
Um dos sistemas propostos e também um dos mais conhecidos - o sistema de aritmética
de primeira ordem PA (do inglês, Peano arithmetic), propunha um conjunto de axiomas
que funcionariam como precursores de axiomáticas mais fortes, particularmente de aritmética
de segunda ordem, introduzido por David Hilbert e Paul Bernays na obra Grundlagen der
Mathematik [Hilbert & Bernays, 1968]
Nesses sistemas de aritmética, quando demonstramos uma proposição, não só �camos
sabendo que tal proposição é verdadeira, como também que essa proposição é demonstrável
nessa teoria. Em tal contexto, uma pergunta pode ser feita: quando provamos uma proposição
por meios restritivos, o que mais podemos saber além de sua verdade? Foi Georg Kreisel em
seu artigo Mathematical Signi�cance of Consistency Proofs [Kreisel, 1958] quem colocou essa
indagação. Aqui nosso interesse visa explorar a estratégia que consiste em extrair informação
computacional de demonstrações em sistemas formais.
Essa estratégia, podemos dizer, é uma conseqüência natural dos estudos fundacionais de
Kurt Gödel e Alfred Tarski nos anos 20 do século passado, a respeito da verdade e
demonstrabilidade. Através desses estudos, eles concluíram que verdade e demonstrabilidade
são conceitos distintos, o que nos leva, naturalmente, a explorar a matemática de tal diferença.
Porém, uma di�culdade surge quando colocamos a questão nestes termos. Primeiramente, é
tecnicamente impossível extrair informação computacional genérica de demonstrações em teo-
ria dos conjuntos (ZFC, teoria dos conjuntos Zermelo-Fräenkel incluindo o axioma da escolha).
3
Uma segunda indagação também pode ser feita: supondo que pudéssemos extrair aquela infor-
mação, ela não teria qualquer valor do ponto de vista computacional, visto que as classes de
complexidade obtidas necessitariam de uma grande quantidade de tempo e espaço. Já para os
fundacionistas, a extração de informação computacional é um ponto secundário, pois a preocu-
pação é realizar reduções de teorias não construtivas a outras menos exigentes ontologicamente.
Esse objetivo segue a tradição de Hilbert e constitui um dos campos de investigação da lógica
[Pohlers, 1989]
O mérito de Kreisel ao levantar sua questão foi deslocar um pouco a atenção em Teoria da
Demonstração de preocupações fundacionais para outras mais matemáticas e computacionais.
A partir desse novo foco, os pesquisadores buscam sistemas tais que contenham muitas
demonstrações, portanto, mais algoritmos. Em outros termos, de certas demonstrações em
teorias formais obtemos "receitas" computacionais. Adicionalmente, quanto menos forte for o
sistema axiomático, mais e�cientes são as correspondentes receitas. Vale esclarecer que menos
axiomas signi�ca menos força dedutiva da axiomática; mas e�ciência signi�ca a necessidade de
menos recursos de tempo e/ou espaço para a implementação dos algoritmos. A investigação
fundacional em descobrir demonstrações em sistemas tão fracos e construtivos quanto possíveis
vem ao encontro das investigações mais computacionais.
A pesquisa desenvolvida nesta tese insere-se nesse cenário, conhecido como aritmética limi-
tada. Tal aritmética concentra-se no estudo de teorias formais que são subsistemas da aritmética
de Peano obtidos a partir de restrições sobre a indução.
Nossa linha investigativa segue aquela iniciada por Samuel Buss, estreitamente vinculada
à teoria da complexidade computacional. Essa abordagem consiste na construção de sistemas
formais visando caracterizar determinadas classes de complexidade computacional ou, dito de
outra forma, sistemas cujas funções demonstravelmente totais correspondam exatamente às
funções de determinadas classes.
Entrementes, a teoria da complexidade computacional surge a partir da década de 60 do
século passado, com a evolução dos computadores digitais. Os pesquisadores em ciência da
computação passaram a concentrar seus esforços em veri�car não apenas se diversos problemas
eram solúveis computacionalmente mas também, e principalmente, se as soluções encontradas
eram executadas com e�ciência. Essa nova área teve um crescimento considerável a partir de
4
então. O principal problema em teoria da complexidade é a relação entre computações deter-
minísticas e não-determinísticas: P versus NP , e de uma forma geral se a hierarquia de tempo
polinomial PH colapsa ou não. O problema P versus NP é considerado freqüentemente como
um dos mais importantes problemas em aberto na matemática contemporânea [Smale, 1998].
Signi�cativas são as implicações da teoria da complexidade. Dentre elas, é su�ciente citarmos
o estudo e/ou pesquisa de algoritmos e�cientes ou não-e�cientes em combinatória, otimização
e criptogra�a.
Quanto à aritmética limitada, a questão central é se ela é ou não uma teoria �nitamente
axiomatizável. Em outros termos, se existe um modelo da teoria na qual a hierarquia de tempo
polinomial não colapsa.
A aritmética limitada e a teoria da complexidade computacional estão estreitamente vincu-
ladas em torno do problema P versus NP [Sureson, 1995] e [Sureson, 1996]. Do ponto de vista
prático, podemos citar [Buss, 1997] , [Krajiµcek, 1994].
Em nossa pesquisa, focamos na classe PSPACE (do inglês, polinomial space), a classe de
complexidade limitada polinomialmente no espaço. Desenvolvemos um sistema de aritmética de
1a ordem no qual as funções computáveis em espaço polinomial são exatamente as funções nesse
sistema. Para tanto, a teoria que escolhemos como ponto de partida é a teoria PTCA (polinomial
time computable arithmetic) desenvolvida por Fernando Ferreira [Ferreira, 1988], na qual utiliza
a notação binária, que descreve diretamente as seqüências �nitas de zeros e uns em lugar de uma
notação decimal. A partir de PTCA elaboramos nossa proposta: a teoria PSCA. É oportuno
destacar que nossa pesquisa se enquadra no âmbito da lógica clássica. É importante destacar
que outras teorias formais foram propostas, porém de 2a ordem [Buss, 1986].
Abaixo, fazemos uma apresentação sucinta dos capítulos que compõem nossa trabalho.
No capítulo 1 centramos nossa apresentação nas classes P, NP, co-NP, PSPACE,
NPSPACE, EXP. Para tanto, utilizamos o modelo computacional da máquina de Turing.
Expomos, também, a completude NP, a hierarquia polinomial e a conpletude PSPACE.
Nossa intenção é introduzir o leitor nas classes de complexidade que de alguma forma estão
vinculadas ao nosso trabalho.
No capítulo 2 apresentamos a aritmética de Peano, os fragmentos I�0, I�0+ 1, I�0+
exp, Si2; Ti2 e as teorias PTCA e PTCA
+. Esse capítulo reveste-se de importância em virtude de
5
ser a ponte para a construção de nossa proposta, o sistema PSCA (polinomial space computable
arithmetic) a partir do PTCA.
No capítulo 3 expomos nossa contribuição - a teoria PSCA. Descrevemos essa teoria, que é
uma extensão do sistema PTCA e PTCA+. Demonstramos algumas proposições: a prova de
que toda função gerada no PSCA é computável em espaço polinomial e vice-versa; a caracteri-
zação das funções demonstravelmente recursivas de PSCA e �nalizamos provando um resultado
análogo ao teorema de Parikh em PSCA.
No capítulo 4, o derradeiro, fazemos algumas considerações �nais no âmbito das teorias
fracas, onde a presente pesquisa se insere, e apontamos alguns possíveis trabalhos futuros como
conseqüência de nossas investigações.
6
Capítulo 1
Tópicos em Teoria da Complexidade
Computacional
Neste capítulo fazemos uma apresentação básica das classes de complexidade computacional
P, NP, co-NP, PSPACE, NPSPACE, EXP. O modelo adotado é a máquina de Turing
determinística e suas variantes não-determinísticas e com oráculos. De�nições e proposições
são abordadas no contexto daquelas classes. A questão da completude P e completude
PSPACE bem como a hierarquia polinomial e seu colapso são também abordados.
Não procuramos aqui fazer uma exposição exaustiva, mas tão-somente apresentar os pontos
que são estritamente necessários ao nosso objetivo. Para um estudo detalhado consultar o
clássico [Papadimitriou, 1994]
7
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL1.1 Teoria da complexidade computacional
A teoria da complexidade computacional tem por objetivo central o estudo da e�ciência dos
algoritmos nas soluções das tarefas computacionais sobre um dado modelo de computação.
Com essa meta, entender a quantidade de recursos (tempo, memória, etc.) utilizados pela
computação conduz-nos a dizer se as soluções oferecidas por intermédio dos algoritmos são
e�cientes ou tratáveis. Aplicações dessa teoria se dão, por exemplo, no campo da criptogra�a,
programação linear, e otimização combinatória.
O modelo computacional que adotamos visando expor os conceitos de complexidade de
algoritmos é a máquina de Turing determinística e suas variantes não-determinística e com
oráculo, que descrevemos em seguida. Poder-se-ia escolher outro modelo de computação, mas
todos eles descrevem a mesma classe de algoritmos, logo são equivalentes entre si [Cutland,
1980, pgs. 48-71].
1.2 De�nições básicas
1.2.1 Alfabetos, palavras e linguagens
Um alfabeto é qualquer conjunto � �nito não-vazio de símbolos.
Um símbolo é um elemento de um alfabeto.
Uma palavra é uma seqüência �nita de símbolos de �.
Denotamos o conjunto de todas as palavras de � por �*.
O comprimento jx j de uma palavra x é o número de símbolos que a compõem.
Uma linguagem sobre � é um subconjunto de �*.
O complemento de uma linguagem L, que denotamos por Lc, é de�nida como Lc = �* - L
(o subconjunto de �* composto pelas palavras que não estão em L).
1.2.2 Máquinas de Turing determinísticas (DTM)
Uma máquina de Turing determinística consiste de uma �ta in�nita em ambas as direções -
sua memória - dividida em células, podendo ter, no máximo, um único símbolo em cada uma
delas, e um cabeçote de leitura-escrita, tendo como únicas ações a reescrita do símbolo corrente
8
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
na �ta, a troca do estado de controle e o movimento do cabeçote uma célula para esquerda ou
direita. Abaixo, segue sua de�nição formal.
De�nição 1.1 Uma máquina de Turing determinística (DTM, do inglês, deterministic
Turing Machine) pode ser de�nida como uma 7-upla (Q, �, � ,�; q0,�;F ) onde:
(1) Q é um conjunto �nito de estados;
(2) � é um conjunto �nito de símbolos, denominado alfabeto de entrada;
(3) � é um conjunto �nito de símbolos, denominado alfabeto da �ta;
(4) � é a função de transição de�nida por � : Q� �! Q� �� fE;Dg;
(5) � 2 � é um símbolo especial, denominado branco;
(6) q0 2 Q é o estado inicial;
(7) F = fqa; qrg � Q é o conjunto de estados �nais: aceitação (qa) ou rejeição (qr).
Assumimos que � � �� f�g:
Os símbolos de movimento E e D indicam o movimento do cabeçote para a esquerda ou
para a direita, respectivamente.
Nosso modelo de máquina de Turing é caracterizado pelos seguintes aspectos:
(1) Determinismo: a função de transição � de�ne, no máximo, um movimento para cada
con�guração da �ta.
(2) Não há �ta de entrada especial nem dispositivo de saída. Sempre que a máquina pára,
algum ou todo o conteúdo da �ta pode ser visto como saída.
Uma con�guração de uma máquina de Turing é qualquer descrição instantânea da mesma.
Uma con�guração é completamente determinada pelo estado corrente da máquina, o conteúdo
da �ta e a posição do cabeçote de leitura-escrita. Usamos a notação
"1; :::; "k; qi; "k+1; :::; "n
para a descrição instantânea da máquina de Turing no estado qi, com o conteúdo
"1; :::; "k; "k+1; :::; "n. Esta notação signi�ca que a posição do cabeçote encontra-se sobre a célula
contendo o símbolo imediatamente seguinte a qi. Assumimos que a parte não especi�cada da
�ta contém somente brancos.
Simbolizamos por " ` " um movimento de uma con�guração a outra. Assim, se
9
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
�(q1; "3) = (q2; "4; D),
um movimento possível é
"1; "2; q1; "3; "5 ` "1; "2; "4; q2; "5
Uma con�guração de parada é uma con�guração não de�nida para um dado estado da
máquina de Turing e um símbolo lido pelo cabeçote.
Uma computação é uma seqüência de con�gurações �nalizando com uma con�guração de
parada.
De�nição 1.2 Dizemos que uma DTM T com entrada x pára se a máquina atingir um dos
estados �nais qa ou qr.
De�nição 1.3 Dizemos que uma DTM T aceita uma palavra x se T com entrada x pára no
estado �nal qa.
De�nição 1.4 Uma DTM T reconhece uma linguagem L se para todo x 2 �*,
x 2 L , T aceita x.
Denotamos a linguagem reconhecida pela DTM T por L(T ).
Uma linguagem L é dita reconhecível se existe uma DTM T que a reconhece.
De�nição 1.5 Uma DTM T decide uma linguagem L se para todo x 2 �*, ocorrer:
(a) T pára e aceita (qa) x se, e somente se, x 2 L;
(b) T pára e rejeita (qb) x se, e somente se, x =2 L.
Uma linguagem L é dita decidível se existe uma DTM T que a decide.
1.2.3 Máquinas de Turing não-determinísticas (NDTM)
Uma máquina de Turing não-determinística (NDTM, do inglês, nondeterministic Turing
Machine) é de�nida de forma semelhante às máquinas de Turing determinística (DTM), con-
forme de�nição 1.1, com exceção da função � (a função de transição) que passa a ter a seguinte
forma:
10
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
� : Q� �! }(Q� �� fE;Dg):
Assim, o processo de computação de uma NDTM é o mesmo que em uma DTM, exceto
quando acontecer a seguinte situação:
se em certo passo de uma computação a NDTM se encontra no estado qi e o cabeçote lê o
símbolo "j e, além disso, existirem duas (ou mais) 7-uplas distintas que começam pelo mesmo
par qi "j , então o curso da computação se bifurca, originando duas (ou mais) computações
distintas e independentes. O processo se repete caso aconteça novamente a mesma situação.
Para uma entrada x, chamamos de ramo da computação não-determinística cada uma dessas
computações paralelas.
De�nição 1.6 Dizemos que uma NDTM T pára se um de seus ramos atinge um dos estados
�nais qa ou qr.
De�nição 1.7 Dizemos que uma NDTM T aceita uma palavra x se um de seus ramos atinge
o estado �nal qa.
De�nição 1.8 Uma NDTM T reconhece uma linguagem L se para todo x 2 �*,
x 2 L , T aceita x.
Denotamos a linguagem reconhecida pela NDTM T por L(T ).
A proposição seguinte mostra que:
Proposição 1.9 [Sipser, 2006, pg. 150] Toda NDTM é equivalente a uma DTM.
1.2.4 Máquinas de Turing determinísticas (DTM) e não-determinísticas
(NDTM) com oráculos
De�nição 1.10 Um oráculo para uma linguagem L é um dispostivo capaz de informar se uma
dada palavra w é um elemento de L.
Uma DTM T(NDTM T) com oráculo é uma DTM T (NDTM T ) com uma �ta adicional
chamada uma �ta de oráculo e três estados especiais chamados estado-questão (q?), estado sim
(qsim) e estado não (qn~ao), tal que quando entra no estado-questão após ter escrito uma dada
11
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
palavra sobre a �ta de oráculo, o próximo estado é qsim ou qn~ao, dependendo se a palavra
pertence ou não à linguagem L.
Denotamos por DTM TL (NDTM TL) uma DTM T (NDTM T ) combinada com qualquer
oráculo L.
Todas as de�nições anteriormente apresentadas para uma DTM T e NDTM T se aplicam
a uma DTM TL (NDTM TL).
1.3 Classes de complexidade
A teoria da complexidade computacional tem desenvolvido suas investigações, principalmente,
nas medidas do tempo e espaço (memória) utilizados na solução dos problemas computacionais.
A medida do tempo consiste, basicamente, na contagem do número de passos executados
pela máquina de Turing durante a computação até a parada, para qualquer entrada.
A medida do espaço basea-se na contagem do número de células distintas percorridos pela
máquina de Turing ao executar uma computação até a parada, para qualquer entrada.
De�nição 1.11 Uma classe de complexidade (denotamos por C) baseada no tempo e/ou espaço
consiste no conjunto de linguagens que satisfazem uma determinada propriedade. De�nimos o
complemento de uma classe C por co-C = { Lc : L 2 C}.
1.3.1 Classes de complexidade baseadas no tempo
Nesta seção abordamos as classes P, NP, co-NP, e EXP.
1.3.1.1 A classe P
A classe P inclui todos os problemas solucionáveis em tempo polinomial por uma DTM.
Dizemos que tais problemas são tratáveis computacionalmente.
De�nição 1.12 Uma DTM T é limitada polinomialmente se existe um polinômio p(.) tal
que para qualquer entrada (palavra) x de comprimento n, a máquina pára e utiliza no máximo
p(n) passos.
12
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
De�nição 1.13 A classe de complexidade P é a classe consitituída de toda linguagem que
é decidida por uma DTM T limitada polinomialmente.
Proposição 1.14 [Lewis & Papadimitriou, 1998, pg. 277] A classe P é fechada sob comple-
mento (P = co-P).
Um problema relevante na literatura conhecido como PRIMOS (em inglês, PRIMES ), foi
provado estar em P [Agrawal, Kayal & Saxena, 2004]. PRIMOS é o conjunto de todos os pri-
mos. Podemos obter esse conjunto utilizando o teste de primalidade, que consiste em averiguar
se um número inteiro dado em forma binária (0 e 1) é primo. Sabia-se, preliminarmente, que
PRIMOS estava em NP \ co-NP [Papadimitriou, 1994]. O interesse por esse problema se
dá em função da importância que tem para a criptogra�a [Hopcroft, Motwani & Ullman, 2007,
pgs. 538-549].
1.3.1.2 A classe NP
A classe NP é uma generalização da classe P . Ela inclui todos os problemas solucionáveis
em tempo polinomial por uma NDTM. Por conter problemas que, até o presente, não foram
encontrados algoritmos e�cientes para resolvê-los, a classe NP , diferentemente de P , possui
problemas intratáveis computacionalmente.
De�nição 1.15 Uma NDTM T é limitada polinomialmente se existe um polinômio p(.)
tal que para qualquer entrada x de comprimento n, a máquina pára e utiliza no máximo p(n)
passos.
De�nição 1.16 A classe de complexidade denotada por NP é a classe constituída de toda
linguagem que é decidida por uma NDTM T limitada polinomialmente.
Um exemplo ilustrativo de um problema em NP é o CLIQUE [Sipser, 2006, pgs. 267-268].
Dado um grafo G, um clique é um subgrafo de G com a propriedade de que cada par de seus
vértices ser ligado por uma aresta. Um k -clique é uma clique contendo k vértices (as de�nições
desses conceitos podem ser encontradas em [Sipser, 2006, pgs. 10-11]). Além de CLIQUE estar
em NP , ele é NP-completo [Sipser, 2006, pg. 283].
13
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
Hodiernamente, o maior problema em aberto da teoria da complexidade computacional é
saber se ou não P = NP . A solução dessa questão traria implicações importantes do ponto
de vista prático. Caso P = NP , temos que qualquer algoritmo que solucione um problema
NP em tempo não-polinomial poder ser substituído por um algoritmo em tempo polinomial
(em outras palavras, P = NP implica um limite superior �baixo�em relação à complexidade
de vários problemas). Por outro lado, P 6= NP implica um limite inferior superpolinomial em
relação a complexidade de muitos problemas, o que signi�ca que os problemas mais difíceis ou
intratáveis estão em NP .
Claramente, P � NP , pois toda DTM pode ser considerada uma restrição de uma NDTM.
Mas, não sabemos se P � NP.
A classe co-NP está intimimamente relacionada com P eNP . É o que nos diz a proposição
que se segue.
Proposição 1.17 [Bovet & Crescenzi, 1994, pg. 134] Se co-NP 6= NP, então P 6= NP.
Com o intuito de comparar DTMs com NDTMs em termos de desempenho, devemos de�nir
uma classe mais geral de linguagens. Antes, porém, precisamos de�nir uma DTM limitada
exponencialmente.
De�nição 1.18 Uma DTM T é limitada exponencialmente se existe um polinômio p(.)
tal que para qualquer entrada x de comprimento n, a máquina pára e utiliza no máximo 2p(n)
passos.
De�nição 1.19 A classe de complexidade denotada por EXP é a classe constituída de
toda linguagem que é decidida por uma DTM T limitada exponencialmente.
Proposição 1.20 [Lewis & Papadimitriou, 1998, pg. 296] Se L 2 NP, então L 2 EXP.
Um problema um pouco menos importante que P =?NP e igualmente aberto é saber se
ou não NP = EXP . Pelo que vimos até aqui, temos a seguinte cadeia de inclusões:
P � NP � EXP
14
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
1.3.1.3 Completude NP
O interesse em descobrir problemas em NP e que tenham relação com todos os outros da classe
justi�ca-se em função do fato de se existir uma solução determinística limitada polinomialmente
para qualquer um deles, os problemas restantes emNP também seriam resolvidos a partir dessa
solução determinística limitada polinomialmente. Esses problemas, considerados os mais difíceis
da classe NP , são denominados NP-completos.
A busca por problemas NP-completos tem importância tanto teórica quanto prática.
No âmbito teórico, podemos tentar mostrar que P = NP ou P 6= NP voltando a atenção
em um problema NP-completo e no aspecto prático, esses problemas podem nos ajudar a
evitar desperdício de tempo buscando desnecessariamente uma solução determinística limitada
polinomialmente para um problema especí�co.
Seguimos, apresentando mais algumas de�nições.
De�nição 1.21 Sejam os alfabetos �1 e �2. Uma função f : ��1 ! ��2 é computável se
existe uma DTM T tal que, para toda entrada x, pára com saída f(x).
De�nição 1.22 Sejam os alfabetos �1 e �2. Uma função f : ��1 ! ��2 é computável em
tempo polinomial se existe uma DTM T limitada polinomialmente que computa f .
De�nição 1.23 Sejam dois alfabetos �1 e �2, e L1 � ��1 e L2 � ��2 linguagens. Dizemos
que L1 é redutível a L2 em tempo polinomial (em símbolos, L1 �pL2) se existe uma função
computável em tempo polinomial f : ��1 ! ��2 tal que se x 2 L1 então f(x) 2 L2.
De�nição 1.24 Uma linguagem L é NP-completa se L 2 NP e para toda linguagem
Q 2 NP, Q �pL.
De�nição 1.25 Uma linguagem L é co-NP-completa se L2 co-NP e para toda linguagem
Q 2 co-NP, Q �pL.
Proposição 1.26 [Lewis & Papadimitriou, 1998, pg. 308] Seja L uma linguagem NP-
completa. Então P = NP se, e somente se, L 2 P.
A próxima proposição relaciona problemas NP-completos com a classe co-NP .
15
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
Proposição 1.27 [Bovet & Crescenzi, 1994, pg. 134] Se existe uma linguagem L
NP-completa tal que Lc 2 NP, então co-NP = NP.
1.3.1.4 A hierarquia polinomial
Meyer e Stockmeyer [Garey & Johnson, 1979, pg. 162] observaram que poderiam gerar novas
classes de complexidade a partir daquelas anteriormente de�nidas, obtendo, pois, uma hierar-
quia, denominada hierarquia polinomial (PH ).
A hierarquia polinomial é uma hierarquia de classes de complexidade que generaliza as
classes P ,NP e co-NP utilizando para esse �m as máquinas de Turing determinísticas (DTM)
e não determinísticas (NDTM) com oráculos.
Apresentamos aqui a de�nição da hierarquia polinomial empregando as DTMs (NDTMs)
com oráculos. Logo depois, caracterizamos a hierarquia polinomial via quanti�cadores.
De�nição 1.28 Uma DTM TL (NDTM TL) é limitada polinomialmente se existe um
polinômio p(.) tal que para qualquer entrada (palavra) x, a máquina TL sempre pára depois de
no máximo p(jxj) passos.
Denotamos por L(TL) a linguagem reconhecida por uma DTM T (NDTM) T com oráculo
L.
De�nição 1.29 Seja uma DTM T (NDTM T) com oráculo. Então TC é a classe de linguagens
obtida de máquinas de Turing TL, onde L pertence à classe de complexidade C. Em símbolos,
TC = { L(TL) : L 2 C}
Por exemplo, TNP = { L(TL) : L 2 NP}.
De�nição 1.30 Sejam duas classes de linguagens A e B, de sorte que para cada linguagem L
em A, existe uma máquina de Turing T, tal que L = L(T). Além disso, consideremos a extensão
de T à uma máquina T com oráculo, de forma que essa extensão comporta-se como T (isto é,
L(T) = L(T;)). Então, AB é a classe de linguagens obtida de tais máquinas T, onde L 2 A,
cujo oráculo é uma linguagem da classe B. Em símbolos,
AB = {L(TY ) : L(T;) 2 A e Y 2 B}
16
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
Podemos propriamente instanciar a de�nição 1.30 em alguns casos importantes. Por exem-
plo:
� PC = { L(TY ) : T é uma DTM com oráculo que processa em tempo polinomial e
Y 2 C}
� NPC = { L(TY ) : T é uma NDTM com oráculo que processa em tempo polinomial e
Y 2 C}
De�nição 1.31 (hierarquia polinomial) A hierarquia polinomial (PH) é de�nida como
[k�0�pk (ou [k�0�pk+1ou [k�0�
pk), onde
1. �p0 = �p0 = �
p0 = P
2. �pk+1 = NP�pk , �pk+1 = co-�
pk+1 e �pk+1 = P
�pk com k � 0.
Da de�nição 1.31, segue que �p1 = NP , �p1= co-NP , �
p1 = P , �
p2 = NP
NP e �p2 = PNP .
A �gura abaixo ilustra a hierarquia polinomial.
1 2
Σ
Π Π
3 Δ
Σ1 2
Δ1 2...
A hierarquia do tempo polinomial
Δ Δ Δ21p pp pp p
p p
pp
Proposição 1.32 [Bovet & Crescenzi, 1994, pg. 144] �pk [ �pk � �pk+1 � �pk+1\ �
pk+1, para
todo k � 0.
Não se sabe se as inclusões da proposição 1.32 acima são ou não próprias. De fato, as
seguintes questões permanecem sem resposta:
1. �pk 6= �pk+1, para cada k � 0?
2. �pk+1 6= �pk, para cada k � 1?
17
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
3. �pk 6= �pk \ �
pk, para cada k � 1?
Uma caracterização alternativa da hierarquia polinomial é dada pela proposição abaixo.
Proposição 1.33 [Bovet & Crescenzi, 1994, pg. 145] Para cada k � 0, uma linguagem
L 2 �pk se, e somente se, existe uma linguagem R 2 P e um polinômio p(.) tal que
x 2 L $ (9y1)(8y2) . . . (Qyk ) {(x, y1, . . . , yk) 2 R}
onde jyi j= p(jxj) com 1 � i � k e onde a sequência de quanti�cadores consiste de quanti�-
cadores alternados. Assim, Qi é 9i (8i) se i é impar (par).
De forma similar, para cada k � 0, uma linguagem L 2 �pk se, e somente se, existe uma
linguagem R 2 P e um polinômio p tal que
x 2 L $ (8y1)(9y2) . . . (Qyk ) {(x, y1, . . . , yk ) 2 R}
onde jyi j� p(jxj) com 1 � i � k e a sequência de quanti�cadores consiste de quanti�cadores
alternados. Assim, Qi é 8i (9i) se k é impar (par).
1.3.1.5 O colapso da hierarquia polinomial
Como mencionamos anteriormente, até o momento não há ou não uma prova da inclusão própria
entre as classes sucessivas da hierarquia polinomial. No entanto, inclusões próprias entre alguns
pares de classes sucessivas implica P 6= NP . É o que veri�camos nas proposições a seguir.
Proposição 1.34 [Bovet & Crescenzi, 1994, pg. 149] Assumamos que � pk = � pk para algum
k � 1. Então, �pm = � pm = �pk para todo m � k.
Proposição 1.35 (Segue da proposição 1.38)
a) Seja �p0 6= �pk para algum k � 1. Então, P 6= NP.
b) Se {�pk: k � 0} contém uma quantidade in�nita de classes, então P 6= NP.
Proposição 1.36 [Bovet & Crescenzi, 1994, pg. 149] P 6= NP se, e somente se, P 6= PH.
Mesmo que assumamos P 6= NP , a PH pode colapsar. Uma interessante questão em
aberto é saber, caso PH colapse, qual o menor k para o qual �pk = �pk+1?
18
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
Um aspecto interessante da hirarquia polinomial diz respeito à existência de problemas
completos em cada um de seus níveis [Papadimitriou, 1994, pg. 427]. Descrevemos um deles
nos próximos parágrafos.
Uma fórmula booleana [Sipser, 2006, pg. 271] é dita quanti�cada se cada uma de suas
variáveis está no escopo de algum quanti�cador. O problema QBF (do inglês, quanti�ed boolean
formula) consiste em determinar se uma fórmula booleana quanti�cada, cujos quanti�cadores
estão distribuidos de forma alternada, é verdadeira ou falsa. Assim, podemos de�nir a linguagem
QBF = {' : onde ' é uma fórmula booleana quanti�cada verdadeira com os quanti�cadores
distribuídos de forma alternada}
Consideremos o problema QBF k , onde k representa o número de quanti�cadores na fórmula.
Então,
Proposição 1.37 [Papadimitriou, 1994, pg. 428]Para todo k � 1, QSATk é �pk-completo.
Podemos nos indagar se para a PH existe um problema completo. Provavelmente não
[Papadimitriou, 1994, pg. 428]
Proposição 1.38 [Papadimitriou, 1994, pg. 429] Se existe um problema PH-completo, então
a hierarquia polinomial colapsa em algum nível �nito.
Façamos a seguinte pergunta: há um limite superior para a hierarquia polinomial? A
resposta é sim. A proposição subseqüente nos garante essa a�rmação, mostrando que a classe
PSPACE (de�nimos essa classe mais adiante) é, de certo modo, uma generalização e extensão
da hierarquia polinomial
Proposição 1.39 [Papadimitriou, 1994, pg. 429] PH � PSPACE
1.3.2 Classes de complexidade baseadas no espaço
Nesta seção fazemos um estudo das classes PSPACE , NPSPACE . Com relação às outras
classes baseadas no espaço consultar [Papadimitriou, 1994] .
19
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
1.3.2.1 As classes de complexidade PSPACE e NPSPACE
De�nição 1.40 Uma DTM T é limitada em espaço polinomial se existe um polinômio
p(.) tal que para qualquer entrada x de comprimento n, a máquina pára e utiliza no máximo
p(n) células distintas.
De�nição 1.41 A classe de complexidade denotada por PSPACE é constituída de toda lin-
guagen que é decidida por DTM T limitada em espaço polinomial.
Um exemplo de um problema que está em PSPACE é o QBF (descrito na seção 1.3.1.5).
De�nição 1.42 Uma NDTM T é limitada em espaço polinomial se existe um polinômio
p(.) tal que para qualquer entrada x de comprimento n, a máquina pára e utiliza no máximo
p(n) células distintas.
De�nição 1.43 A classe de complexidade denotada por NPSPACE é a classe constituída de
toda linguagem que é decidida por uma NDTM T limitada em espaço polinomial.
Diferentemente da questão P versus NP , a relação entre PSPACE e NPSPACE não
apresenta di�culdades. É o que concluímos da proposição que apresentamos logo a seguir.
Proposição 1.44 [Sipser, 2006, pg. 306] PSPACE = NPSPACE
Considerando as de�nições das medidas de tempo e espaço que apresentamos na seção 1.3,
concluímos que qualquer problema resolvível por uma DTM (NDTM) limitada polinomialmente
é também resolvível por uma DTM(NDTM) limitada em espaço polinomial.
De acordo com Sipser [Sipser, 2006, pgs. 308-309] temos:
P � NP � PSPACE = NPSPACE � EXP
1.3.2.2 Completude PSPACE
A completude PSPACE para a classe PSPACE é análoga à completude NP introduzida
na seção 1.3.1.3
Utilizamos aqui a mesma de�nição de redutibilidade introduzida na seção 1.3.1.3.
20
CAPÍTULO 1. TÓPICOS EM TEORIA DA COMPLEXIDADECOMPUTACIONAL
De�nição 1.45 Uma linguagem L é PSPACE-completa se L2PSPACE e para toda lin-
guagem Q 2 PSPACE, Q �p L.
Um exemplo instrutivo de um problema PSPACE-completo é o próprio QBF exposto
na seção 1.3.1.5. Podemos encontrar a prova de sua completude em [Papadimitriou, 1994, pg.
456].
1.4 Conclusão
Iniciamos este capítulo com as de�nições das classes de complexidadeP,NP, co-NP,PSPACE,
NPSPACE, EXP, ao mesmo tempo apresentamos de�nições e provas de algumas proposições
que achamos úteis no âmbito da nossa pesquisa. A completude NP, completude PSPACE
e a hierarquia polinomial são também expostas, além das condições para colapso dessa última.
O capítulo que se segue é devotado ao estudo da arimética de Peano (PA) e seus fragmentos
I�0, I�0+ 1, I�0+ exp, S i2; Ti2;PTCA, PTCA
+. Esses dois últimos fragmentos são centrais
para o desenvolvimento de nosso trabalho.
21
Capítulo 2
Aritmética de Peano e alguns de
seus Fragmentos
Neste capítulo abordamos, inicialmente, a aritmética de Peano.Em seguida, discorremos sobre
a teoria que é base para a construção de sistemas mais fracos - a aritmética de Peano. Duas
de�nições dessa teoria são exibidas. Assumimos o conhecimento prévio de teorias de primeira
ordem e seus teoremas associados.
Posteriormente, de�nimos os fragmentos I�0, I�0+ 1, I�0+ exp, Si2; Ti2;PTCA, PTCA
+.
O fragmento PTCA é a base para a construção de fragmento - o sistema formal PSCA. Um es-
tudo detalhado daqueles fragmentos encontram-se em [Buss, 1986], [Buss, 1998] e [Ferreira, 1988].
22
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
2.1 Aritmética de Peano
Nesta seção expomos a sintaxe da aritmética de Peano.
2.1.1 Sintaxe
De�nição 2.1 A teoria PA� cuja linguagem LPA� = {0, 1, , +, . , =, <}, é constituída pelos
seguintes axiomas:
a) x + 0 = x
b) (x + y) + z = x + (y + z)
c) x + y = y + x
d) x < y ! 9z(x + z = y)
e) (0 = x) _ (0 < x)
f) 0 < 1
g) 0 < x ! 1 � x
h) x < y ! x + z < y + z
i) x.0 = 0
j) x.1 = x
k) (x . y) . z = x . (y . z)
l) x . y = y . x
m) (x < y ^ z 6= 0) ! x . z < y . z
n) x . (y + z) = (x . y) + (x . z)
o) (x < y ^ y < z) ! x < z
p) :(x < x)
q) (x < y) _ (x = y) _ (y < x)
onde x, y e z são variáveis livres, as quais consideramos ser universalmente quanti�cadas
nestes axiomas e x � y denota (x < y) _ (x = y).
De�nição 2.2 (Esquema de Indução) Se � é um conjunto de fórmulas, então os axiomas
�- IND são as fórmulas
'(0) ^ 8x ('(x) ! '(x + 1)) ! (8x)'(x)
onde ' é uma fórmula de � tal que pode conter outras variáveis livres além de x.
23
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
De�nição 2.3 A teoria PA é composta pela teoria PA� de�nida em 2.1 e o esquema de
indução de�nido em 2.2 para todas as fórmulas da linguagem de PA.
2.2 Fragmentos da aritmética de Peano
De�nição 2.4 Um fragmento é uma teoria obtida da aritmética de Peano com variações no
esquema de indução.
De�nição 2.5 (quanti�cador limitado e ilimitado) Dizemos que um quanti�cador é
limitado se é da forma 8x � t (. . .) e 9x � t (. . .), abreviações para 8x(x � t ! . . .)
e 9x(x � t ^ . . .), respectivamente, onde t é um termo que não contém x. Caso contrário,
dizemos que o quanti�cador é ilimitado.
De�nição 2.6 (fórmulas Aberta, limitada, �n;�n e �n) Uma fórmula de LPA é Aberta
se, e somente se, não contém quanti�cadores. Uma fórmula de LPA é limitada quando todos
os seus quanti�cadores são limitados. Uma fórmula de LPA é �n se, e somente se, é da forma
9x18x29x3 . . . Qxn ', onde todos os quanti�cadores em ' são limitados (e Q é 9 ou 8
dependendo se n é ímpar ou par). Similarmente, uma fórmula de LPA é �n se, e somente se,
é da forma 8x19x28x3 . . . Qxn ', onde todos os quanti�cadores em ' são limitados (e Q é 8
ou 9 dependo se n é ímpar ou par). Uma fórmula de LPA é �n se, e somente se, é equivalente
logicamente a uma fórmula �n e a uma fórmula �n .
Os blocos de quanti�cadores na de�nição 2.6 podem ser vazios. Assim, qualquer fórmula
�n é automaticamente uma fórmula �n+1 e �n+1 e, de forma semelhante, qualquer fórmula �n
é automaticamente uma fórmula �n+1 e �n+1.
De�nição 2.7 (hierarquia aritmética) O conjunto de fórmulas limitadas é denotado por
�0. Para n � 0, as classes �n e �n de fórmulas de LPA são de�nidas indutivamente por:
a) �0 = �0 = �0.
b) �n+1 é o conjunto de todas as fórmulas da forma (9x)' onde ' 2 �n .
c) �n+1 é o conjunto de todas as fórmulas da forma (8x)' onde ' 2 �n .
(d) �n+1é o conjunto de todas as fórmulas �n e �n :
As classes �n , �n formam a hierarquia aritmética.
24
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
Desde que, como ressaltamos acima, é possível ter blocos de quanti�cadores 9x e 8x vazios,
podemos concluir que �n � �n+1 � �n+1 e �n � �n+1 � �n+1. A �gura abaixo ilustra esse
fato:
Π1 2
Σ
Π Π
3 Δ
Σ1 2 3
Δ Δ1 2
...
3
...
A hierarquia da aritmética
De�nição 2.8 Um fragmento da aritmética de Peano é chamado uma teoria limitada da
aritmética, ou uma teoria da aritmética limitada se é axiomatizada por fórmulas limitadas e
esquemas de indução restritos a fórmulas limitadas.
2.2.1 Os fragmentos IABERTO e I�0
De�nição 2.9 (IABERTO e I�0) Os fragmentos IABERTO (em inglês, IOPEN) e I�0
são fragmentos de PA obtidos por restringir o esquema de indução a fórmulas Aberta e �0,
respectivamente.
De�nição 2.10 Seja uma teoria T contendo outros símbolos além daqueles em LPA. Dizemos
que um termo t(x) é um termo limitante para um símbolo de função f (x) em T se
T `8xf (x ) � t(x ).
De�nição 2.11 Dizemos que f é limitada polinomialmente em T se ela tem um termo
limitante na linguagem LPA.
De�nição 2.12 Seja T uma teoria com linguagem L. Então T é uma teoria limitada polino-
mialmente se ela
a) estende I�0;
b) pode ser axiomatizada por um conjunto de fórmulas limitadas e esquemas de indução
restritos a fórmulas limitadas;
25
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
c) cada símbolo de função f 2 L é limitado polinomialmente em T.
De�nição 2.13 Suponhamos uma teoria T limitada polinomialmente. Dizemos que um símbolo
de função total f (x) não contido em L é �1-defínível (ou �0-interpretável) em T se existe uma
fórmula '(x, y) limitada tal que T ` 8x9!y'(x ; y) e y = f(x) $ '(x; y). Uma função �0-
defínível é também chamada uma função demonstravelmente total.
Proposição 2.14 [Cook & Nguyen, 2006, pg. 39. Teorema de Parikh] Sejam T uma teoria
limitada polinomialmente e '(x, y) uma fórmula limitada. Suponha que T` 8x9y'(x, y). Então
existe um termo t tal que T` 8x9y � t '(x, y), onde t não depende de y.
Pela de�nição 2.13 e proposição 2.14 podemos inferir que o fragmento I�0 não pode de�nir
funções as quais majoram todos os polinômios.
Proposição 2.15 Seja a relação y = 2x representada por uma fórmula limitada 'exp (para
uma prova deste fato consultar [Cook & Nguyen, 2006, pgs. 55-56]. Então,
I�0 6` 8x9y'exp(x ; y)
2.2.2 Os fragmentos I�0 + 1 e I�0 + exp
Em geral, classi�camos os problemas computacionais, do ponto de vista do tempo de execução,
em polinomias e superpolinomiais (todos os problemas não-polinomiais, incluindo, evidente-
mente, os exponenciais) . No entanto, existem problemas que residem entre essas categorias.
Como precisamos que as funções vinculadas a tais problemas sejam totais, para codi�carmos
computações que se processam em tempo polinomial, utilizamos, para esse �m, o fragmento
seguinte:
De�nição 2.16 (I�0 + 1) I�0 + 1 é uma extensão de I�0 com a inclusão do símbolo
não-lógico jxje do axioma
1: 8x9y (y = xjx j)
onde jxj é o comprimento da representação binária de x e o símbolo de função f(x) = y = xjxj
é �1-de�nível pela fórmula y = x:x:::x (jxj-vezes).
26
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
Concernente aos fragmentos I�0 e I�0 + 1, o principio da indução sobre fórmulas envolve
apenas funções com taxas de crescimento inferiores àquelas das funções exponenciais. A�m de
lidarmos com funções com taxas de crescimentos exponenciais, fazemos uso do fragmento que
se segue:
De�nição 2.17 (I�0+exp) I�0+exp é uma extensão de I�0 com a inclusão do símbolo de
axioma
exp: 8x8y9z (z = xy)
especi�cando que a função exponencial é total.
2.2.3 A aritmética de Buss
Em [Buss, 1986] Samuel Buss propõe uma outra abordagem da aritmética limitada, motivada
pela hierarquia polinomial (capítulo 1, seção.1.3.1.4).
As teorias Si2 e Ti2 de Buss formam uma hieraquia de fragmentos de I�0+1, os quais têm
uma estreita relação com as classes de complexidade computacional da hierarquia de tempo
polinomial. As teorias S2 e T2 são extensões conservativas de I�0 +1 (mais à frente citamos
a referência para a prova desse fato).
Uma diferença entre as teorias Si2 e Ti2 e a abordagem I�0 +1 reside no fato que aquelas
usam formas mais fracas do esquesma de indução. É por esse motivo que são incluídos os
símbolos não-lógicos jx je bx/2c, visto que eles são necessários para especi�car os axiomas de Si2e Ti2.
Antes de passarmos à de�nição das teorias Si2 e Ti2, apresentamos alguns enunciados que
nos possibilitam de�nir essas teorias.
De�nição 2.18 (Linguagem da aritmética de Buss) A linguagem da aritmética de Buss
(simbolizamos por LB) é uma extensão da linguagem da aritmética de Peano, LPA, cujos sím-
bolos adicionais são jxj, x # y e bx/2c tais que
a) jxj denota o comprimento da representação binária de x se x > 0. Do contrário, jxj= 0.
b) x # y = 2jxj:jyj- denota a potência de dois cuja representaçãa binária tem comprimento
jxj.jyj+ 1.
c) bx/2c - denota o maior natural menor ou igual a x/2.
27
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
De�nição 2.19 (Quanti�cadores fortemente limitados) Um quanti�cador é dito forte-
mente limitado se é da forma (8x � jtj) e (9x � jtj), onde t é um termo da linguagem LB que
não contém x.
De�nição 2.20 Uma fórmula é dita fortemente limitada se todos os seus quanti�cadores
são fortemente limitados. O conjunto de fórmulas fortemente limitadas é denotado por �b0.
Para k � 1, as classes �bk e �bk de fórmulas (as quais são enunciadas contando-se as alternações
de quanti�cadores limitados, ignorando os quanti�cadores fortemente limitados), são de�nidas
indutivamente por:
a) �b0 = �b0 = �
b0.
b) �bk é indutivamente de�nida por:
b.1) Se ' e são fórmulas �bk , então ' ^ e ' _ são também �bk .
b.2) Se ' é uma fórmula �bk e é uma fórmula �bk , então : e ! ' são também �bk .
b.3) Se ' é uma fórmula �bk e t um termo, então (9x � t)' é também �bk .
b.4) Se ' é uma fórmula �bk e t é um termo, então (8x � jtj)' é também é �bk .
b.5) Se ' é uma fórmula �bk�1 , então ' é também �bk .
c) �bk é indutivamente de�nida por:
c.1) Se ' e são fórmulas �bk , então ' ^ e ' _ são também �bk .
c.2) Se ' é uma fórmula �bk e é uma fórmula �bn , então : e : ! ' são também �bk .
c.3) Se ' é uma fórmula �bk , e t um termo, então (8x � t)' é também �bk .
c.4) Se ' é uma fórmula �bk , então (9x � jtj)' é também �bk .
c.5) Se ' é uma fórmula 9bk�1 , então ' é também �bk .
d) �bk e �bk são os menores conjuntos os quais satisfazem (b) e (c), respectivamente.
O índice superior �b� da de�nição 2.20 vem de �bounded�, versão inglesa da palavra
�limitada�.
De�nição 2.21 (BÁSICO) Um grupo de axiomas da linguagem da aritmética de Buss, LB ,
denominado BÁSICO, consiste de:
1) x � y ! x � y + 1
2) x 6= x + 1
3) 0 � x
28
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
4) x � y ^ x 6= y $ x + 1 � y
5) x 6= 0 ! x 6= 2x
6) x � y _ y � x
7) x � y ^ y � x ! x = y
8) x � y ^ y � z ! x � z
9) j0j= 0
10) j1j= 1
11) x 6= 0 ! j2 . xj= jxj+ 1 ^ j(2 . x) + 1j= jxj+ 1
12) x � y ! jxj� jyj
13) jx # yj= (jxj. jyj) + 1
14) 0 # x = 1
15) x 6= 0 ! (1 # (2. x) = (2 . (1 # x)) ^ (1 # ((2 . x) + 1) = 2 . (1 # x))
16) x # y = y # x
17) jxj= jyj! x # z = y # z
18) jxj= jyj+ jzj! x # w = (y # w) . (z # w)
19) x � x + y
20) (x � y ^ x 6= y) ! (2x + 1 � 2y) ^ (2x + 1 6= 2y)
21) x + y = y + x
22) x + 0 = x
23) x + (y + 1) = (x + y) + 1
24) (x + y) + z = x + (y + z)
25) x + y � x + z $ y � z
26) x . 0 = 0
27) x . (y + 1) = x . y + x
28) x . y = y . x
29) x . (y + z) = (x . y) + (x . z)
30) (1 � x) ! (x . y) � (x . z) $ y � z
31) x 6= 0 ! jxj= bx/2c+ 1
32) x = by/2c $ ((2 . x) = y) _ ((2 . x) + 1 = y)
onde, (x � y) é equivalente a (x < y) _ (x = y),
29
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
(x $ y) é equivalente a (x ! y) ^ (y ! x) e
2 é o termo 1+1
De�nição 2.22 Seja � um conjunto de fórmulas de LB . De�nimos os esquemas de axiomas
de indução para a aritmética de Buss da seguinte forma:
a) �- IND: '0 ^ 8x ('(x )! '(x + 1))! (8x )'(x )
b) �- PIND: '0 ^ 8x ('(x=2)! '(x ))! (8x )'(x )
c) �- LIND: '0 ^ 8x ('(x )! '(x + 1))! (8x )'(jx j)
onde, �- IND é a indução usual,
�- PIND é a indução polinomial e
�- LIND é a indução no comprimento de x.
Como usual, '(x ) na de�nição 2.22 pode conter outras variáveis livres além de x.
De�nição 2.23 (Si2,Ti2, S2, T2, S
(�1)2 eT(�1)2 ) Seja i � 0. As teorias da aritmética limitada
de Buss são
a) S i2 � composta dos axiomas BASICO da de�nição 2.21 e dos esquemas de indução �-
PIND da de�nição 2.22, com � formado por fórmulas �bi .
b) T i2 � composta dos axiomas BASICO da de�nição 2.21 e do esquema de indução �- IND
da de�nição 2.22, onde � é formado por fórmulas �bi .
c) S2 = [ S i2d) T2 = [ T i2e) S(�1)2 e T(�1)2 são as mesmas teorias com apenas os axiomas BÁSICO
Cabe observamos que o índice inferior �2�na de�nição 2.23 denota a presença da função
�#�.
Proposição 2.24 [Buss, 1986, pg. 33] Assumamos BÁSICO. Logo, se �-IND então �-LIND.
2.2.3.1 Relações entre S12 e T12
Pelo que apresentamos na seção anterior, podemos concluir que S 12 � S i2 e T12 � T i2. Nas
proposições seguintes, temos outras relações entre S i2 e Ti2.
30
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
Proposição 2.25 [Buss, 1998, pg. 105]Seja i � 1.
a) Si2 � Ti2.
b) Ti�12 � Si2.
Um problema em aberto é saber se as inclusões S 12 � T 12 � S 22 � T 22 � S32 � . . . são ou
não próprias.
Proposição 2.26 [Buss, 1998, pg. 105] S2 é equivalente a T2.
Proposição 2.27 [Hájek & Pudlák, 1998, pg. 327] Se S2 e T2 são extensões conservativas
[Cook & Nguyen, 2006, pg. 45] de I�0 + 1:
2.2.3.2 Axiomatizabilidade �nita da aritmética limitada e o colapso da hierarquia
polinomial
Uma pergunta que podemos nos fazer é se há uma conexão entre o colapso da hierarquia
polinomial e um possível colapso da hierarquia das teorias da aritmética limitada.
Nesta seção, procuramos trazer fatos a respeito da pergunta suscitada no parágrafo anterior.
Proposição 2.28 [Hájek & Pudlák, 1998, pg. 351] Suponha i � 1. Cada Si2 e Ti2 da hierarquia
da aritmética limitada é �nitamente axiomatizável.
Proposição 2.29 [Hájek & Pudlák, 1998, pg. 353] S2 é �nitamente axiomatizável se, e so-
mente se, S2 é equivalente a Si2 para algum i.
Proposição 2.30 [Hájek & Pudlák, 1998, pg. 353] Seja i � 0. Se a hierarquia polinomial não
colapsa então
a) Si2 6= Si+12 e Ti2 6= Ti+12
b) S2 e T2 não são �nitamente axiomatizáveis.
c) I�0 + 1 não é �nitamente axiomatizável.
d) I�0 não é �nitamente axiomatizável.
31
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
2.2.3.3 As teorias PTCA e PTCA+
Fernando Ferreira, baseando-se no trabalho de Buss [Buss, 1986] apresenta em sua tese de
doutoramento [Ferreira, 1988] a teoria da aritmética computável em tempo polinomial (PTCA,
do inglês, polinomial time computable arithmetic) cuja extensão (denominada PTCA+) é
equivalente à teoria S12 de Buss, cujas funções demonstravelmente recursivas são as funções
computáveis em tempo polinomial. Um aspecto interessante da teoria PTCA é o uso da notação
binária, ou seja, o conjunto f0; 1g� de todas as sequências �nitas (palavras) de zeros e uns,
em substituição aos números naturais. Essa notação, utilizada em ciência da computação,
possibilita uma abordagem mais simples de algumas construções similares desenvolvidas em
[Kaye, 1991] para os números naturais.
A teoria PTCA é central para nossos propósitos, pois a partir dela desenvolvemos a
nossa proposta.
A seguir, apresentamos a teoria PTCA.
De�nição 2.31 (Linguagem de PTCA) A linguagem de PTCA (simbolizamos por LP) é
obtida da linguagem de primeira ordem L por adicionar um símbolo de função para cada de-
scrição (como de�nido mais adiante) de uma função computável em tempo polinomial. Essa
linguagem possui os símbolos de constante �; 0 e 1, os símbolos de função binária _ e �, e os
símbolos de relaçãoLP binária � e =.
Interpretamos � como sendo a palavra vazia, _ representando a concatenação de
palavras formadas de zeros e uns, � para o produto binário (x � y = x _ :::x; jyj-vezes) e
� é usado para a relação de sub-palavra inicial. Usualmente, omitimos o símbolo _. Assim,
para os termos r; t, ao invés de r _ t escrevemos rt. Convencionamos, também, que _ tem
precedência sobre �.
Dizemos que x é uma sub-palavra de y (escrevemos x �� y), se 9z � y(z _ x � y).
Em Lp, a relação 1 � x � 1 � y é abreviada por x � y. Uma quanti�cação limitada é
uma quanti�cação da forma (8x � t:::) e (9x � t ^ :::), as quais são abreviações de 8x(1� x �
1� t! :::) e 9x(1� x � 1� t ^ :::), respectivamente, onde t é um termo no qual x não ocorre.
Uma quanti�cação de sub-palavra é uma quanti�cação da forma (8x �� t:::) e (9x �� t:::), as
quais são abreviações 8x(9w � t(wx � t ! :::) ou 9x(9w � t(wx � t ^ :::), respectivamente,
32
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
onde t é um termo no qual x não ocorre.
Para especi�car o esquema de indução da teoria PTCA de�nida adiante, precisamos da
seguinte de�nição:
De�nição 2.32 A classe de matrizes decidíveis em tempo polinomial é a menor classe
de fórmulas de LP que contém as fórmulas atômicas e é fechada sob operações booleanas e
quanti�cações da forma 8x(x � t ! :::) e 9x(x � t ^ :::), onde t é um termo de LP no qual x
não ocorre.
Visando apresentar mais claramente os axiomas de de�nição de PTCA que expomos na
de�nição abaixo, fazemos uso da seguinte abreviação: escrevemos x �z= y para a fórmula:
(1� z � 1� x ^ y � x ^ 1� z = 1� y) _ (1� x � 1� z ^ y = x)
De�nição 2.33 (A teoria PTCA) PTCA é a teoria de primeira ordem na linguagem Lp da
de�nição 2.31, com os seguintes axiomas não-lógicos:
(1) Axiomas Básicos:
(1.1) x� = x
(1.2) x(y0) = (xy)0
(1.3) x(y1) = (xy)1
(1.4) x� � = �
(1.5) x� y0 = (x� y)x
(1.6) x� y1 = (x� y)x
(1.7) x � �$ x = �
(1.8) x � y0$ x � y _ x = y0
(1.9) x � y1$ x � y _ x = y1
(1.10) x0 = y0! x = y
(1.11) x1 = y1! x = y
(a.12) x0 6= y1
(1.13) x0 6= �
(1.14) x1 6= �
(2)Axiomas de de�nição
33
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
(2.1) funções iniciais:
(2.1.1) E(x) = �
(2.1.2) Pi(x1; :::; xn) = xi; 1 � x � n
(2.1.3) C0(x) = x0
(2.1.4) C1(x) = x1
(2.1.5) Q(x; y) = 1$ x � y
Q(x; y) = 0 _Q(x; y) = 1
(2.2) funções derivadas:
(2.2.1) f(x1; :::; xn) = g(h1(x1; :::; xn); :::; hk(x1;:::; xn));
onde f é a descrição da composição de g; h1; :::; hn:
(2.2.2) f(x1;:::; xn; �) = g(x1; :::; xn)
f(x1; :::; xn; y0) = h0(x1; :::; xn; y; f(x1; :::; xn; y)) �t(x1;:::;xn;y)f(x1; :::; xn; y1) = h1(x1; :::; xn; y; f(x1; :::; xn; y)) �t(x1;:::;xn;y)
onde t é um termo da linguagem L e f é a descrição da interação limitada de g; h0; h1 com
limite t. Essa regra de iteração é limitada no tempo.
(3) Esquema de axioma para indução
A(�) ^ 8x(A(x)! A(x0) ^A(x1))! 8xA(x)
onde A é uma matriz decidível em tempo polinomial, podendo ter outras variáveis livres
além de x.
De�nição 2.34 (A teoria PTCA+) PTCA+ consiste de todos os axiomas de PTCA mas
com o seguinte esquema de indução,
B(�) ^ 8x(B(x)! B(x0) ^B(x1)))! 8xB(x)
onde B(x) é uma matriz-NP, ou seja, B(x) é da forma 9y(y � t^A(y; x)); sendo A uma
matrix (possivelmente com parâmetros) e t um termo de L no qual y não ocorre.
Um problema em aberto é saber se PTCA é ou não uma teoria própria de PTCA+.
Todavia, essas duas teorias de�nem as mesmas funções cujos grá�cos são decidíveis em tempo
polinomial. É o que a�rma a proposição que se segue.
34
CAPÍTULO 2. ARITMÉTICA DE PEANO E ALGUNS DE SEUSFRAGMENTOS
Proposição 2.35 [Ferreira, 1988, pgs. 85-86] Suponhamos que PTCA+ ` 8�x9yA(�x; y), onde
A é uma matrix decidível em tempo polinomial sendo �x e y as únicas variáveis livres de A.
Então, PTCA ` 8�x9yA(�x; y).
Em outros termos, PTCA+ é uma 8�b1-extensão conservativa de PTCA.
2.3 Conclusão
Começamos este capítulo apresentando a aritmética de Peano. Expomos, posteriormente, al-
guns de seus fragmentos, �nalizando com as teorias PTCA E PTCA+. Um aspecto importante
dessas duas últimas teorias diz respeito ao fato que elas lidam com palavras binárias, próprias
do meio computacional.
O capítulo seguinte é voltado a nossa contribuição - a teoria PSCA, uma extensão da PTCA.
35
Capítulo 3
Aritmética Computável em Espaço
Polinomial
Este último capítulo expondo a aritmética de Peano é dedicado a nossa contribuição - a teoria
PSCA. Ele é uma extensão da teoria PTCA elaborado por Ferreira em sua tese de doutoramento
[Ferreira, 1988]. Em nosso sistema provamos alguns resultados que extendem aqueles obtidos
por Ferreira. Por exemplo, mostramos que as funções geradas pelos axiomas de de�nição do
PSCA são exatamente as funções computáveis em espaço polinomial. Por �m demonstramos,
também, para PSCA, um teorema equivalente ao teorema de Parikh.
36
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIAL3.1 A teoria PSCA
A teoria da aritmética PSCA (do inglês, polynomial space computable arithmetic) é uma ex-
tensão da teoria PTCA, visando incorporar as funções computáveis em espaço polinomial. Para
tanto, introduzimos uma nova regra de iteração limitada no espaço, utilizando a de�nição da
função sucessor por iteração limitada no tempo, como segue:
De�nição 3.1 De�nimos a função sucessor da seguinte forma:
suc(�) = 0
suc(x0) = x1
suc(x1) = suc(x)0
onde o termo limitante da iteração pode ser tomado como t(x) = x0. Esta é, de fato, a
função sucessor da aritmética, computada em forma binária.
De�nição 3.2 (A teoria PSCA) PSCA consiste da teoria PTCA com a incorporação dos
seguintes itens:
(1) Axioma de de�nição
(a) a função sucessor
suc(�) = 0
suc(x0) = x1
suc(x1) = suc(x)0
(b) a função derivada:
f(x1;:::; xn; �) = g(x1; :::; xn)
f(x1; :::; xn; suc(y)) = h(x1; :::; xn; y; f(x1; :::; xn; y)) �t(x1;:::;xn;y)onde t é um termo da linguagem L e f é a descrição da interação limitada de g; h com
limite t. Esta iteração é limitada no espaço.
(2) Esquema de axioma para indução
Para especi�car esse esquema, precisamos de�nir a classe de matrizes decidíveis em espaço
polinomial. Ela é a menor classe de fórmulas de LPS (linguagem do PSCA obtida de L por
adicionar um símbolo de função para cada descrição de uma função computável em espaço poli-
nomial) que contém as fórmulas atômicas e é fechada sob operações booleanas e quanti�cações
37
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALda forma 8x(x � t ! :::), 8x(1 � x � 1 � t ! :::), 9x(x � t ^ :::) ou 9x(1 � x � 1 � t ^ :::),
onde t é um termo de LPS no qual x não ocorre.
Com essa de�nição, temos abaixo os esquemas de axiomas para indução:
A(�) ^ 8x(A(x)! A(x0) ^A(x1))! 8xA(x) (indução na notação) (1)
A(�) ^ 8x(A(x)! A(suc(x)))! 8xA(x) (indução plena) (2)
onde A é uma matriz decidível em espaço polinomial, podendo ter outras variáveis livres
além de x.
A teoria PSCA possui, portanto, dois esquemas de indução, o primeiro advindo do PTCA
e o segundo fazendo uso da função sucessor.
Proposição 3.3 [Ferreira, 1988, pg. 15]As seguintes sentenças são verdadeiras:
(1) As funções binárias _;� e � estão na classe P.
(2) As relações =;� e ��são P-decidíveis.
(3) A classe das relações P decidíveis é fechada sob operações booleanas.
(4) Se R1(�x); :::Rn(�x) são relações P-decidíveis e
f(�x) = f1(�x) se R1(�x)
f2(�x) se R2(�x) ^ :R1(�x)
............................................................................
............................................................................
............................................................................
fn(�x) se Rn(�x) ^ :Rn�1(�x) ^ ::::R1(�x)
fn+1(�x) se :Rn(�x) ^ ::::R1(�x)
(5) Se R(�y; x) é uma relação P-decidível então assim são as relações 8x � f(�y)R(�y; x),
8x �� f(�y)R(�y; x), 9x � f(�y)R(�y; x) e 9x �� f(�y; x)R(�y; x), onde f é qualquer P-função.
(6) Para cada relação P-decidível R(�z; x) podemos associar P-funções h(�z; x) e g(�z; x) tal
que,
[9y � xR(�z; y)]! h(�z; x) � x ^R(z; h(�z; x)) e,
[9y �� xR(�z; y)]! g(�z; x) �� ^R(�z; g(�z; x)
Por conseguinte, as sentenças da proposição 3.3 são também verdadeiras em PSCA.
38
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALProposição 3.4 (A caracterização da classe PS) A classe PS de funções geradas pelos
axiomas de de�nição de PSCA é exatamente a classe das funções computáveis em espaço poli-
nomial.
Prova:
Façamos antes da prova, a seguinte observação: para cada polinômio P (X1; :::; Xr) 2
N[X1; :::; Xr] associamos (não unicamente) uma função r-aria limitante t tal que para todo
�1; :::; �r 2 2�!, jt(�1; :::; �r)j = P (j�1j; :::; j�rj), onde 2�! é a classe de palavras constituída de
zeros e uns . Essa associação é realizada através de um homomor�smo � : (N; 0; 1;+; :) !
(2�!; �; 1;_;�) que transforma polinômios P (X1; :::; Xr) 2 N[X1; :::; Xr] em termos na lin-
guagem de 2�!; satisfazendo as seguintes condições:
(1) �(X + Y ) = �(X)_ �(Y )
(2) �(X:Y ) = �(X)� �(Y )
Por exemplo, a função limitante t(�1; �2; �3) = (�1 � �2 � �2) _ (�3 � 11) é associada ao
polinômio P (X1; X2; X3) = X1X22 + 2X3.
Feito esta observação, estamos preparados para a prova.
(=)) Evidentemente, as funções de PS são computáveis em espaço polinomial, pois as
funções iniciais são computáveis em espaço polinomial bem como a computabilidade em espaço
polinomial é fechada sob a operação de composição. A regra de iteração limitada no tempo só
gera funções em PSCA, a partir de funções em PSCA:
- se g(�x); h0; h1 2 PSPACE, com polinômios Pg( �X); Ph0( �X;Y; Z); Ph1( �X;Y; Z) 2 N[ �X;Y; Z]
e t(�x) é um termo, como polinômio correspondente Pt( �X), que delimitam o espaço de com-
putação deles, então f(�x; y) de�nida por
f(�x; �) = g(�x)
f(�x; yi) = hi(�x; y; f(�x; y)) �t(�x) i = 0; 1
é computável em espaço polinomial delimitado por
Pf ( �X;Y ) = Pg( �X) + Ph0(�X;Y; Pt( �X)) + Ph1(
�X;Y; Pt( �X)) + Pt( �X):
O mesmo tipo de argumento serve para a regra de iteração limitada no espaço, apenas
substituindo "yi "por "suc(�y) "na função f acima. Notemos que suc(�x) ocupa espaço linear.
39
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIAL((=) Assumamos que f : (2�!)r ! 2�! é uma função computável em espaço polinomial
por uma máquina de Turing M e P (X1; :::; Xr) 2 N[X1; :::; Xr] um polinômio satisfazendo a
condição:
(COND) para cada �1; :::; �r 2 2�! e con�guração C1 da forma
:::; �; "11; :::; "1m1 ; �; "21; :::; "2m2 ; �; :::; �; "r1; :::; "rmr ; qM ; �; �; �; :::�onde cada "ij 2 f0; 1g, cada
�i é a palavra "i1"i2:::"imi e a �ta à esquerda de "11 consiste de um branco seguido por uma
palavra de simbolos (não necessariamente todos brancos) � há uma computação C1; :::; Ck
tal que cada Cj , 1 � j � k, tem comprimento máximo igual a N = P (m1; :::;mr), com
k � 2N+1� 1, onde 2N+1� 1 é o número de seqüências binárias de comprimento máximo igual
a N � 0; e Ck é da forma :::; �;{1; :::;{t; q; �; �; �; ::: com cada {i 2 f0; 1g e f(�1; :::; �r) = {;
{ sendo a palavra {1; :::;{t (o conteúdo à esquerda de {1 em Ck é igual a parte da �ta de "11
em C1).
A idéia norteadora da prova é de�nir (por iteração limitada) uma P -função execute(�) tal
que, para cada 1 � j � k e cada � 2 2�! com j�j = j, execute(�) codi�ca a con�guração da
�ta Cj (como na terminologia de (COND)).
Dividimos o restante da prova em três passos:
PASSO 1:
Codi�camos uma seqüência (palavra) s de elementos de (0; 1; �) por um elemento � 2 2�!
de acordo com a seguinte tradução: 0 é codi�cado por 01, 1 é codi�cado por 10 e � por
00. O predicado GCodifique(�);o qual vale exatamente para aqueles � 2 2! codi�cando uma
seqüência s, é P -decidível e, portanto, PS-decidível. Dessa forma, temos
GCodifique(�) () 9x � �((1� xx = 1� �) ^ 8y � x(� �yy_ 11 �)).
A equivalência logo acima é correta, pois a codi�cação de uma seqüência qualquer possui
o dobro do comprimento da inicial e, além do mais, a codi�cação, seguindo a codi�cação não
pode �nalizar com 11:
Um código é dito próprio se representa uma seqüência de elementos em f0; 1g sem
nenhum branco. Podemos facilmente observar que o predicado código próprio PCodifique(�) é
P -decidível, logo PS-decidível.
De�nimos, agora, por iteração limitada, uma função em PS codifique(�) da forma seguinte,
40
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALcodifique(�) = �
codifique(x0) = codifique(x)01 �11�x1codifique(x1) = codifique(x)10 �11�x1
Observemos que a de�nição de codifique(�) é correta, pois pela codi�cação adotada no início
deste passo, os dois últimos bits dos códigos codifique(x0) e e codifique(x1) obrigatoriamente
�nalizam com 01 e 10 e o limite adotado (11 � x1) faz sentido pois cada bit de x0 e x1 é
representado por dois bits quando codi�cados.
A função decodifique(�), associando cada código próprio à sequência binária codi�cada por
�, é também uma função em P, por conseguinte uma função em PS. Para constatarmos esse
fato, consideremos a seguinte de�nição e as sentenças 4; 5 e 6 da proposição 3.3,
decodifique(�) = �
decodifique(x0) =
8>>><>>>:� se 9y � x(1� yy = 1� x)
decodifique(x �yy)_ 1 se y � x ^ x �yy_ 1 = x ^ PCode(x �yy)
� caso contrário
decodifique(x1) =
8>>><>>>:� se 9y � x(1� yy = 1� x)
decodifica(x �yy)_ 0 se y � x ^ x �yy_ 0 = x ^ PCode(x �yy)
� caso contrário
A função decodifique(�) também é bem-de�nida. Ela resulta "�"quando o comprimento
de x tem valor par, ou x0 não corresponde a nenhuma palavra codi�cada corretamente.
Caso contrário, a palavra x contém uma sub-palavra y de comprimento par, resultando,
assim, um valor diferente de � em decodifique(�).
Podemos perceber que não foi explicitado um limite para a iteração em decodifique(�) pois
é fácil fornecê-lo (por exemplo, x0 ou x1) .
PASSO 2:
Seja Q = fq1; :::; qng o conjunto de estados da máquinaM e seja "1; :::; "l; qi; "l+1; :::; "m
a con�guração instantânea C. Codi�camos esta con�guração pelo elemento s11:::1t (compri-
mento de 2i-uns) onde s e t codi�cam, respectivamente, as seqüências "1; :::; "l e "l+1; :::; "m.
41
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALO predicado Conf(�), o qual vale apenas para as codi�cações de con�gurações instântaneas, é
facilmente visto ser P -decidível, assim é também PS -decidível. Daí, podemos escrever,
($) Configure(�), 9x; y �� �9z � 1�� (GCodifique(x)^GCodifique(y)^z 6= �^� =
xzzy)
Abaixo, de�nimos as funções P, por conseguinte, também em PS, através de suas ações
sobre o código � de uma con�guração instântanea C (como acima):
(1) scanei(�) := "o código de "l+1"
(2) estado(�) := 11:::1 (i-vezes)
(3) escreva� 0(�) := "o código da con�guração instântanea "1; :::; "l; qi; 0; "l+2; :::; "m "
(4) escreva� 1(�) := "o código da con�guração instântanea "1; :::; qi; "l; 1; "l+2; :::; "m "
(5) escreva� �(�) := "o código da con�guração instântanea "1; :::; "l; qi; �; "l+2; :::; "m "
(6) direita(�) := "o código da con�guração instântanea "1; :::; "l; "l+1; qi; "l+2; :::; "m "
(7) esquerda(�) := "o código da con�guração instântanea "1; :::; "l; "l�1; qi; "l; :::; "m "
(8) para cada j, com 1 � j � n, de�nimos,
troquej := "o código da con�guração instântanea "1; :::; "l; qj ; "l+1; :::; "m "
De�nimos como � o valor destas funções sobre uma seqüência que não codi�ca uma con-
�guração instântanea. A título de exemplo, provamos que as funções escanei(�) e direita(�)
estão na classe P, logo em PS. Quanto às outras funções a demonstração é similar.
Por ($) e (6) da proposição 3.3, existem funções em P, portanto em PS, l; r e q tais que,
Configure(�)! GCodifique(l(�)) ^GCodifique(r(�)) ^ q(�) � 1� � ^ q(�) 6= ^� =
l(�)q(�)q(�)r(�):
Então,
escanei(�) =
8>>>>>><>>>>>>:
01 se Configure(�) ^ 01 � r(�)
10 se Configure(�) ^ 10 � r(�)
00 se Configure(�) ^ 00 � r(�) ou r(�) = �
� caso contrário
42
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALo qual mostra que escanei(�) é uma função em P. Vamos, aqui, considerar o seguinte fato,
11 � 1� � ! 9y � �(y = 00 _ y = 01 _ y = 10 _ y = 11)
Por (6) de proposição 3.3 existe P -função h tal que,
11 � 1� � ! h(�) � � ^ (h(�) = 00 _ h(�) = 01 _ h(�) = 10 _ h(�) = 11)
É possível provar, utilizando argumento similar, que existe uma P -função g tal que,
11 � 1� � ! h(�)g(�) = �
Então,
direita(�) =
8>>><>>>:l(�)h(r(�))q(�)q(�)g(r(�)) se Configure(�) ^ r(�) 6= �
l(�)00q(�)q(�) se Configure(�) ^ r(�) = �
� caso contrário
PASSO 3:
Para cada i, com 1 � i � n, de�nimos os predicados Qi0; Qi1; Qi� da seguinte forma,
Qi0(�)() Configure(�) ^ estado(�) = 11:::1(i-vezes)^escanei(�) = 01
Qi1(�)() Configura(�) ^ estado(�) = 11:::1 ^ escanei(�) = 10
Qi�(�)() Configure(�) ^ estado(�) = 11:::1 ^ escanei(�) = 00
e seja pr�oximoi0 a seguinte função em P, logo em PS,
43
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIAL
pr�oximoi0(�) =
8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:
troquej(direita(escreva� 0)(�))) se (qi; 0) = (qj ; 0; D) está em M ,
para algum j
troquej(direita(escreva� 1)(�))) se (qi; 0) = (qj ; 0; D) está em M ,
para algum j
:
:
:
:
troquej(esquerda(escreva� �)(�))) se (qi; 0) = (qj ; 0; E) está em M ,
para algum j
� se (qi; 0) = (q; ";H) está em M ,
para algum q 2 Q e " 2 f0; 1; �g
As funções pr�oximoi1 pr�oximoi� podem ser de�nidas de forma idêntica.
Seja inicie(�1; :::; �r) := 00codifique(�1)00codifique(�2)00:::00codifique(�r)11 e de-
�na,
execute(�1; :::; �r; �) = inicie(�1; :::; �r)
execute(�1; :::; �r; suc(x)) =
8>>>>>>>>>>>><>>>>>>>>>>>>:
pr�oximoi0(execute(�1; :::; �r; x)) se, para algum i,
tem-se Qi0(execute(�1; :::; �r; x))
pr�oximoi1(execute(�1; :::; �r; x)) se, para algum i,
tem-se Qi1(execute(�1; :::; �r; x))
pr�oximoi�(execute(�1; :::; �r; x)) se, para algum i,
tem-se Qi�(execute(�1; :::; �r; x))
Observemos que a função execute(�1; :::; �r; y) fornece o código de con�guração da máquina
de Turing iniciando com (�1; :::; �r) dando o comprimento em y passos. Dessa forma, impomos
o número de passos que a máquina de Turing irá executar. É aqui que entra o polinômio na
forma da sua função limitante associada t.
Precisamos, agora, de�nir uma função limitante. Para tanto, basta observar como ocorre o
processo de codi�cação das con�gurações. Visto que a cada passo da con�guração adicionamos
44
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALno máximo uma célula, uma função limitante associada com o polinômio
R(X1; :::; Xr; Xr+1) = 2(X1 + :::Xr +Xr+1 + r + n)
é um limite su�ciente para a iteração acima.
Para todo � 2 2�! é verdadeiro que,
Configure(�)! 9x; z �� �(GCodifique(x) ^ PCodifique(z) ^ (l(�) = x00z _ l(�) = z))
e conseqüêntemente, por (6) da proposição 3.3, existe uma função sa�{da(�) (de �) "teste-
munhando o z na fórmula acima ".
Assim, para todo �1; :::; �r 2 2�!;
f(�1; :::; �r) = decodifique(sa�{da(execute(�1; :::; �r; t(�1; :::; �r))))
onde t é qualquer função limitante com o polinômio P, como em (COND). Portanto, f está
na classe PS.
Proposição 3.5 Dadas matrizes em espaço polinomial A1(�x); :::; An(�x) e símbolos de função
f1(�x); :::; fn(�x); fn+1(�x) existe um símbolo de função f(�x) tal que,
PSCA ` (A1(�x)^ f(�x) = f1(�x))_ (:A1(�x)^A2(�x)^ f(�x) = f2(�x))_ :::_ (:A1(�x)^ :::^
:An(�x) ^ f(�x) = fn+1(�x))
Prova. Utilizamos indução numérica para a prova. Vamos, inicialmente, de�nir um símbolo
de função h tal que
PSCA ` h(x1; y) = x _ ((8z � x z1 6= x) ^ h(x; y) = y):
Para tanto, de�nimos h por iteração limitada,8>>><>>>:h(�; y) = y
h(x0; y) = y
h(x1; y) = x
Na de�nição de h, um limitante pode ser o termo t(x; y) = xy.
Sejam os símbolosKA1(�x); :::;KAn+1 representando as funções caraceterísticas f1(�x); :::; fn(�x);
fn+1(�x), respectivamente. Agora, façamos f(�x) = h(f1(�x)KA1(�x); f2(�x))
Para n = 1, temos
45
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALf(�x) = h(f1(�x)KA1(�x); f2(�x)):
Se KA1(�x) = 1, f(�x) = f1(�x)
Se KA1(�x) = 0, f(�x) = f2(�x)
Para n = 2, temos
f(�x) = h((f1(�x)KA1(x); h(f2(�x)KA2(�x); f3(�x)): Com KA1(�x) = 0, segue os dois casos
Se KA2(�x) = 1; f(�x) = f2(�x)
Se KA2(�x) = 0; f(�x) = f3(�x)
Hipótese de indução: vale para A2; :::; An+1 e f2; :::; fn+2. De�nimos a função
g(�x) = h(f2(�x)KA2(�x); h(f3(�x)KA3(�x); :::h(fn+1Kn+1; fn+2)::: e
PSCA ` (A2(�x) ^ g(�x) = f2(�x)) _ ::: _ (:A2(�x) ^A3(�x) ^ g(�x) = f3(�x))::: _ (:A2(�x) ^ :::
::::An+1(�x) ^ g(x) = fn+2(�x))
Agora, com a análise feita para n = 1, segue que
f(�x) = h(f1(�x)KA1(�x); g(�x)) e
PSCA ` (A1(�x) ^ f(�x) = f1(�x)) _ (:A1(x) ^ f(�x) = g(x)) _ ::: _ (:A1(�x) ^ :A2(�x) ^
::::An(�x) ^ g(x) = fn+1(�x).
Proposição 3.6 [Ferreira, 1988, pgs. 33-38] São demonstráveis em PTCA:
(a) (x� y)_ (x� z) = x� yz
(b) (x� y)� z = x� (y � z)
(c) x � y ! wx � wy
(d) (1� x)(1� y) = (1� y)(1� x)
(e) 1� (x� y) = 1� (y � x)
(f) x � y ! w � x � w � y
(g) x � y ! 1� x � 1� y
Segue que a proposição 3.6 é também válida em PSCA.
Proposição 3.7 Para cada matriz decidível em espaço polinomial A(�z; x) existe um símbolo
de função g em LPSnL tal que,
PSCA ` (9y � xA(�z; y))! g(�z; x) � x ^A(�z; g(�z; x)) (1)
PSCA ` (9y(1� y � 1� x)A(�z; y))! (1� g(�z; x) � 1� x) ^A(�z; g(�z; x)) (2)
46
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALProva. Vamos de�nir g por iteração limitada como segue:
g(�z; �) =
8<: � se A(�z; �)
1 caso contr�ario
g(�z; yi) =
8>>><>>>:g(�z; y) se g(�z; y) � y
yi se g(�z; y) * y e A(�z; yi)
yii caso contr�ario
Como vamos realizar a prova utilizando indução, dividimos a mesma em duas etapas:
(a) Indução sobre a notação:
(a.1) Checamos, por indução em y, que g(�z; y) � y ! A(�z; g(�z; y)).
Para y = � temos que
g(�z; �) � �! A(�z; g(�z; �)) vale.
Suponha que vale para y, ou seja, g(�z; y) � y ! A(�z; g(�z; y)). Então,
g(�z; yi) � yi! A(�z; g(�z; yi)) vale, pois de acordo com a de�nição de g temos que
ou g(�z; yi) = g(�z; y) se g(�z; y) � y. Logo, g(�z; yi) � yi! A(�z; g(�z; yi)) vale
ou g(�z; yi) = yi se g(�z; y) * y e A(�z; yi). Portanto, g(�z; yi) � yi! A(�z; g(�z; yi)) vale
ou g�(z; yi) = yii Logo, g(�z; yii) � yii! A(�z; g(�z; yii)) vale.
Daí, segue o resultado.
(a.2) Checamos, por indução sobre x, que (9y � xA(�z; y))! g(�z; x) � x:
Para x = � temos que
(9y � �A(�z; y))! g(�z; �) � � vale.
Suponha que vale para x, isto é, (9y � xA(�z; y))! g(�z; x) � x. Então,
(9y � xiA(�z; y))! g(�z; xi) � xi vale; pois também como g é de�nida segue que
ou g(�z; xi) = g(�z; x) se g(�z; x) � x. Daí, (9y � xiA(�z; y))! g(�z; xi) � xi vale
ou g(�z; xi) = xi se g(�z; x) * x e A(�z; xi). Daí, também, (9y � xiA(�z; y))! g(�z; xi) � xi
vale.
ou g(�z; xi) = xii. Segue que (9y � xiiA(�z; y))! g(�z; xii) � xii
Com as análises feitas em (a.1) e (a.2) obtemos o item (1) da proposição.
(a.3) Checamos, por indução em y, que 1� g(�z; y) � 1� y ! A(�z; g(�z; y)).
Para y = � temos que
1� g(�z; �) � 1� �! A(�z; g(z; �)) vale.
47
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALSuponha que vale para y, ou seja, 1� g(�z; y) � 1� y ! A(�z; g(�z; y)). Então,
1� g(�z; yi) � 1� yi! A(�z; g(�z; yi)) vale, pois de acordo com a de�nição de g temos que
ou g(�z; yi) = g(�z; y) se g(�z; y) � y, ou seja, se 1 � g(�z; y) � 1 � y . Daí, 1 � g(�z; yi) �
1� yi! A(�z; g(�z; yi)) vale
ou g(�z; yi) = yi se g(�z; y) * y, ou seja, 1�g(�z; y) * 1�y; e A(�z; yi). Portanto, 1�g(�z; yi) �
1� yi! A(�z; g(�z; yi)) vale:
ou g(�z; yi) = yi: Portanto, 1� g(�z; yii) � 1� yii! A(�z; g(�z; yii)) vale:
Daí, segue o resultado.
(a.4) Checamos, por indução sobre x, que (9y(1� y � 1� x)A(�z; y))! 1� g(�z; x) � 1� x:
Para x = � temos que
(9y(1� y � 1� �)A(�z; y))! 1� g(�z; �) � 1� � vale.
Suponha que vale para x, isto é, (9y(1� y � 1� x)A(�z; y))! g(�z; x) � x. Então,
(9y(1 � y � 1 � xi)A(�z; y)) ! 1 � g(�z; xi) � 1 � xi vale; pois também como g é de�nida
segue que
ou g(�z; xi) = g(�z; x) se g(�z; x) � x, ou seja, se 1 � g(�z; x) � 1 � x Daí, (9y(1 � y �
1� xi)A(�z; y))! 1� g(�z; xi) � 1� xi vale
ou g(�z; xi) = xi se g(�z; x) * x, ou seja, se 1 � g(�z; x) * 1 � x e A(�z; xi). Daí, também,
(9y(1� y � 1� xi)A(�z; y))! 1� g(�z; xi) � 1� xi vale.
ou g(�z; xi) = xii. Portanto, (9y(1� y � 1� xii)A(�z; y))! 1� g(�z; xii) � 1� xii vale.
Com as análises feitas em (a.3) e (a.4) obtemos o item (2) da proposição.
(b) Indução plena
(b.1) Fazendo a indução sobre y, vamos provar que g(�z; y) � y ! A(�z; g(�z; y))
Para y = � vale, pois
g(�z; �) � �! A(�z; g(z; �)) pela de�nição de g
Seja y = y1:::yn�1yn. Suponha válido para y, ou seja, g(�z; y1:::yn�1yn) � y1:::yn�1yn !
A(�z; g(�z; y1:::yn�1yn)). Dessa forma,
g(�z; suc(y)) � suc(y)! A(�z; g(�z; suc(y)) vale, pois
ou g(�z; suc(y)) = g(�z; y) se g(�z; y) � y. Portanto, g(�z; suc(y)) � suc(y)! A(�z; g(�z; suc(y))
vale
48
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALou g(�z; suc(y)) = suc(y) se g(�z; y) 6� y e A(�z; suc(y)). Logo, g(�z; suc(y)) � suc(y) !
A(�z; g(�z; suc(y))) vale
ou g(�z; suc(y)) = suc(suc(y)). Daí, g(�z; suc(y)) � suc(y)! A(�z; g(�z; suc(y)) vale.
(b.2) Checamos, por indução sobre x, que (9y � xA(�z; y))! g(�z; x) � x:
Para x = � temos que
(9y � �A(�z; y))! g(�z; �) � � vale.
Suponha que vale para x, isto é, (9y � xA(�z; y))! g(�z; x) � x. Então,
(9y � suc(x)A(�z; y)) ! g(�z; suc(x)) � suc(x) vale; pois também como g é de�nida segue
que
ou g(�z; suc(x)) = g(�z; x) se g(�z; x) � x. Daí, (9y � suc(x)A(�z; y))! g(�z; suc(x)) � suc(x)
vale
ou g(�z; suc(x)) = suc(x) se g(�z; x) * x e A(�z; suc(x)). Daí, também,
(9y � suc(x))A(�z; y))! g(�z; suc(x) � suc(x) vale
ou g(�z; suc(x)) = suc(suc(x)). Resulta que (9y � suc(x))A(�z; y)) ! g(�z; suc(x)) � suc(x)
vale.
De (b.1) e (b.2) obtemos o item (1) da proposição
(b.3) Checamos, por indução em y, que 1� g(�z; y) � 1� y ! A(�z; g(�z; y)).
Para y = � temos que
1� g(�z; �) � 1� �! A(�z; g(z; �)) vale.
Suponha que vale para y, ou seja, 1� g(�z; y) � 1� y ! A(�z; g(�z; y)). Então,
1� g(�z; suc(y)) � 1� suc(y)! A(�z; g(�z; suc(y)) vale, pois de acordo com a de�nição de g
temos que
ou g(�z; suc(y)) = g(�z; y) se g(�z; y) � y, ou seja, se 1�g(�z; y) � 1�y . Daí, 1�g(�z; suc(y)) �
1� suc(y)! A(�z; g(�z; s(y)) vale
ou g(�z; suc(y)) = suc(y)) se g(�z; y) * y, ou seja, 1�g(�z; y) * 1�y; e A(�z; suc(y)). Portanto,
1� g(�z; suc(y)) � 1� suc(y)! A(�z; g(�z; suc(y))) vale:
ou g(�z; suc(y)) = suc(suc(y)). Daí, 1� g(�z; suc(y)) � 1� suc(y)! A(�z; g(�z; suc(y)) vale.
Daí, segue o resultado.
(b.4) Checamos, por indução sobre x, que (9y(1� y � 1� x)A(�z; y))! 1� g(�z; x) � 1� x:
Para x = � temos que
49
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIAL(9y(1� y � 1� �)A(�z; y))! 1� g(�z; �) � 1� � vale.
Suponha que vale para x, isto é, (9y(1� y � 1� x)A(�z; y))! g(�z; x) � x. Então,
(9y(1� y � 1� suc(x))A(�z; y))! 1� g(�z; suc(x)) � 1� suc(x) vale; pois também como g
é de�nida segue que
ou g(�z; suc(x)) = g(�z; x) se g(�z; x) � x, ou seja, se 1 � g(�z; x) � 1 � x. Daí, (9y(1 � y �
1� suc(x))A(�z; y))! 1� g(�z; suc(x)) � 1� suc(x) vale
ou g(�z; suc(x)) = suc(x) se g(�z; x) * x, ou seja, se 1� g(�z; x) * 1� x e A(�z; suc(x)). Daí,
também, (9y(1� y � 1� suc(x))A(�z; y))! 1� g(�z; suc(x)) � 1� suc(x) vale.
ou g(�z; suc(x)) = suc(suc(x)): Resulta que (9y(1 � y � 1 � suc(x))A(�z; y)) !
1� g(�z; suc(x)) � 1� suc(x) vale.
Proposição 3.8 Se M é um modelo de PSCA e N é uma substrutura de M , então N é um
modelo de PSCA. Além disso, matrizes decidíveis em espaço polinomial são absolutas entre N
e M , isto é, se A(�x) é uma matriz decidível em espaço polinomial e �a está em N , então
N j= A(�a) se e somente se M j= A(�a)
Prova. Mostramos, inicialmente, por indução na complexidade de A, que matrizes de-
cidíveis em espaço polinomial são absolutas. O único passo necessário do argumento é quando
(1) A(�z; x) é 8y � xB(�z; y) ou (2) A(�z; x) é 8y(1� y � 1� x)B(�z; y). Consideremos �a e b em
N . No caso (1),usando a hipótese de indução, é claro que se M j= A(�a; b) então N j= A(�a; b).
Inversamente, suponhamos que M 6j= A(�a; b). Então, pela proposição 3.7, existe um símbolo de
função g tal que M j= g(�a; b) � b e M 6j= B(�a; g(�a; b)). Visto que g(�a; b) está em N concluímos,
usando a hipótese de indução, que N 6j= A(�a; b). Para o caso 2, o raciocínio é o mesmo
Pelo fato de matrizes decidíveis em espaço polinomial serem absolutas acarreta que os
axiomas de indução valem em N . Para constatar isso, notamos que para qualquer matriz
decidível em espaço polinomial A e qualquer a em N ,
M j= A(�) ^ 8y � a(A(y)! A(y0) ^A(y1))! A(a) e
M j= A(�) ^ 8y � a(A(y)! A(suc(y))! A(a)
onde A pode ter outros parâmetros em N . Novamente, pelo fato de matrízes em espaço
polinomial serem absolutas, isto é também verdade em N e, por lógica apenas, isto implica os
axiomas de indução.
50
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALProposição 3.9 (Caracterização das funções demonstravelmente recursivas
de PSCA) Suponhamos que PSCA ` 8�x9yA(�x; y), onde A é uma matriz decidível em es-
paço polinomial e �x e y são as únicas variáveis livres de A. Então existe um símbolo de função
de LPS tal que PSCA ` 8�xA(�x; f(�x)):
Prova. Pelas proposições 3.8 segue que PSCA tem um axiomatização universal
[Marker, 2002, pg. 47] . Com esse fato e peloo Teorema de Herbrand [Buss, 1998, pg. 48]
segue que PSCA ` 8�xA(�x; f(�x)):
A �m de demonstrar o correlato do Teorema de Parikh no subsistema PSCA, precisamos
da proposição abaixo:
Proposição 3.10 (a) Seja t(x1; :::; xn) um termo da linguagem L. Então,
PSCA ` x1 � y1 ^ :::xn � yn ! t(x1; :::xn) � t(y1; :::; yn)
(b) Para qualquer termo f(�x) da linguagem LPS existe um termo t(�x) da linguagem L -
chamado um termo limitante para f - tal que,
PSCA ` 8x(f(�x) � t(�x))
Prova. (a) Provamos por indução sobre a complexidade do termo t. Partimos do seguinte
fato: se x1 � y1 e x2 � y2 então (1) x1x2 � y1y2 e (2) x1 � x2 � y1 � y2. Assumindo que
x1 � y1 e x2 � y2 e de�nição de � temos 1� x1 � 1� y1 e 1� x2 � 1� y2. Então, (f), (g), (j)
e (g), (z), (x) da proposição 3.6segue que
(1) 1� x1x2 = (1� x1)(1� x2) � (1� x1)(1� y2) = (1� y2)(1� x1) � (1� y2)(1� y1) =
(1� y1)(1� y2) = 1� y1y2(2) 1 � (x1 � x2) = (1 � x1) � x2 � (1 � x1) � y2 = 1 � (x1 � y2) = 1 � (y2 � x1) =
(1� y2)� x1 � (1� y2)� y1 = 1� (y2 � y1) = 1� (y1 � y2).
Portanto, de (1) e (2) concluímos que x1x2 � y1y2 e x1 � x2 � y1 � y2.
(b) Utilizando indução sobre a complexidade de f os seguintes casos:
(1) Para as funções binárias � e _ encontramos facilmente um limitante t(�x):
(2) f(x1; :::; xn) = E(x1; :::; xn)
Tomemos xi, 1 � i � n tal que x1 � xi ^ ::: ^ xn � xi. Assim,
51
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALxi, 1 � i � n tal que x1 � xi ^ ::: ^ xn � xi.
(3) f(x1; :::; xn) = Pi(x1; :::; xn) = xi 1 � xi � n
Escolhendo xi, 1 � i � n tal que x1 � xi ^ ::: ^ xn � xi: Daí,
PSCA ` x1 � xi ^ ::: ^ xn � xi ! f(x1; :::xn) � Pi(x1; :::; xn) = xi
(4) f(x1; :::; xn) = C0(x1:::xn) = x1:::xn0
Tomemos xi, 1 � i � n tal que x1 � xi ^ ::: ^ xn � xi. Logo,
PSCA ` x1 � xi ^ ::: ^ xn � xi ! f(x1; :::xn) � C0(x1:::xn) = x1:::xn0
(6) f(x1; :::; xn) = C1(x1:::xn) = x1:::xn0 = 1
Tomemos xi, 1 � i � n tal que x1 � xi ^ ::: ^ xn � xi. Logo,
PSCA ` x1 � xi ^ ::: ^ xn � xi ! f(x1; :::xn) � C1(x1:::xn) = x1:::xn0
(7) f(x1; :::; xn) = Q(x1::::xn; x1; :::; xn) = 1$ x1:::xn � x1:::xn. Assim,
f(x1; :::; xn) = C0(x1:::xn) = x1:::xn0
PSCA ` x1 � xi ^ ::: ^ xn � xi ! f(x1; :::; xn) � Q(x1::::xn; x1; :::; xn) = 1
(8) f(x1; :::; xn) = Q(x1:::xn; x1::::xn) = 0 _Q(x1:::xn; x1:::; xn) = 1
O raciocinio é semelhante ao item (5), bastando fazer f(x1; :::; xn) = Q(x1:::xn; x1::::xn) = 0
ou f(x1; :::; xn) = Q(x1:::xn; x1::::xn) = 1
(9) Para as funções derivadas
(i) f(x1; :::; xn) = g(h1(x1; :::; xn); :::; hk(x1; :::; xn)) onde
f é a descrição da composição de�nida de g; h1; :::; hk e
(ii) f(x1; :::; xn; �) = g(x1; :::; xn) (iteração limitada no tempo)
f(x1; :::; xn; y0) = h0(x1; :::; xn; y; f(x1; :::; xn; y)) �t(x1;:::;xn;y)f(x1; :::; xn; y1) = h1(x1; :::; xn; y; f(x1; :::; xn; y)) �t(x1;:::;xn;y)onde t é um termo da linguagem L e f é a descrição da iteração limitada de�nida por
g; h0; h1 com limite t.
é su�ciente tomarmos o de maior comprimento entre os limitantes das funções g; h0; h1.
(iii) f(x1; :::; xn; �) = g(x1; :::; xn) (iteração limitada no espaço)
f(x1; :::; xn; suc(y)) = h(x1; :::; xn; y; f(x1; :::; xn; y)) �t(x1;:::;xn;y)é su�ciente tomarmos o de maior comprimento entre os limitantes das funções g; h.
Proposição 3.11 (Teorema de Parikh) Seja A(x̄,y) uma matriz decidível em espaço polino-
mial e suponha que PSCA ` 8�x9yA(�x; y). Então existe um termo t(�x) na linguagem L tal que
52
CAPÍTULO 3. ARITMÉTICA COMPUTÁVEL EM ESPAÇO POLINOMIALPSCA ` 8�x9y(1� y � 1� t(�x))A(�x; y), ou seja, PSCA ` 8�x9y � t(�x)A(�x; y)
Prova. Pelas proposições 3.9 e 3.10 (item b) segue o resultado.
3.2 Conclusão
Neste capítulo expomos nossa contribuição - o fragmento PSCA. Foi de�nida sua linguagem,
os axiomas e, posteriormente, provamos algumas proposições. Esse subsistema tem o mérito de
produzir, a partir dos seus axiomas de de�nição, as funções computáveis em espaço polinomial,
como demonstramos aqui. Caracterizamos as funções demonstravelmente recursivas de PSCA
para, em seguida, provarmos o teorema de Parikh.
O próximo e último capítulo é dedicado, dentre outros coisas, a sugerir alguns possíveis
trabalhos de investigação como conseqüência de nosso sistema.
53
Capítulo 4
Considerações �nais
Neste último capítulo fazemos algumas observações a respeito dos fragmentos da aritmética de
Peano e complexidade computacional, �nalizando-o com algumas sugestões de pesquisa futura
como decorrência de nosso trabalho.
54
CAPÍTULO 4. CONSIDERAÇÕES FINAISO estudo de fragmentos da aritmética de Peano com vistas a representar classes de
complexidade computacional remonta naturalmente de trabalhos anteriores no escopo da
matemática reversa. Matemática reversa é um programa em lógica matemática destinado a
determinar quais axiomas são necessários para provar proposições da matemática. O método
utilizado consiste em ir dos teoremas para os axiomas ao invés da direção usual, dos axiomas
para os teoremas.
Essa atitude reveste-se de uma destacada importância para a ciência da computação, em
virtude de podermos representar classes de complexidade em sistemas aritméticos, os quais
possam nos fornecer respostas a questões em aberto nessa área. Pretedemos que esta tese seja
um pequeno contribuição para esse esforço.
Os trabalhos de Samuel Buss [Buss, 1986], seguido, dentre outros, pelo de Fernando Ferreira
têm trazido contribuições signi�cativas em relacionar a aritmética limitada e o campo da teoria
da complexidade.
Certamente, muito há que se fazer nessa linha de pesquisa. Também atualmente, um esforço
tem sido desenvolvido no âmbito da formalização de resultados matemáticos em sistemas fracos,
buscando transpor para tais sistemas que sejam, digamos, tratáveis, a formalização de partes
da matemática, bastando citar como exemplo o trabalho [?]
Para �nalizar, apresentamos a seguir alguns trabalhos futuros que poderão ser investigadas
como conseqüência de nosso trabalho:
(1) O subsistema PSCA é uma 8�b1-extensão conservativa de PTCA?
Consideremos a função de crescimento exponencial exp: x � y de�nida recursivamente por
x � � = 0
x � (y0) = x� (y1) = (x � y) � x
cujos valores são palavras formadas de zeros de comprimento jxjjyj (o comprimento de x
elevado à potência do comprimento de y).
O subsistema PSCA acrescido da função exp não é �nitamente axiomatizável, pois existem
in�nitos símbolos de função na linguagem. Perguntas:
(2) Podemos reduzir a uma quantidade �nita de axiomas de indução?
55
Referências Bibliográ�cas
[Acióly, Bedregal & Lyra, 2002] Acióly, Benedito Melo, Bedregal, Benjamín René Callejas &
Lyra, Aarão. Introdução à Teoria das Linguagens Formais, dos
Autômatos e da Computabilidade. Natal: Edições UnP.
[Agrawal, Kayal & Saxena, 2004] Agrawal, Manindra, Kayal, Neeraj & Saxena, Nitin. Primes
is in P. Annals of Mathematics, 160, 781-793.
[Boolos & Je¤rey, 1989] Boolos, George S. & Je¤rey, Richard C. Computability and
Logic. New York: Cambridge University Press, 3a edição.
[Bovet & Crescenzi, 1994] Bovet, Daniel Pierre & Crescenzi, Pierluigi. Introdution to the
Theory of Complexity. London: Prentice Hall
[Buss, 1986] Buss, Samuel R. Bounded Arithmetic.Napoli: Bibliopolis.
[Buss, 1997] Buss, Samuel R. Bounded Arithmetic, Cryptography and Com-
plexity. Theoria, volume 63(3): 147-167
[Buss, 1998] Buss, Samuel R. An Introduction to Proof Theory. In Handbook
of Proof Theory, volume 137, pgs. 1-147. Amsterdam: Elsevier
[Carnielli & Epstein, 2005] Carnielli, Walter & Epstein, Richard L. Computabili-
dade, Funções Computáveis, Lógica e os Fundamentos da
Matemática. São Paulo: Editora Unesp
[Cook & Nguyen, 2006] Cook, Stephen & Nguyen, Phuong. Foundations of Proof Com-
plexity: Bounded Arithmetic and Propositional Translations.
Draft.
56
REFERÊNCIAS BIBLIOGRÁFICAS[Cutland, 1980] Cutland, N. J. Computability : an introdution to recursive func-
tion theory. Cambridge: Cambridge University Press
[Ebbinghaus, Flum & Thomas, 1994] Ebbinghaus, H. -D., Flum, J. & Thomas, W. Mathemat-
ical Logic. New York: Spring-Verlag
[Enderton, 2001] Enderton, Herbert B. A Mathematical Introduction to Logic.
San Diego: Academic Press.
[Fernandes e Ferreira, 2002] Fernandes, António M. & Ferreira, Fernando. Groundwork for
Weak Analysis. The Journal of Symbolic Logic, 67(2): 557-578
[Ferreira, 1988] Ferreira, Fernando. Polynomial Time Computable Arithmetic
and Conservative Extensions. Phd thesis. USA: Pennsylvania
State University
[Ferreira, 1990] Ferreira, Fernando. Polynomial Time Computable Arithmetic.
Contemporary Mathematics, American Mathematical Society,
106: 137-156.
[Ferreira, 1994] Ferreira, Fernando. Análise, Exeqüibilidade e Lógica. Em Ac-
tas do III Encontro dos Algebristas Portugueses, pgs. 47-70.
Coimbra: organização de Marques de Sá et al.
[Ferreira, 1994] Ferreira, Fernando. A Feasible Theory for Analysis. The Jour-
nal of Symbolic Logic, 59(3): 1001-101
[Ferreira, Gilda, 2006] Ferreira, Gilda Maria Saraiva Dias. Sistemas de Análise Fraca
para a Integração. Phd thesis. Portugal: Universidade de Lis-
boa
[Ferreira e Oitavem, 2006] Ferreira, Gilda & Oitaven Isabel. An Interpretation of S12 in
�bi -NIA. Portugalia Mathematica, 63(4): 427-450
[Garey & Johnson, 1979] Garey, Michael R. & Johnson, David. S. Computers and In-
tractability: A Guide to the Theory of NP-completeness. New
York: W. H. Freeman and Company.
57
REFERÊNCIAS BIBLIOGRÁFICAS[Goldreich, 1999] Godreich, Oded. Introduction to Complexity Theory - Lectures
Notes. Israel: Weizmann Institute of Science.
[Hájek & Pudlák, 1998] Hájek, Petr & Pudlák, Pavel. Metamathematics of First-Order
Arithmetic. Italy: Springer-Verlag.
[Hilbert & Bernays, 1968] Hilbert, David & Bernays, Paul. Grundlagen der Mathematik.
Berlin: Springer-Verlag, 2a edição
[Hopcroft, Motwani & Ullman, 2007] Hopcroft, John E., Motwani, Rajeev & Ullman, Je¤rey
D. Introdução à Teoria de Autômatos, Linguagens e Com-
putação.Brasil: Editora Campus
[Kaye, 1991] Kaye, Richard. Models of Peano Arithmetic. Volume 15 of Ox-
ford Logic Guides. Oxford: Clarendon Press
[Kleene, 1952] Kleene, Stephen Cole. Introduction to Metamathematics.
Amsterdam: North-Holland Publishing Co.
[Kleene, 1967] Kleene, Stephen Cole. Mathematical Logic. New York: Dover
Publications, Inc.
[Krajiµcek, 1994] Krajíµcek, Jan & Pudlák, Pavel. Some Consequences of Cryp-
tographical Conjectures. Lecture Notes in Computer Science,
volume 960, pgs. 210-220.
[Krajíµcek, 1995] Krajíµcek, Jan. Bounded Arithmetic, Propositional Logic and
Complexity Theory. USA: Cambridge University Press
[Kreisel, 1958] Kreisel, G. Mathematical Signi�cance of Consistency Proofs.
The Journal of Symbolic Logic, 23(2): 155-182.
[Lewis & Papadimitriou, 1998] Lewis, Harry R. & Papadimitriou, Christos H. Elements of the
Theory of Computation. New Jersey: Prentice-Hall
[Marker, 2002] Marker, David. Model Theory: An Introduction. USA:
Springer-Verlag
58
REFERÊNCIAS BIBLIOGRÁFICAS[Mendelson, 1964] Mendelson, Elliot. Introduction to Mathematical Logic. New
York: D. Van Nostrand Company, Inc.
[Papadimitriou, 1994] Papadimitriou, Christos H. Computacional Complexity. USA:
Addison-Wesley Publishing Company, Inc.
[Pohlers, 1989] Pohlers, W. Proof Theory: an Introduction. Lectures Notes in
Mathematics 1407. USA: Springer-Verlag
[Sipser, 2006] Sipser, Michael. Introduction to the Theory of Computation.
Massachusetts: Thomson, 2a edição
[Smale, 1998] Smale, Steve. Mathematical Problems for the Next Century.
Mathint: The Mathematical Intelligencer, 20.
[Sureson, 1995] Sureson, Claude. NP 6= co � NP and Models of Arithmetic.
Theoretical Computer Science, 147, pgs. 55-67. Elsevier
[Sureson, 1996] Sureson, Claude. P;NP;Co�NP and Weak Systems of Arith-
metic. Theoretical Computer Science, 154, pgs. 145-163. Else-
vier
59