En général, lorsque les mathématiques sont utilisées pour étudier un X , il faut d’abord un modèle de X , puis développer une théorie, un ensemble de résultats concernant ce modèle. Je suppose que la théorie peut être considérée comme une « base théorique » pour X . Définissez maintenant X = calcul. Il existe de nombreux modèles de calcul, beaucoup impliquant "l'état". Chaque modèle a sa propre "théorie" et il est parfois possible de "traduire" entre les modèles. Je crois qu'il est difficile de dire quel modèle est le plus "basique" - ils sont simplement conçus avec des objectifs différents.
Les machines de Turing ont été conçues pour définir ce qui est calculable . Donc, ils font un bon modèle si vous vous souciez de savoir s'il existe un algorithme pour un certain problème. On abuse parfois de ce modèle pour étudier l' efficacité d'algorithmes ou la dureté des problèmes, sous prétexte qu'il est suffisant, du moins si vous vous souciez uniquement de polynôme / non-polynôme. Le modèle de RAM est plus proche d'un ordinateur réel et donc mieux si vous voulez une analyse précise d'un algorithme. Pour minimiser la dureté des problèmes, il vaut mieux ne pasUtilisez un modèle qui ressemble trop aux ordinateurs d'aujourd'hui, car vous souhaitez couvrir un large éventail d'ordinateurs possibles, tout en restant plus précis que les systèmes polynomiaux / non polynomiaux. Dans ce contexte, j'ai vu par exemple le modèle de sonde cellulaire utilisé.
Si vous vous souciez de l' exactitude , d'autres modèles sont encore utiles. Ici, vous avez la sémantique opérationnelle (qui serait l'analogue du lambda calcul pour les calculs étatiques), la sémantique axiomatique (développée en 1969 par Hoare sur la base des assertions inductives de Floyd de 1967, popularisées par Knuth dans The Art of Computer Programming , volume 1) et autres.
Pour résumer, je pense que vous recherchez des modèles de calcul. Il existe de nombreux modèles de ce type, développés avec des objectifs variés, et beaucoup ont un état, ils correspondent donc à une programmation impérative. Si vous voulez savoir si quelque chose peut être calculé, examinez les machines de Turing. Si vous vous souciez de l'efficacité, regardez les modèles de RAM. Si vous vous souciez de l'exactitude, regardez les modèles qui se terminent par une "sémantique", telle que la sémantique opérationnelle.
Enfin, permettez-moi de mentionner qu’il existe un grand livre en ligne uniquement sur Models of Computation de John Savage. C'est surtout une question d'efficacité. Pour la partie concernant l'exactitude, je vous recommande de commencer par les articles classiques de Floyd (1967) , Hoare (1969) , Dijkstra (1975) et Plotkin (1981) . Ils sont tous plutôt cool.