A theoretical basis for stepwise refinement and the programming calculus
Science of Computer Programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information and Computation - Semantics of Data Types
A calculus of refinements for program derivations
Acta Informatica
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Computation and reasoning: a type theory for computer science
Computation and reasoning: a type theory for computer science
A Discipline of Programming
Proof of Imperative Programs in Type Theory
TYPES '98 Selected papers from the International Workshop on Types for Proofs and Programs
Winskel is (Almost) Right: Towards a Mechanized Semantics Textbook
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Functional Procedures in Higher-Order Logic
Functional Procedures in Higher-Order Logic
Syntax-Directed Amorphous Slicing
Automated Software Engineering
Pigs from sausages? Reengineering from assembler to C via FermaT transformations
Science of Computer Programming - Special issue on program transformation
Modelling general recursion in type theory
Mathematical Structures in Computer Science
Hi-index | 0.00 |
This paper describes a formalization of the weakest precondition, wp, for general recursive programs using the type-theoretical proof assistant Coq. The formalization is a deep embedding using the computational power intrinsic to type theory. Since Coq accepts only structural recursive functions, the computational embedding of general recursive programs is non-trivial. To justify the embedding, an operational semantics is defined and the equivalence between wp and the operational semantics is proved. Three major healthiness conditions, namely: Strictness, Monotonicity and Conjunctivity are proved as well.