Lucid - A Formal System for Writing and Proving Programs
暂无分享,去创建一个
Lucid is both a programming language and a formal system for proving properties of Lucid programs. The programming language is unconventional in many ways, although programs are readily understood as using assignment statements and loops in a “structured” fashion. Semantically, an assignment statement is really an equation between “histories”, and a whole program is simply an unordered set of such equations.From these equations, properties of the program can be derived by straightforward mathematical reasoning, using the Lucid formal system. The rules of this system are mainly those of first order logic, together with extra axioms and rules for the special Lucid functions.This paper formally describes the syntax and semantics of programs, and justifies the axioms and rules of the formal system.
[1] Zohar Manna,et al. Introduction to mathematical theory of computation , 1972 .
[2] R. Milner. Models of LCF. , 1973 .
[3] William W. Wadge,et al. Lucid, a nonprocedural language with iteration , 1977, CACM.
[4] Rod M. Burstall,et al. Program Proving as Hand Simulation with a Little Induction , 1974, IFIP Congress.