A notação como ferramenta de pensamento: Iverson
Em 1962, o canadense Kenneth Iverson, que tinha sido professor em Harvard e então trabalhava na IBM, publicou um livro chamado A Programming Language. Apesar do título, era um livro de notação matemática: um jeito de escrever algoritmos de forma concisa e precisa, com símbolos novos para operações sobre listas e tabelas inteiras de números. Poucos anos depois, a própria IBM transformou essa notação numa linguagem que um computador podia executar, e ela ganhou o nome do livro: APL.
O piso, o teto e o colchete
Alguns sinais de Iverson saíram do APL e entraram na matemática comum. O mais conhecido é o par piso e teto:
$$\lfloor x \rfloor = \text{o maior inteiro} \le x, \qquad \lceil x \rceil = \text{o menor inteiro} \ge x.$$Antes dele, escrevia-se $[x]$ ou “parte inteira de $x$”, e não havia sinal para o teto. Com os dois, contas que pediam vários casos ficam numa linha só: o número de múltiplos de $7$ entre $1$ e $100$ é $\lfloor 100/7 \rfloor = 14$.
Outro sinal, o colchete de Iverson, transforma uma afirmação em número:
$$[P] = \begin{cases} 1, & \text{se } P \text{ é verdadeira,} \\ 0, & \text{se } P \text{ é falsa.} \end{cases}$$Com ele, “conte os números pares de $1$ a $n$” vira uma soma comum, $\sum_{k=1}^{n} [k \text{ é par}]$, e a soma pode ser manipulada com as regras de sempre. Donald Knuth, em 1992, defendeu o colchete num artigo chamado Two notes on notation e o usou em todo o livro Concrete Mathematics, escrito com Ronald Graham e Oren Patashnik. O delta de Kronecker do texto anterior é só um caso particular: $\delta_{ij} = [i = j]$.
As cinco qualidades
Em 1979, Iverson recebeu o Prêmio Turing, o mais alto da computação, e deu uma palestra cujo título virou bordão: Notation as a tool of thought, “A notação como ferramenta de pensamento”. Nela, listou cinco qualidades de uma boa notação:
- Facilidade de expressar as ideias que aparecem nos problemas.
- Sugestividade: a forma da escrita sugere passos e generalizações.
- Subordinação dos detalhes: o que não importa fica escondido.
- Economia: poucos sinais, combinados de muitas maneiras.
- Docilidade às provas: a escrita se presta a demonstrações formais.
É a mesma ideia que este livro chama de notação ativa, dita por alguém que passou a vida desenhando uma. O APL levou isso ao extremo: programas inteiros cabiam numa linha, escritos com um teclado especial cheio de símbolos gregos e matemáticos. Para quem o dominava, era uma ferramenta de pensamento extraordinária; para os outros, parecia escrita cifrada. Ninguém conseguiu provar que uma notação mais densa é sempre melhor.
A importância da nomenclatura, da notação e da linguagem como ferramentas do pensamento há muito é reconhecida.
— Kenneth Iverson, Notation as a Tool of Thought (1980)
Exercício: contar com colchetes
Calcule $\sum_{k=1}^{30} [3 \mid k]$, em que $3 \mid k$ quer dizer “3 divide $k$”, e confira com o piso.
A soma vale $1$ para $k = 3, 6, 9, \ldots, 30$ e $0$ para os demais: são $10$ parcelas iguais a $1$. Pelo piso, $\lfloor 30/3 \rfloor = 10$. Em geral, $\sum_{k=1}^{n} [d \mid k] = \lfloor n/d \rfloor$, e a igualdade mostra os dois sinais de Iverson conversando.
Exercício: piso e teto
Calcule $\lfloor 2{,}7 \rfloor$, $\lceil 2{,}7 \rceil$, $\lfloor -2{,}7 \rfloor$ e $\lceil -2{,}7 \rceil$.
$\lfloor 2{,}7 \rfloor = 2$, $\lceil 2{,}7 \rceil = 3$, $\lfloor -2{,}7 \rfloor = -3$ e $\lceil -2{,}7 \rceil = -2$. Os dois últimos mostram por que “parte inteira” era um nome ambíguo: para números negativos, “cortar as casas decimais” dá $-2$, que é o teto, não o piso. A notação de Iverson obriga a dizer qual dos dois se quer.
Índice do capítulo · ← Convenções de tribo: Einstein, Bourbaki e o leitor iniciado · O igual que manda: x = x + 1 e as linguagens de programação →