Algorithmic Completeness of Imperative Programming Languages - Archive ouverte HAL
Article Dans Une Revue Fundamenta Informaticae Année : 2019

Algorithmic Completeness of Imperative Programming Languages

Résumé

According to the Church-Turing Thesis, effectively calculable functions are functions computable by a Turing machine. Models that compute these functions are called Turing-complete. For example, we know that common imperative languages (such as C, Ada or P ython) are Turing complete (up to unbounded memory). Algorithmic completeness is a stronger notion than Turing-completeness. It focuses not only on the input-output behavior of the computation but more importantly on the step-by-step behavior. Moreover, the issue is not limited to partial recursive functions, it applies to any set of functions. A model could compute all the desired functions, but some algorithms (ways to compute these functions) could be missing (see [10, 27] for examples related to primitive recursive algorithms). This paper's purpose is to prove that common imperative languages are not only Turing-complete but also algorithmically complete, by using the axiomatic definition of the Gurevich's Thesis and a fair bisimulation between the Abstract State Machines of Gurevich (defined in [16]) and a version of Jones' While programs. No special knowledge is assumed, because all relevant material will be explained from scratch.
Fichier principal
Vignette du fichier
Marquer.pdf (367.83 Ko) Télécharger le fichier
Origine Fichiers éditeurs autorisés sur une archive ouverte
Loading...

Dates et versions

hal-02524486 , version 1 (03-04-2020)

Identifiants

Citer

Yoann Marquer. Algorithmic Completeness of Imperative Programming Languages. Fundamenta Informaticae, 2019, 168 (1), pp.51 - 77. ⟨10.3233/FI-2019-1824⟩. ⟨hal-02524486⟩

Collections

LACL UPEC ANR
95 Consultations
267 Téléchargements

Altmetric

Partager

More