Contas com infinitesimais...

Análise não-standard (“NSA”) — ultrafiltros, complicada (bem conhecida)

Análise semi-standard (“SSA”) – filtros, mais simples (?)

Contas em SSA podem ser traduzidas para contas standard O processo inverso dessa tradução (em standard ← SSA ←... —

quem é o “...”?) nos leva a uma linguagem muito interessante, em que temos uma espécie de isomorfismo de Curry-Howard.

Curry-Howard → categorias: essa linguagem dá uma notação bastante boa pra topoi;

Outras semânticas: parece que essa linguagem com infinitesimais corresponde a um fragmento de Lógica Linear.

Introdução rapidíssima à Análise Não-Standard (NSA)

Um dos objetivos da NSA é nos permitir falar de infinitesimais. Como? Idéia ingênua: infinitesimais vão ser representados por seqüências

de reais tendendo a zero.

Universo standard: Set. Universo não-standard: Set^{ℕ}. Cada cara α de Set pode ser levado numa seqüência constante

(α, α, α, …).

Existe uma cópia do universo standard dentro do universo nãostandard. Os caras da cópia também são chamados de standard.

Correção da idéia ingênua: queremos identificar certas seqüências. Duas seqüências (α_{1}, α_{2}, …) e (β_{1}, β_{2}, …) são identificadas se

elas coincidem em “quase todo ponto”. Melhor: num “conjunto grande” de pontos, onde os “conjuntos grandes” são, por definição, os que pertencem ao “conjunto dos conjuntos grandes”, F.

Se sabemos F sabemos a relação de equivalência.

Para que “(α_{n}) ∼ (β_{n}) ⇔ (α_{n}) e (β_{n}) coincidem num conjunto grande” seja realmente uma relação de equivalência precisamos que F seja um filtro:

• um conjunto maior que um conjunto grande também é grande,

• a interseção de dois conjuntos grandes é grande,

• o “tudo” (ℕ) é grande. E para que a relação de equivalência não identifique todo mundo,

queremos:

• o “vazio” não é grande.

Definições: um conjunto é pequeno se ele o complemento dele é grande; um conjunto é médio se ele não é nem pequeno nem grande.

Um exemplo: os subconjuntos finitos de ℕ são pequenos. Os cofinitos são grandes. Os outros (exemplo, o conjunto dos pares) são médios. Vamos chamar esse filtro de N.

Tome ϵ = (1, 1/2, 1/3, …). Interprete ϵ < 1/3: dá uma seqüência de valores de verdade,

(Ⅎ, Ⅎ, Ⅎ, ⊤, ⊤, ⊤, ⊤, …), que está na mesma classe de equivalência que o ⊤, i.e., o (⊤, ⊤, ⊤, ⊤, …); ϵ < 1/3 é “verdade” sob o ponto de vista desse filtro: (ϵ < 1/3)_{/N} = ⊤.

(ϵ ≠ 0)_{/N} = ⊤ (|ϵ| < r)_{/N} = ⊤ para qualquer r real standard maior que zero. Ôba.

Problema: em (Set^{ℕ})_{/N} (que vamos chamar de Set^{N}) temos mais de dois valores de verdade: (⊤, Ⅎ, ⊤, Ⅎ, …) não é equivalente nem a (⊤, ⊤, ⊤, …) nem a (Ⅎ, Ⅎ, Ⅎ, …), já que só coincide com cada um deles num conjunto médio.

Uma conserto pra isso: ao invés de usar N use um filtro que obedeça as condições acima e divida todo mundo em grandes e pequenos, sem médios. (Um filtro sem médios é chamado de “ultrafiltro”).

Generalização: Ao invés de ℕ como conjunto-índice, 𝕀 (qualquer). F um filtro sobre 𝕀. U ultrafiltro sobre 𝕀. Abuso de linguagem: vamos continuar usando a terminologia e a

notação de seqüências mesmo quando ao invés de ℕ tivermos um 𝕀 qualquer.

Nomes: Set^{F} é um (ou “o”) universo semi-standard. Set^{U} é um (ou “o”) universo não-standard.

Ultrafiltros são esquisitos e anti-intuitivos; não dá pra pegar explicitamente um ultrafiltro não-trivial, i.e., em que Set^{U} tenha mais gente que Set. Argh.

Truque: podermos fazer contas com infinitesimais em Set^{F}.

Em Set^{U} temos o teorema da transferência, em Set^{F} temos algo mais fraco...

Set  Set^{ℕ}

0  (0, 0, 0, ...)
π  (π, π, π, ...)
sen  (sen, sen, sen, ...)
ϵ  (1, 1/2, 1/3, ...)
f  (f_{1}, f_{2}, f_{3}, ...)
f(x, y)  (f_{1}(x_{1}, y_{1}), f_{2}(x_{2}, y_{2}), ...)
⊤  (⊤, ⊤, ⊤, ...)
Ⅎ  (Ⅎ, Ⅎ, Ⅎ, ...)
|ϵ|<1/10 (|1|<1/10, |1/2|<1/10, |1/3|<1/10, ...)

Dá pra “transferir” as duas sentenças abaixo:

∀x ∈ ℝ | sen x| ≤ 1

∀x, y, z, n ∈ ℕ (x, y, z ≥ 1) ∧ (n ≥ 2) ⇒ (x^{n} + y^{n} ≠ z^{n})

Expressões sem variáveis livres, com todos os quantificadores limitados, com todas as constantes standard, retornando um valor de verdade...

são verdadeiras em Set^{U} se e só se elas são verdadeiras em Set! Em Set^{U} os quantificadores quantificam sobre muito mais gente.

Problema: a sentença que diz que a união de quaisquer dois conjuntos A e B existe,

∀A ∀B ∃C ∀x x ∈ C ⇔ (x ∈ A) ∨ (x ∈ B),

não está numa forma em que possamos mostrar que ela vale em Set^{U} aplicando o teorema da transferência nela em Set. Ela é verdade em Set^{U} por outros motivos. Mais sobre isso no final.

SSA, NSA e continuidade

Em toda essa página f, x_{0} são standard, f : X → Y, x_{0} ∈ X. “p.i.p.” = “ponto infinitamente próximo”.

Outro exemplo de filtro: 𝕀 = ℝ, F = vizinhanças do 0. Outro: as “vizinhanças furadas” do 0 em ℝ.

Teorema chave:

(i) f contínua em x_{0} ⇔ (ii) f leva todo p.i.p. de x_{0} num p.i.p. de f(x_{0}) (∀𝕀, ∀F) ⇔ (iii) f leva o p.i.p. de x_{0} natural, x_{1}, num p.i.p. de f(x_{0})

⇔ (iv) f leva todo p.i.p. de x_{0} num p.i.p. de f(x_{0}) (∀𝕀, ∀U; versão NSA do (ii))

Definições: x_{1} está infitamente próximo de x_{0} ⇔ ∀V viz standard de x_{0} temos (x_{1} ∈ V)_{/F} = ⊤. x_{1} é o p.i.p. de x_{0} natural ⇔ x_{1} é a identidade 𝕀 → X, 𝕀 = X, F é o filtro das vizinhanças

de x_{0}.

Obs: (x_{1} ∈ V)_{/F} = ⊤ para toda vizinhança standard V de x_{0}...

Demonstração do teorema chave:

(i) ⇒ (ii): f(x_{1}) é um p.i.p. de f(x_{0}) ⇔ ∀V vizinhança standard de f(x_{0}) temos (f(x_{1}) ∈ V)_{/F} = ⊤ mas f(x_{1}) ∈ V é verdadeiro exatamente na imagem inversa de V

por f, que é uma vizinhança de x_{0} já que f é contínua. (i) ⇒ (iii): caso particular de (i) ⇒ (ii). ¬(i) ⇒ ¬(iii): Se f não é contínua então existe uma vizinhança V de f(x_{0}) cuja

imagem inversa por f, f^{−1}(V), não é uma vizinhança de x_{0}.

f(x_{1}) ∈ V é verdade exatamente em f^{−1}(V), que não é uma vizinhança de x_{0}, e portanto (f(x_{1}) ∈ V)_{/F} ≠ ⊤.

¬(i) ⇒ ¬(ii): use o p.i.p. natural como contra-exemplo (recicle ¬(i) ⇒ ¬(iii))

Limites: lim_{x→x_{0}} f(x) = a ⇔ f leva o p.i.p. natural de x_{0} (agora usando vizinhanças fura-

das) num p.i.p. de a.

Exemplo: queremos ver que lim_{n→∞}(1 + \frac{x}{n})^{n} = e^{x}. Troque n por ω = (1, 2, 3, …) e veja que a diferença entre (1+\frac{x}{ω})^{ω}

e e^{x} é um infinitesimal.

Obs: ω é um “ponto infinitamente próximo do infinito” em ℕ com as definições adequadas (𝕀 = ℕ, F = { A ∈ ℕ | A cofinito })

log(1 + \frac{x}{ω})^{ω} = ω log(1 + \frac{x}{ω})
= ω (log 1 + ((log′ 1) + o_{1}) \frac{x}{ω})
= ω (0 + (1 + o_{1}) \frac{x}{ω})
= ω (1 + o_{1}) \frac{x}{ω}
= (1 + o_{1}) x

(1 + \frac{x}{ω})^{ω} = e^{((1+o_{1}) x)}
= e^{(x+o_{1}x)}
= e^{(x+o_{2})}
= e^{x} + o_{3}.

∀ω p.i.p. ∞ em ℕ ∃o_{1} p.i.p. 0 em ℝ... ∀o_{1} p.i.p. 0 em ℝ ∃o_{2} p.i.p. 0 em ℝ... ∀o_{2} p.i.p. 0 em ℝ ∃o_{3} p.i.p. 0 em ℝ...

Passagem para standard: ω = ω(𝕚) (identidade) o_{1} = o_{1}(𝕚) o_{2} = o_{2}(𝕚) o_{3} = o_{3}(𝕚) lim_{𝕚→∞}ω(𝕚) = ∞ lim_{𝕚→∞}o_{1}(𝕚) = 0 lim_{𝕚→∞}o_{2}(𝕚) = 0 lim_{𝕚→∞}o_{3}(𝕚) = 0 \frac{d}{dx} ∫_{y=0}^{y=a(x)} f(x, y) dy, versão 1 (grande e feia)

F (x) := ∫_{y=0}^{y=a(x)} f(x, y) dy
F (x + ϵ) = ∫_{y=0}^{y=a(x+ϵ)} f(x + ϵ, y) dy
= ∫_{y=0}^{y=a(x)} f(x + ϵ, y) dy + ∫_{y=a(x)}^{y=a(x+ϵ)} f(x + ϵ, y) dy
= ∫_{y=0}^{y=a(x)} f(x, y) + (f_{x}(x, y) + o_{1}(y))ϵ dy

+ ∫_{y=a(x)}^{y=a(x+ϵ)} f(x, a(x)) + o_{2}(y) dy

= ∫_{y=0}^{y=a(x)} f(x, y) dy + (∫_{y=0}^{y=a(x)} f_{x}(x, y) dy + o_{3}) ϵ

+ (a′(x) + o_{4})(f(x, a(x)) + o_{5})ϵ

= ∫_{y=0}^{y=a(x)} f(x, y) dy + ( ∫_{y=0}^{y=a(x)} f_{x}(x, y) dy

+a′(x)f(x, a(x)))ϵ + o_{6}ϵ

F′(x) = ∫_{y=0}^{y=a(x)} f_{x}(x, y) dy + a′(x)f(x, a(x)) + o_{6}
F′(x) = ∫_{y=0}^{y=a(x)} f_{x}(x, y) dy + a′(x)f(x, a(x))

\frac{d}{dx} ∫_{y=0}^{y=a(x)} f(x, y) dy, versão 2 (maior e mais feia) Mesma coisa, só que com ϵ, o_{1}, o_{2}, o_{3}, o_{4}, o_{5} e o_{6} dependendo

também de 𝕚 (repare que o_{1} e o_{2} já dependem de y)

\frac{d}{dx} ∫_{y=0}^{y=a_{0}}f(x, y) dy, versão 3 (bem mais curta)

F (x) := ∫_{y=0}^{y=a_{0}}f(x, y) dy
F_{1} = ∫_{y=0}^{y=a_{1}}f_{1} dy
= ∫_{y=0}^{y=a_{0}}f_{1} dy + ∫_{y=a_{0}}^{y=a_{1}}f_{1} dy
= ∫_{y=0}^{y=a_{0}}f_{0} + (f_{x0} + o_{1})ϵ dy

+ ∫_{y=a_{0}}^{y=a_{1}}f(x, a_{0}) + o_{2} dy

= ∫_{y=0}^{y=a_{0}}f_{0} dy + (∫_{y=0}^{y=a_{0}}f_{x0} dy + o_{3}) ϵ

+ (a_{x0} + o_{4})(f(x, a_{0}) + o_{5})ϵ

= ∫_{y=0}^{y=a_{0}}f_{0} dy + ( ∫_{y=0}^{y=a_{0}}f_{x0} dy

+a_{x0}f(x, a_{0}))ϵ + o_{6}ϵ

F′(x) = ∫_{y=0}^{y=a_{0}}f_{x0} dy + a_{x0}f(x, a_{0}) + o_{6}
F′(x) = ∫_{y=0}^{y=a_{0}}f_{x}(x, y) dy + a′(x)f(x, a(x))

Dicionário:

x_{0} = x x_{1} = x + ϵ f_{0} = f(x_{0}, y) f_{1} = f(x_{1}, y) f_{x0} = f_{x}(x_{0}, y) f_{x1} = f_{x}(x_{1}, y) a_{0} = a(x_{0}) a_{1} = a(x_{1}) a_{x0} = a′(x_{0}) a_{x1} = a′(x_{1}) ϵ = ϵ(𝕚)

o_{1} = o_{1}(y, 𝕚) o_{2} = o_{2}(y, 𝕚) o_{3} = o_{3}(𝕚) o_{4} = o_{4}(𝕚) o_{5} = o_{5}(𝕚) o_{6} = o_{6}(𝕚)

Idéia (!!!): na maior parte dos problemas que queremos resolver com infinitesimais há muito poucos objetos naturais de cada “tipo”.

Muitas das definições do dicionário são óbvias. Deve ser possível formalizar uma linguagem em que as contas

curtas fazem sentido e as definições do dicionário aparecem automaticamente.

Exemplo: temos uma função f : X → Y e uma g : Y → Z; X é o “espaço dos x”, E_{x}, Y é o “espaço dos ys”, etc; f é uma função que leva ‘x’zes em ‘y’s, i.e., f é de tipo x → y; f é um ponto do espaço de funções E_{x→y}.

x_{0} e x_{1} são pontos de E_{x}. Pense em x_{0} standard e x_{1} infinitamente próximo de x_{0}.

\begin{aligned}\begin{aligned}x_{0} & x → y \\ & y_{0} \end{aligned} & & y → z \\ & z_{0} \end{aligned}  \begin{matrix}\begin{matrix}x_{0} & f \\ f(x_{0}) \end{matrix} & g \\ g(f(x_{0})) \end{matrix}

\begin{aligned}\begin{aligned}x_{1} & x → y \\ & y_{1} \end{aligned} & & y → z \\ & z_{1} \end{aligned}  \begin{matrix}\begin{matrix}x_{1} & f \\ f(x_{1}) \end{matrix} & g \\ g(f(x_{1})) \end{matrix}

E mais: dx := x_{1} − x_{0}, ou x_{1} := x_{0} + dx; idem para y e z. Agora \frac{dy}{dx} faz sentido (se dx ≠ 0 em quase todo 𝕚). Se f é derivável, \frac{dy}{dx} = y_{x} + o = f′(x_{0}) + o (y_{x} = f′(x_{0}) é

standard)

Exemplo sério 1: “cálculo até uma certa precisão”.

Fixe um infinitesimal ϵ. Um ⟨0⟩x é uma soma x_{0} + o, onde x_{0} é um standard e o é um

infinitesimal.

Um ⟨4⟩x é uma soma x_{0} + x_{1}ϵ + x_{2}ϵ^{2} + x_{3}ϵ^{3} + (x^{4} + o)ϵ^{4}, onde os x_{i} são standard e o o é um infinitesimal.

Nem todo hiperreal é um ⟨4⟩x (contra-exemplos fáceis: \sqrt{ϵ} e ω = (1, 2, 3, …)) mas os que são tem decomposição única em x_{0} + x_{1}ϵ + x_{2}ϵ^{2} + x_{3}ϵ^{3} + (x^{4} + o)ϵ^{4}.

Se x → y é suave o suficiente (C^{4}),

\begin{matrix}⟨4⟩x & x → y \\ ⟨4⟩y \end{matrix}

e não precisamos escrever as fórmula explícitas que dão os y_{i} a partir dos x_{i} e das derivadas y_{x}, y_{xx}, y_{xxx}, ...

⟨4⟩x e ⟨4⟩y podem ser tomados como classes de equivalência.

Exemplo sério 2: teorema da função inversa.

\begin{aligned}x_{0} & x → y \\ & y → x \end{aligned}

Dois corolários: forma local das imersões (t → x, y é a imersão, e t → x é inversível), e o teorema da função implícita (x, y → f, e queremos a x → y que se mantenha sobre a curva de nível f = f_{0}, onde f_{0} = f(x_{0}, y_{0})).

\begin{matrix}\begin{aligned}t & {t→x∧y \atop t→x} \\ & x→t \end{aligned} ; TFI & t→x∧y \\ x→y \end{matrix} \begin{aligned}\begin{aligned}x∧y & x∧y→f \\ & f \end{aligned} & \begin{matrix}x∧y & x∧y→f \\ f→(x→y) \end{matrix} TFI \\ & x→y \end{aligned}

As duas deduções acima em forma normal:

\begin{matrix}\begin{aligned}[x]^{2} & \begin{aligned}t & \begin{aligned}[t]^{1} & t→x∧y \\ & x∧y \end{aligned} ; x ; t→x ; 1 \\ & x→t \end{aligned} ; TFI \\ & t \end{aligned} & t→x∧y \\ x∧y \end{matrix} ; y ; x→y ; 2

\begin{aligned}\begin{aligned}x∧y & x∧y→f \\ & f \end{aligned} & \begin{aligned}{x∧y \atop y} & \begin{aligned}\begin{matrix}[x]^{2} & [y]^{1} \\ x∧y \end{matrix} & & x∧y→f \\ & f \end{aligned} ; y→f ; 1 \\ & f→y \end{aligned} ; TFI \\ & y \end{aligned} ; x→y ; 2

00feb24 (typeset 2000mar03 06:13) edrx@mat.puc-rio.br

Exemplo sério 3: derivadas Regras:

{x → y \atop x → y_{x}}  \begin{aligned}x_{0} & x → y \\ & y_{x0} \end{aligned}

Como obter z a partir de x, x→y e x, y→z:

\begin{aligned}x & \begin{aligned}x & x → y \\ & y \end{aligned} & x, y → z \\ & z \end{aligned}

Dois jeitos de derivar esse z com relação a x:

\frac{∂}{∂x}z : \begin{aligned}x & \begin{aligned}[x]^{1} & \begin{aligned}x & x → y \\ & y \end{aligned} & x, y → z \\ & z \end{aligned} ; x → z ; 1 ; x → z_{x} \\ & z_{x} \end{aligned}

\frac{d}{dx}z : \begin{aligned}x & \begin{aligned}[x]^{1} & \begin{aligned}[x]^{1} & x → y \\ & y \end{aligned} & x, y → z \\ & z \end{aligned} ; x → z ; 1 ; x → z_{x} \\ & z_{x} \end{aligned}

\frac{d}{dx} \frac{∂}{∂x}z, usando semi-descargas:

\begin{aligned}((x)^{1})^{2} & \begin{aligned}(x)^{2} & x → y \\ & y \end{aligned} & x, y → z \\ & z \end{aligned} ; z_{x} ; 1 ; z_{xx} ; 2

00feb24 (typeset 2000mar03 06:13) edrx@mat.puc-rio.br

Notas:

As páginas anteriores são exatamente (módulo correções mínimas) as transparências que eu usei na minha apresentação no encontro de lógica da UFF, em 24 de fevereiro de 2000; esta página é uma espécie de “README” para quem só tiver acesso às transparências, e foram escritas alguns dias depois.

Resuminho da apresentação: eu introduzo rapidamente a análise não-standard (“NSA”) e uma versão dela com filtros no lugar de ultrafiltros (“análise semistandard”, ou “SSA”). A SSA tem uma lógica menos familiar que a NSA (mais de dois valores de verdade) e não tem um teorema de transferência tão bom quanto o da NSA, mas SSA não só é suficiente para fazer contas com infinitesimais como contas em SSA admitem uma tradução bem fácil para standard.

Nessa tradução SSA→standard todos os objetos não-standard passam a ser funções de uma variável que varia sobre o conjunto-índice. Se tentamos ir na direção contrária e ao invés de deixar explícitas dependências em variáveis novas nós omitimos todas as dependências “óbvias” nós chegamos a uma linguagem curta bem interessante, que sugere um sistema de dedução natural para infinitesimais.

Coisas que eu menciono rapidamente mas que ainda não tenho nenhuma boa versão escrita: notação curta para categorias, em especial para topoi; outra interpretação para os tipos e as regras que aparecem nas árvores da dedução natural com infinitesimais, inspirada na ”Geometry of Interaction” do Girard, que é uma semântica para lógica linear em espaços de Banach.

Observações: 1) as contas das páginas 6, 7 e 8 foram usadas só pra fazer umas mímicas rápidas sobre como os infinitesimais viram funções na tradução para standard; 2) quando eu digo que “NSA é complicada” e “SSA é simples”, por exemplo na página 1, é no sentido de que se sabemos que algo é verdade em NSA (i.e., num Set^{𝕀}_{/U}) só sabemos que esse algo é verdade num conjunto grande de índices, e não temos muita intuição sobre o que isso queira dizer; em SSA podemos ter intuições melhores. Por exemplo, se usamos o filtro dos cofinitos sobre os naturais então algo que é verdade é verdade para todo índice 𝕚 suficientemente grande em qualquer representante do hipervalor de verdade.

3) No fim da página 4 eu digo que Set^{U} tem uniões de conjuntos por “outros motivos” que eu iria contar no final mas acabei não contando; pra mim o grande motivo (não o mais elementar, mas o mais interessante) é que os Set^{𝕀}, Set^{U} e Set^{F} são topoi quando são definidos da forma certa.

Eduardo Ochs, 27 de fevereiro de 2000.

   edrx@inx.com.br
   http://angg.twu.net/
   http://www.mat.puc-rio.br/~ edrx/