Publication | Closed Access
Lucid—A Formal System for Writing and Proving Programs
106
Citations
0
References
1976
Year
EngineeringVerificationSoftware SystemsAutomated ProofSoftware AnalysisFormal VerificationFormal TechniqueFormal SystemProgram DerivationProgramming LanguagesFormal LogicFormal SpecificationLucid ProgramsLucid Formal SystemComputer ScienceProgram AnalysisAutomated ReasoningLucid—a Formal SystemFormal MethodsMathematical Foundations
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.