p-ádicos — Parte 1: números que vão pra esquerda


Esse é o primeiro de uma série de posts sobre os números p-ádicos. A ideia surgiu enquanto eu estudava clustering hierárquico e ultramétricas para alguns problemas de dados — em algum momento o caminho cruza inevitavelmente com os p-ádicos, e eu sempre tinha esse tópico na cabeça como “algo bonito que eu queria entender direito um dia”. Esse é o “dia”.

A trilha completa — oito posts e seis brincadeiras interativas — vive em p-adics.lucas.mat.br. As brincadeiras ficam todas lá (são pequenas demos em JavaScript), e os textos saem aqui no blog, um por vez. Se você quiser pular direto para a animação que acompanha esse post, ela está em a mesma série em dois universos.

Vamos por uma porta que parece um truque de mágica.

Um mistério mecânico

Na aritmética que aprendemos na escola, os “vai um” se propagam para a esquerda. Considere a conta:

9999+1=0000.\ldots 9999 + 1 = \ldots 0000.

Cada coluna faz 9+1=109 + 1 = 10: escreve 0, leva 1 para a próxima coluna. O “vai um” continua rolando para a esquerda e nunca chega num fim — não há um fim. O resultado é uma cauda infinita de zeros, que mecanicamente é 0.

Mas se aceitamos a igualdade 9999+1=0\ldots 9999 + 1 = 0, somos forçados a concluir:

9999=1.\ldots 9999 = -1.

A mesma brincadeira funciona em base 2:

1111+1=00001111=1.\ldots 1111 + 1 = \ldots 0000 \quad\Longrightarrow\quad \ldots 1111 = -1.

E aí mora um detalhe gostoso: a sequência 1111\ldots 1111 em base 2 é literalmente a soma 1+2+4+8+1 + 2 + 4 + 8 + \cdots. Ou seja, estamos olhando para um lugar onde aquela série geométrica que “diverge para ++\infty” no sentido usual, na verdade converge — para 1-1.

Não é um truque de notação. É a regra de jogo de outra geometria que mora exatamente sobre os mesmos números racionais.

Strings infinitas pela esquerda como um anel

Fixe uma base b2b \ge 2 (por enquanto sem exigir que seja prima). Defina o conjunto

Zbesq={(,a3,a2,a1,a0):ai{0,1,,b1}}.\mathbb{Z}_b^{\text{esq}} = \big\{\, (\ldots, a_3, a_2, a_1, a_0) \,:\, a_i \in \{0, 1, \dots, b-1\}\,\big\}.

Cada elemento é uma string infinita de dígitos que se estende para a esquerda. Somamos e multiplicamos elemento a elemento pelo algoritmo da escola — propagando carries para a esquerda. Está tudo bem definido: cada dígito do resultado cnc_n depende só dos dígitos a0,,ana_0, \dots, a_n e b0,,bnb_0, \dots, b_n de entrada. A aritmética é local: para saber um dígito da resposta, basta olhar um pedaço finito da entrada.

Uma outra forma de ver o mesmo objeto, mais limpa para quem prefere álgebra: um inteiro bb-ádico é a mesma coisa que um sistema compatível de restos. Defina xnx_n como o número formado pelos nn dígitos mais à direita, lido em base bb. Então xnxn+1(modbn)x_n \equiv x_{n+1} \pmod{b^n}, e cada string corresponde a uma única sequência desses restos. Formalmente,

Zbesq    limnZ/bnZ.\mathbb{Z}_b^{\text{esq}} \;\cong\; \varprojlim_n \mathbb{Z}/b^n\mathbb{Z}.

Esse limite inverso é a definição que aparece nos livros, e vale a pena carregar mentalmente: um inteiro p-ádico é “uma forma coerente de conhecer um número módulo cada potência de pp”.

Algumas contas concretas

Algumas expansões na base 10:

  • 1=9999-1 = \ldots 9999.
  • 7=99993-7 = \ldots 99993 (verifica: 99993+7=00000\ldots 99993 + 7 = \ldots 00000).
  • 100=99900-100 = \ldots 99900.

Em base 3: 1=2222-1 = \ldots 2222. Em base 7: 1=6666-1 = \ldots 6666. Em qualquer base bb, a string (b1)(b1)(b1)\ldots (b{-}1)(b{-}1)(b{-}1) é igual a 1-1, porque b1+1=bb{-}1 + 1 = b gera exatamente o carry eterno.

Racionais também aparecem: 1/31/3 em Z10\mathbb{Z}_{10}

Queremos xx com 3x=13x = 1 em Z10esq\mathbb{Z}_{10}^{\text{esq}}. Resolvemos módulo 10n10^n subindo nn e vamos lendo os dígitos:

nnequaçãosoluçãodígito
13x1(mod10)3x \equiv 1 \pmod{10}x=7x = 7a0=7a_0 = 7
23x1(mod100)3x \equiv 1 \pmod{100}x=67x = 67a1=6a_1 = 6
33x1(mod1000)3x \equiv 1 \pmod{1000}x=667x = 667a2=6a_2 = 6
43x1(mod10000)3x \equiv 1 \pmod{10000}x=6667x = 6667a3=6a_3 = 6

O padrão é claro:   1/3=666667  \;1/3 = \ldots 666 667\; em Z10\mathbb{Z}_{10}.

Confere fazendo a conta: 366k seises7=210k+1+13 \cdot \underbrace{6\cdots 6}_{k\text{ seises}}7 = 2 \cdot 10^{k+1} + 1, que é 1(mod10k+1)\equiv 1 \pmod{10^{k+1}}.

Coincidência bonita: 1/71/7 em Z10\mathbb{Z}_{10}

Aplicando o mesmo procedimento ao 1/71/7:

17=857142857142857143em Z10.\tfrac{1}{7} = \ldots 857\,142\,857\,142\,857\,143 \quad \text{em } \mathbb{Z}_{10}.

O mesmo bloco 142857 que aparece na expansão decimal real 1/7=0,1428571/7 = 0{,}\overline{142857}\ldots reaparece aqui, espelhado e deslocado para a esquerda. A razão é simples: 7142857=999999=10617 \cdot 142857 = 999999 = 10^6 - 1, então em Z10\mathbb{Z}_{10} temos 71428571(mod106)7 \cdot 142857 \equiv -1 \pmod{10^6}, logo 7(142857)17 \cdot (-142857) \equiv 1, e 142857(mod106)=857143-142857 \pmod{10^6} = 857143. O período da dízima decimal e o período da expansão 10-ádica são o mesmo fato aritmético visto por dois lados.

Quais racionais funcionam?

Qualquer a/ba/b com gcd(b,10)=1\gcd(b, 10) = 1 tem representação em Z10\mathbb{Z}_{10}. Em compensação, 1/21/2 e 1/51/5 não estão em Z10\mathbb{Z}_{10} — eles estarão na completação Q10\mathbb{Q}_{10}, mas isso é assunto do próximo post.

Por que a base precisa ser prima: o bug do 10

Se Z10esq\mathbb{Z}_{10}^{\text{esq}} é tão simpático, por que todo livro insiste em base prima? Tem um bug.

Afirmação. Existem e,fZ10esqe, f \in \mathbb{Z}_{10}^{\text{esq}}, ambos não nulos, com ef=0e \cdot f = 0.

A construção é direta: vamos achar um idempotente e0,1e \ne 0, 1 tal que e2=ee^2 = e. Daí e(1e)=ee2=0e(1 - e) = e - e^2 = 0 com ambos fatores não nulos.

Sobe-se passo a passo. Queremos ee2(mod10n)e \equiv e^2 \pmod{10^n} para todo nn.

nnrestriçãodígitoe(mod10n)e \pmod{10^n}
1e2e(mod10)e^2 \equiv e \pmod{10}, e0,1e \ne 0,1a0=5a_0 = 55
2levantamento p/ mod 100a1=2a_1 = 225
3levantamento p/ mod 1000a2=6a_2 = 6625
4levantamento p/ mod 10000a3=0a_3 = 00625
5levantamento p/ mod 100000a4=9a_4 = 990625

E continua para sempre. Os dois idempotentes não triviais em Z10\mathbb{Z}_{10} são

e=871090625ef=1e=128909376.e = \ldots 8\,7\,1\,0\,9\,0\,6\,2\,5 \qquad\text{e}\qquad f = 1 - e = \ldots 1\,2\,8\,9\,0\,9\,3\,7\,6.

Verifique na ponta do lápis se quiser: 906252=821289062590625^2 = 8\,212\,890\,625, cujos últimos cinco dígitos são 9062590625. O idempotente sobrevive sob elevação ao quadrado.

E aí vem o golpe: ef=e(1e)=ee2=0e \cdot f = e \cdot (1 - e) = e - e^2 = 0, com ee e ff ambos não nulos (terminam em 5 e em 6).

Verifique módulo 10510^5: 90625×9376=84970000090625 \times 9376 = 849\,700\,000, cujos últimos cinco dígitos são 0000000000. Isso é o que ”ef=0e \cdot f = 0 em Z10\mathbb{Z}_{10}” significa concretamente.

Por que isso acontece em base 10 e não em base pp prima

A resposta limpa: Teorema Chinês dos Restos. Como 10=2510 = 2 \cdot 5 se fatora em dois primos distintos,

Z10esq    Z2×Z5.\mathbb{Z}_{10}^{\text{esq}} \;\cong\; \mathbb{Z}_2 \times \mathbb{Z}_5.

Ou seja, Z10\mathbb{Z}_{10} é literalmente um produto de dois anéis. E todo produto tem idempotentes não triviais — os elementos (1,0)(1, 0) e (0,1)(0, 1) — que são não nulos mas se multiplicam em zero. O idempotente e=90625e = \ldots 90625 corresponde a (0,1)(0, 1) em Z2×Z5\mathbb{Z}_2 \times \mathbb{Z}_5: é “zero como 2-ádico, mas 11 como 5-ádico”.

Quando a base é um primo pp, esse produto degenera num único fator e o problema desaparece. Zp\mathbb{Z}_p é um domínio (de fato um anel de valoração discreta, mas esse vocabulário a gente pega depois). Base prima = sem fatoração via TCR = sem zero divisores = espaço limpo pra fazer análise.

A partir daqui fixamos um primo pp e escrevemos Zp\mathbb{Z}_p.

A geometria que cai do colo: o valor absoluto p-ádico

Agora que temos Zp\mathbb{Z}_p, olhamos pra ele e perguntamos: quais elementos parecem “pequenos”?

Um inteiro p-ádico x=i0aipix = \sum_{i \ge 0} a_i p^i é divisível por pkp^k exatamente quando seus kk primeiros dígitos (à direita) são zero. Definimos a valoração p-ádica:

vp(x)=min{i:ai0},vp(0)=+.v_p(x) = \min\{\, i \,:\, a_i \ne 0 \,\}, \qquad v_p(0) = +\infty.

“Pequeno” deve significar “divisível por uma potência alta de pp”, então:

xp  =  pvp(x).|x|_p \;=\; p^{-v_p(x)}.

A base pp no expoente é convencional, mas tem motivo: ela faz xyp=xpyp|xy|_p = |x|_p \cdot |y|_p valer (porque vp(xy)=vp(x)+vp(y)v_p(xy) = v_p(x) + v_p(y)).

Concretamente:

  • pp=1/p|p|_p = 1/p — o próprio pp é pequeno.
  • pkp=pk|p^k|_p = p^{-k} — potências altas de pp são muito pequenas.
  • 1p=1|1|_p = 1, up=1|u|_p = 1 para qualquer unidade uu (i.e., a00a_0 \ne 0).
  • 1/pp=p|1/p|_p = p — e essa é a primeira pista de que precisamos de Qp\mathbb{Q}_p, não só Zp\mathbb{Z}_p, pra ter p|\cdot|_p definido num corpo.

A propriedade essencial — a que torna toda a geometria p-ádica esquisita e arborescente — é a desigualdade triangular forte:

x+yp    max(xp,yp).|x + y|_p \;\le\; \max(|x|_p, |y|_p).

Isso é mais forte que x+yx+y|x + y| \le |x| + |y|. A demonstração é direta: o primeiro dígito não nulo da soma está pelo menos tão à esquerda quanto o primeiro de cada parcela.

As consequências dessa desigualdade são absurdas (todo triângulo é isóceles, todo ponto de uma bola é centro, o espaço é totalmente desconexo) — e vão ser o assunto do post 03.

A virada: o teorema de Ostrowski

A gente construiu uma nova forma de medir tamanho em Q\mathbb{Q}: p|\cdot|_p, uma para cada primo pp. Junto com |\cdot|_\infty (a do colégio), existem outras? Escondidas, patológicas, “valores absolutos” estranhos?

Teorema de Ostrowski (1916). Todo valor absoluto não-trivial em Q\mathbb{Q} é equivalente a |\cdot|_\infty ou a p|\cdot|_p para algum primo pp.

Pronto, a história está fechada. Os únicos jeitos de medir tamanho em Q\mathbb{Q}, a menos de equivalência, são o real comum e um por primo. Os p|\cdot|_p não são objetos exóticos — eles são exatamente metade de todas as noções possíveis de tamanho nos racionais.

(Equivalência aqui significa 1=2α|\cdot|_1 = |\cdot|_2^\alpha para algum α>0\alpha > 0; dois valores absolutos equivalentes definem a mesma topologia, as mesmas sequências de Cauchy, e portanto a mesma completação.)

A demonstração tem umas duas páginas e cabe num bom exercício de cabeça. Vou deixar pro estudo aprofundado — não cabe num post de introdução.

A foto que isso prepara

O próximo post completa Q\mathbb{Q} em relação a cada um desses valores absolutos:

  • Completando com |\cdot|_\infty a gente obtém R\mathbb{R}.
  • Completando com p|\cdot|_p a gente obtém Qp\mathbb{Q}_p.

Ou seja, Q\mathbb{Q} não tem uma completação — tem uma infinidade contável delas, indexadas pelos primos mais "\infty". Essa é a foto adélica, e ela é a razão pela qual a teoria dos números trata primos e \infty em pé de igualdade.

Pra continuar

A brincadeira interativa que acompanha esse post está em a mesma série em dois universos. Ela mostra exatamente o que esse post argumenta no parágrafo do início: 1+2+4+8+1 + 2 + 4 + 8 + \cdots marchando para ++\infty na reta real e, ao mesmo tempo, convergindo para 1-1 na vizinhança 2-ádica — com troca de primo pp para você ver que o fenômeno é geral.

No próximo post (parte 2) a gente faz o salto formal: sequências de Cauchy em p|\cdot|_p, série geométrica como bom comportamento, e Zp\mathbb{Z}_p como bola unitária fechada — completando Q\mathbb{Q} pelo outro lado.

Críticas, correções, sugestões: LinkedIn.