In generale, quando la matematica viene utilizzata per studiare alcuni X , si ha prima bisogno di un modello di X , quindi si sviluppa una teoria, un insieme di risultati su quel modello. Credo che la teoria può dire di essere un "base teorica" per X . Ora imposta X = calcolo. Esistono molti modelli di calcolo, molti dei quali implicano "stato". Ogni modello ha la sua "teoria" ed è talvolta possibile "tradurre" tra modelli. Credo che sia difficile dire quale modello sia più "di base" --- sono semplicemente progettati con diversi obiettivi in mente.
Le macchine di Turing sono state progettate per definire ciò che è calcolabile . Quindi fanno un buon modello se ti preoccupi se esiste un algoritmo per un certo problema. Questo modello viene talvolta abusato per studiare l' efficienza degli algoritmi o la durezza dei problemi, con il pretesto che è abbastanza buono, almeno se ti interessa solo il polinomio / non polinomio. Il modello RAM è più vicino a un vero computer e quindi migliore se si desidera un'analisi precisa di un algoritmo. Per porre limiti inferiori alla durezza dei problemi è meglio non farlousa un modello che assomigli troppo ai computer di oggi perché vuoi coprire una vasta gamma di computer possibili, pur essendo più preciso di un semplice polinomio / non polinomiale. In questo contesto, ho visto ad esempio il modello di sonda cellulare utilizzato.
Se ti preoccupi della correttezza , allora sono ancora utili altri modelli. Qui hai la semantica operativa (che direi sia l'analogo del calcolo lambda per i calcoli con stato), la semantica assiomatica (sviluppata nel 1969 da Hoare sulla base delle affermazioni induttive di Floyd del 1967, che sono rese popolari da Knuth in The Art of Computer Programming , volume 1) e altri.
Per riassumere, penso che tu stia cercando modelli di calcolo. Esistono molti di questi modelli, sviluppati con vari obiettivi in mente e molti hanno uno stato, quindi corrispondono alla programmazione imperativa. Se vuoi sapere se qualcosa può essere calcolato, dai un'occhiata alle macchine di Turing. Se ti interessa l'efficienza, guarda i modelli RAM. Se ti interessa la correttezza, guarda i modelli che terminano con la "semantica", come la semantica operativa.
Infine, lasciatemi ricordare che esiste un grande libro online solo sui Modelli di calcolo di John Savage. Si tratta principalmente di efficienza. Per la parte della correttezza, ti consiglio di iniziare con i classici documenti di Floyd (1967) , Hoare (1969) , Dijkstra (1975) e Plotkin (1981) . Sono tutti piuttosto fighi.