In this paper, we address program development by multiple different programmers (or programming teams), each working in different settings (programming languages or reasoning frameworks), but following a common specification; in particular, we examine at an abstract level the problem of translatability between their produced programs. To this end, after consideration of some philosophical issues regarding program development, including its similarities and dissimilarities with scientific theorising, we extend a logical framework built to describe scientific theorising in relativist settings: our extensions add the ability of reasoning about programs, the iterative process of their generation, and their specifications. We are thus able to define a notion of translation between the outputs of program generators and prove that there is a (trivial) such translation when two program generators follow the same specification reliably (in a specific sense of reliability).
翻译:在本文中,我们讨论由多个不同的程序员(或编程团队)制定方案的问题,每个程序设计员(或编程团队)在不同的环境下工作(方案语言或推理框架),但遵循共同的规格;特别是,我们抽象地研究其制作的方案之间的可转换性问题。为此,在考虑了与方案开发有关的一些哲学问题,包括其与科学理论的相似和不同之处之后,我们扩大了一个逻辑框架,以描述相对论环境中的科学理论化:我们的扩展增加了程序推理能力、其生成的迭接过程及其规格。 因此,我们能够界定程序生成者产出之间的翻译概念,并证明当两个方案生成者遵循同一规格(具体意义上的可靠性)时,存在(三重)这种翻译。