Em geral, quando a matemática é usada para estudar um pouco de X , primeiro é necessário um modelo de X e depois se desenvolve uma teoria, um conjunto de resultados sobre esse modelo. Eu acho que a teoria pode ser dito ser uma "base teórica" para X . Agora defina X = computação. Existem muitos modelos de computação, muitos envolvendo "estado". Cada modelo tem sua própria "teoria" e, às vezes, é possível "traduzir" entre os modelos. Acredito que seja difícil dizer qual modelo é mais "básico" - eles são simplesmente projetados com objetivos diferentes em mente.
Máquinas de Turing foram projetadas para definir o que é computável . Portanto, eles formam um bom modelo se você se importa se existe um algoritmo para um determinado problema. Às vezes, esse modelo é abusado para estudar a eficiência de algoritmos ou a dureza de problemas, sob o pretexto de que é bom o suficiente, pelo menos se você se importa apenas com polinômio / não polinomial. O modelo de RAM está mais próximo de um computador real e, portanto, melhor se você deseja uma análise precisa de um algoritmo. Para colocar limites mais baixos na dureza dos problemas, é melhor nãouse um modelo que se assemelhe demais aos computadores atuais, porque você deseja abranger uma ampla variedade de computadores possíveis, além de ser mais preciso do que apenas polinomial / não polinomial. Nesse contexto, vi, por exemplo, o modelo de célula-sonda utilizado.
Se você se preocupa com a correção , ainda outros modelos são úteis. Aqui você tem semântica operacional (que eu diria que é o análogo do cálculo lambda para cálculos estaduais completos), semântica axiomática (desenvolvida em 1969 por Hoare com base nas afirmações indutivas de Floyd de 1967, popularizadas por Knuth em The Art of Computer Programming , volume 1) e outros.
Para resumir, acho que você está atrás de modelos de computação. Existem muitos desses modelos, desenvolvidos com vários objetivos em mente, e muitos têm estado, portanto correspondem à programação imperativa. Se você quiser saber se algo pode ser calculado, consulte as máquinas de Turing. Se você se preocupa com a eficiência, consulte os modelos de RAM. Se você se preocupa com a correção, consulte modelos que terminam em "semântica", como semântica operacional.
Finalmente, deixe-me mencionar que há um grande livro on-line apenas sobre Modelos de Computação, de John Savage. É principalmente sobre eficiência. Para a parte correta, recomendo que você comece com os artigos clássicos de Floyd (1967) , Hoare (1969) , Dijkstra (1975) e Plotkin (1981) . Eles são todos bem legais.