pós-graduação em ciência da computação · universidade federal de pernambuco centro de...

68
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 SILVA EMMANUEL FELIX LOPES DA SILVA EMMANUEL FELIX LOPES DA SILVA EMMANUEL FELIX LOPES DA SILVA Tese de Doutorado Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao RECIFE, JUNHO/2008

Upload: others

Post on 17-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

[email protected]

www.cin.ufpe.br/~posgraduacao

RECIFE, JUNHO/2008

Page 2: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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.

Page 3: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 4: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva
Page 5: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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.

Page 6: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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.

Page 7: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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.

Page 8: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

Ao meu pai, in memoriam

Page 9: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

�A Matemática é a rainha da Ciências e a Aritmética é a rainha da Matemática�

Carl Friedrich Gauss

Page 10: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 11: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 12: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 13: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 14: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 15: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 16: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 17: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 18: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 19: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 20: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 21: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 22: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 23: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 24: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 25: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 26: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 27: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 28: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 29: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 30: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 31: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 32: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 33: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 34: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 35: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 36: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 37: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 38: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 39: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 40: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 41: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 42: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 43: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 44: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 45: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 46: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 47: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 48: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 49: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 50: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 51: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 52: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 53: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 54: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 55: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 56: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 57: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 58: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 59: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 60: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 61: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 62: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 63: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 64: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 65: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 66: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 67: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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

Page 68: Pós-Graduação em Ciência da Computação · Universidade Federal de Pernambuco CENTRO DE INFORMÁTICA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Emmanuel Felix Lopes da Silva

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