Pergunta: Existem textos introdutórios na linguagem formal ou na teoria da linguagem de programação que discutam como aplicá-la ao estudo da notação ideal?
Em particular, estou interessado em aprender o que são linguagens de pilha, árvores de análise e índices e como prever quando um determinado tipo de notação levará a redundância exponencial.
Basicamente, não tenho formação em linguagem formal / gramática ou teoria de programação, pois, como especialista em matemática, a única ciência da computação que aprendi foram algoritmos e teoria de grafos, bem como smidgens muito modestas da teoria da complexidade e das funções booleanas. Assim, se os únicos livros que discutem isso não forem introdutórios, eu ficaria grato pelas respostas que listam esses livros que discutem a explosão de notação exponencial, bem como livros introdutórios que se preparam para os livros que abordam diretamente minha pergunta.
Contexto: Esta pergunta é inspirada principalmente por uma resposta no Physics.SE , que diz que:
É muito fácil provar (rigorosamente) que não há notação entre parênteses que reproduz contrações no índice tensorial, porque os parênteses são analisados por uma linguagem de pilha (gramática livre de contexto na classificação de Chomsky) enquanto os índices não podem ser analisados dessa maneira, porque incluem gráficos. Os parênteses geram árvores de análise e você sempre tem muitas árvores máximas exponencialmente em qualquer gráfico, portanto, existe uma redundância exponencial na notação.
Em todo o restante da resposta, outros exemplos de "explosão de notação exponencial" são discutidos, por exemplo, com redes de Petri em biologia computacional.
Há também outros casos em que a notação matemática é difícil de analisar, por exemplo, como mencionado aqui, quando funções e funções aplicadas ao argumento não são distinguidas claramente. Isso pode se tornar especialmente confuso quando a função se torna o argumento e o argumento se torna a função, por exemplo, aqui .