En general, cuando se usan las matemáticas para estudiar algo de X , primero se necesita un modelo de X , y luego se desarrolla una teoría, un conjunto de resultados sobre ese modelo. Supongo que la teoría puede decirse que es una "base teórica" de X . Ahora establezca X = cálculo. Existen muchos modelos de computación, muchos de los cuales implican "estado". Cada modelo tiene su propia "teoría" y a veces es posible "traducir" entre modelos. Creo que es difícil decir qué modelo es más "básico" --- simplemente están diseñados con diferentes objetivos en mente.
Las máquinas de Turing fueron diseñadas para definir qué es computable . Por lo tanto, son un buen modelo si te importa si existe un algoritmo para un problema determinado. A veces se abusa de este modelo para estudiar la eficiencia de los algoritmos o la dureza de los problemas, con el pretexto de que es lo suficientemente bueno, al menos si solo te interesan los polinomios / no polinomios. El modelo RAM está más cerca de una computadora real y, por lo tanto, es mejor si desea un análisis preciso de un algoritmo. Para poner límites inferiores a la dureza de los problemas, es mejor nouse un modelo que se parezca demasiado a las computadoras de hoy porque desea cubrir una amplia gama de computadoras posibles, sin dejar de ser más preciso que solo polinomio / no polinomio. En este contexto, vi, por ejemplo, el modelo de sonda celular utilizado.
Si le importa la corrección , entonces otros modelos son útiles. Aquí tienes semántica operativa (que diría que es el análogo del cálculo lambda para cálculos completos), semántica axiomática (desarrollada en 1969 por Hoare basada en las afirmaciones inductivas de Floyd de 1967, que Knuth popularizó en The Art of Computer Programming , tomo 1), y otros.
Para resumir, creo que buscas modelos de cálculo. Hay muchos de estos modelos, desarrollados con varios objetivos en mente, y muchos tienen estado, por lo que corresponden a la programación imperativa. Si desea saber si se puede calcular algo, mire las máquinas de Turing. Si le importa la eficiencia, mire los modelos RAM. Si le importa la corrección, observe los modelos que terminan en "semántica", como la semántica operativa.
Finalmente, permítanme mencionar que hay un gran libro en línea solo sobre Modelos de Computación de John Savage. Se trata principalmente de eficiencia. Para la parte de corrección, le recomiendo que comience con los trabajos clásicos de Floyd (1967) , Hoare (1969) , Dijkstra (1975) y Plotkin (1981) . Todos son geniales.